Topic-Based Hand-Drawn Video
Deliver a playable final video, cover, subtitles, voiceover script, and inspection record. Default to Simplified Chinese, 1920×1080, and 30fps; the user's language, dimensions, art style, voice, and reuse requirements take priority. Duration follows the content and actual voiceover; page count, layout, and seconds per page are not fixed.
Getting Started
First read Dependency Routing, then read the built-in guides as needed. They are production resources for this skill, are not installed separately, and do not take over the task on their own. The main content is designed through model reasoning, while the script only executes assets and a timeline that have already been determined.
First check whether a topic, story, body text, attachment, or explicit source is already available. Pause and request a topic or story only when all of these are missing. All other production preferences are optional and do not constitute blockers that require another approval.
- Explain cause and effect. Determine the audience, the problem to solve, the mechanism, necessary counterexamples, and the action to take. When adapting an article, read the full text and preserve its qualifiers, attribution, and source. Verify time-sensitive or disputed facts against primary sources. By default, assess whether “a common mistake in everyday life → concept → mechanism → action → conclusion” is appropriate; the user's specification takes priority, and when this structure is unsuitable, use the built-in directing method to plan the video. Record the assessment in ; see Creative Direction and Storyboarding.
- Offer options at the start. Based on the content, prepare a default production plan and then successively present the art style, arm or pen-only option, voice, pen-bar advertising, floating watermark, and subtitles. Reuse any options that have already been specified. Allow up to 60 seconds of waiting for each option; if it times out, save the default and continue to the next option without ending the conversation to wait for another turn. When the user explicitly delegates automatic completion, all options may be skipped. The art style must be presented with real previews and three complete options at the end. Write the selection to and the model's resolution to . Library matching, independent reasoning, and custom descriptions must not be mixed. Advertising and watermarks are disabled by default, and brands or attribution must not be invented.
- Prioritize the complete audio track. Complete the full voiceover script first, then generate the entire narration in one pass using the selected voice through the available local VoiceStudio or an already installed and explicitly configured VoxCPM2. An existing complete recording approved by the user may also be reused. Preserve natural breaths, semantic pauses, and sentence endings. Do not generate narration in slices based on visuals or subtitles, and do not insert fixed silence at image transitions. By default, deliver narration only and never automatically synthesize or mix in background music. Any necessary sound effect must have its narrative purpose explained and be bound to a specific line. Check the complete text, sentence endings, abnormally long pauses, and overall listening continuity before locking the narration master, then map word-level or sentence-level timestamps to the visuals and subtitles. The voice determines the pacing, and the visuals adapt to the voice. By default, prioritize the accepted lead voice () in the local personal voice directory, while an explicit user choice for the current task takes priority. The voice catalog retains only six presets: realistic male, realistic female, sweet female student, Iapetus, intellectual female instructor, and story narration. The realistic male voice uses the original reference from “The Snake That Died of Anger,” while the realistic female voice uses the voice currently extracted from “The Way Joy Imprisoned You.” Both provide samples from completed films, while the other four provide samples using the same script. Personal and task directories may only supplement references for these six voices; old names or other voices must not be added back to the selector. Synthetic samples must not be used to continue cloning and pass themselves off as voices from the original footage. When an original-footage voice is specified, first verify a same-script sample and a short source excerpt, then validate the complete narration. No background music does not mean that the narration is free of noise. See Audio and Dependencies for import and execution details. Services must not be purchased automatically, models must not be downloaded, the global engine must not be changed, and a silent video must not be delivered.
- Design drawable images. Every generated image, candidate, edit, cover, and new-hand asset must first pass through the built-in art direction. Library-matched styles must retain their complete recipes, while independent reasoning and custom styles may use only their respective style descriptions. Write and run the pre-generation check before writing the brief and prompt. For each illustration, specify the subject, body part, sequence, independent strokes, and outline strategy. Do not call image generation without an executable plan. For every image, list the corresponding source text and visible narrative facts in . Bites, breakages, contact, and the loss or acquisition of an object must be genuinely visible and cannot be represented only by a title or subtitle. Inspect each image and complete ; if an item fails, stop downstream construction. Create a representative frame first and verify the subject, contact, composition, and separability of body parts before extending the assets for the same video. Redesign for a new topic. For a revision of the current video or when the user explicitly requests reuse, retain images and audio that have already passed inspection. The cover's key visual may be generated by AI, while exact text must be composited as an editable layer. Apply the built-in privacy sanitization procedure to every generated image, remove simulated camera fields, and then inspect metadata and source properties.
- Divide the actual image by body part. Normally proceed with the head, neck, torso, left side of frame arm, right arm, lower body, and props; explain exceptions for special compositions. The model must inspect the image and label semantic regions while handling occlusion. Do not crudely divide a person into rectangular sections, and do not label an entire person or scene as one part. Record the reason for occluded parts that cannot be seen, and do not invent contours. Complete all outlines across the full image first, then fill colors in the same order. Strokes must be independent, with the pen lifted between strokes. Adjacent strokes must include a lift even when they share an endpoint, and disconnected lines must not be joined. Color may appear only within the area traversed by the brush. Isolate each glyph, and do not reveal a later glyph before the previous one is complete. Leave space based on the actual glyph boundaries, and inspect character feet, punctuation, and Latin descenders.
- Arrange the video and inspect a representative segment. First determine a square, legible, concise, and non-distracting subtitle treatment according to Subtitle and Ending Design. Select either no background or a light backing panel based on the image, and preserve any design already approved by the user. Keep the subtitle font independent from the handwritten body text, display subtitles by short spoken phrases, and inspect the closing treatment after the final phrase. By default, finish on the full image without leaving a prolonged blank frame. Do not fade out or cut the audio before the final character ends, and inspect the narration master's tail protection and the final video's silence limit according to Hard Constraints for Audio and Ending. Add any user-specified conclusion to the complete script before compositing. Then write the task according to Continuous Narration Convention and Runtime Contract. Build the visuals progressively around complete meanings, with complexity suitable for the actual narration duration. Use a fixed one-second cover: the first 0.5 seconds remain static, the next 0.5 seconds fade out, and only then do the main content and narration begin. First render a representative segment covering text, illustrations, coloring, subtitles, and transitions. Inspect the pen tip, arm, occlusion, reading duration, and audio-visual correspondence before rendering the full video.
- Inspect and deliver. Check the final files according to Quality Gates. Record engineering, visual, motion, content, and audio evidence separately, and fix the corresponding layer and re-render whenever a check fails. If the audio has not actually been listened to, explicitly state that the subjective listening experience has not been accepted. Do not describe decoding, ASR, file existence, or rule loading as a guarantee of the viewing experience. accepts only inspection records that match the current video. At delivery, explicitly state: “No background music is added by default; you can create a mix yourself or select a soundtrack on the publishing platform.”
Production builds and renders must reject invalid input when the complete narration and corresponding timestamps have not been locked, the default or selected art style has not been resolved, the pre-generation check is missing, body parts do not match, an entire person has been treated as a single part, outlines are missing, disconnected lines have been joined across blank space, or inspection records are outdated. The model must repair these issues and then continue; unselected preferences must not trigger this gate. Scripts may only verify structure, hashes, pixels, and paths. They cannot replace the model's visual review of the head and neck, occlusion, stroke intent, or art style quality.
All Image Generation Must First Pass Through Art Direction
Before every call to an image-generation or image-editing tool in this project, the model must fully read and apply
dependencies/sweety-image-art-direction/GUIDE.md
. This is the user's explicit authorization for the project and is not blocked by the guide's
rule when the guide is used independently. The requirement applies to the cover, body content, characters, props, new hands, candidate images, variants, local edits, and rework. It must not be skipped on the grounds that the change is merely an attempt, a reused style, or a small adjustment.
Before generating an image, write the brief for that image and the complete prompt actually used in the current run, and save them in the task directory. Register
and
in the art record, run
python scripts/art_direction.py bind-evidence <record-path>
to bind the content hashes, and only then call the image tool. Generating an image first and writing the guidance record afterward is prohibited. If the prompt or brief changes, redo the art direction, bind the evidence, and generate the image again. The same output image must not borrow an updated record to impersonate a new generation.
After generation, actually inspect the image and record the guidance version, sanitized image hash, visual conclusion, and evidence. If a record is missing, the brief or prompt is empty, a hash does not match, the visual inspection fails, or the image has been replaced, stop construction, rendering, and delivery.
only binds existing text; it does not fill in
or prove image quality. Previously accepted assets may retain their original records when reused byte-for-byte. Any edit requires new evidence for the current run.
Subtitle Uniqueness Is a Hard Delivery Gate
Only one subtitle may be displayed at any given moment for the same narration. Two subtitle systems must never be overlaid, whether they come from text baked into the image, subtitle events, an embedded MP4 subtitle track, a web
, or a subtitle file automatically loaded by the player. The default is white text with a thin black outline and no backing panel. The uniqueness requirement still applies when the user selects another treatment.
Recomposite only from subtitle-free assets and an independent subtitle layer. Never overlay a second subtitle layer on a completed video that already contains hard-coded subtitles. During construction and rendering, verify that cues and subtitle events correspond one-to-one, have consistent roles, and do not overlap in time. For delivery, verify that the MP4 contains no additional subtitle tracks and that its directory contains no SRT, ASS, VTT, or other subtitle files. Place editing subtitles only in
, and do not add subtitle tracks to the preview page. Finally, inspect long sentences, line changes, and the ending in the actually decoded frames. Any duplicate subtitle is a direct FAIL and must be corrected before delivery. Automatically enabled translation or live captions in third-party players must be disabled separately. Do not treat a display source that could not be reproduced as an identified cause.
Hands and Advertising
The six arm styles are
, a deep-blue-sleeved marker;
, fair skin with delicate crushed-diamond long nails;
, children's colored pencil;
, a calligraphy brush inspired by Shangguan Wan'er;
, a neutral pen with a white shirt cuff; and
, a fountain pen with a knit sleeve. There is also
, which uses only a drawing implement with no arm. The model chooses the default according to the content, and the anchors are located in
assets/hands/catalog.json
. Calibrate the arm's scale from the pen tip to the wrist and keep the cropped edge outside the frame. For
, calibrate against the complete pen body and do not apply the forearm rule.
adds advertising only to the pen barrel, supports at most 16 characters, and is empty by default. Preserve the user-provided text and inspect contrast and readability at normal size. If the text is too long or difficult to read, prioritize enlarging the available barrel layout or simplifying the design; do not arbitrarily change the advertising name. Custom skin, manicures, writing instruments, and sleeves must pass through the same art direction, privacy, and anchor checks. Crushed diamonds must not be replaced with large gemstones, and clear skin must not be traded for blurriness.
uses the user's original text, may contain line breaks, and is empty by default. Generate a low-opacity, slowly floating text watermark that remains within the frame and avoids the subtitles. See
Optional Production Settings for its parameters and checks.
Runtime and Boundaries
scripts/handdraw_video.py
provides
doctor / build / render / verify / finalize
. Read the runtime contract before invoking it. Store task data in an independent directory rather than the installation directory.
distinguishes the conditions for a new narration-generation service from offline compositing with existing audio. When required resources or capabilities are missing, report the specific blocker.
Quality comes first. Engineering gates verify execution order and completeness, but the model must still review semantic partitioning and design. Chinese characters are approximated through glyph outlines, and calligraphy stroke order is not guaranteed. Real handwriting naturalness, emotional impact, and learning effectiveness must be evaluated separately. Do not promise that every topic can be generated reliably in one pass. Do not publish additional videos, activate services, or change global model configuration.
Public hands, voice presets, and preview images use Hosted Assets. Download and verify them on first use, then reuse the cache. Original-footage recordings and the user's personal voice library remain local and must not enter public hosting.