Write the confirmed shots and start frames as bounded, generatable, directly copyable 剧集/<EP>/视频提示词.md.
Use MOTION-... as the title for each shot and cite the corresponding SHOT-...。
Quick Start
用 $short-drama-video-prompts 把 EP001 分镜逐镜写成可直接复制的视频提示词
Entry and Boundaries
Having the current storyboard, frozen keyframes, and necessary visual facts is enough to check reference readiness; an image prompt is not proof that an image exists. The motion prompt owns the change from the confirmed start point to the end point: performance actions, prop states, camera movement, rhythm, and sound cues. First choose the path according to the storyboard's "Input Reference Image":
- When there is a readable real
REF-...image, it isimage-to-video; carry over the slots, order, project-relative paths, Chinese names, purposes, controls, and non-control scope from the storyboard as-is; static identity, styling, location, and composition can be jointly owned by the reference frame and visual settings. This line is this shot's asset list: the path answers "which one to send",用途answers "what it is responsible for in this shot", and顺序answers "what label it is called in the copyable body". Slots that cannot answer these three questions are not ready. - Only when "Input Reference Image: None (the creator has explicitly chosen text-to-video)" is ittext-to-video; the video document must include a non-empty "Static Visual Anchor" and incorporate it as-is into the
copyable body, so that the prompt itself conveys the facts necessary for this shot among the characters, styling, location, composition, and lighting. Do not write only
preserve/keep/保持已有外观, because the execution end has not received any image to maintain. - When there is a
PLAN-...slot, it is likewiseimage-to-video: the image is attached by the creator at generation time, and this kit has no file to send. Write the body as image-to-video as usual;顺序is the order in which the creator attaches images, and用途explains what each one is responsible for in this shot. These shots cannot be converted to$short-drama-produce; to put them into production, first place the real files into the project and rewrite them asREF-...。 - "Input Reference Image: None (reference image to be added: ...)", existing
REF-...orPLAN-...still bearing "; reference image to be added: ...", or a plain "None" all meannot ready, not authorization for text-to-video. First automatically search for usable real images and ask the storyboard owner to refresh the binding; if there are still gaps, list the shots, missing images, and correspondingIMG-...or frozen keyframes, and do not write the final 《Video Prompts.md》.
Creator-readable descriptions follow the project language. Before starting, read the target model profile for the version, execution mode, prompt dialect, native duration, and
reference method; these choices simultaneously constrain the upstream storyboard and the downstream adapter, and cannot be guessed only at the body stage. If the creator names
the target model in this request (for example, "write according to MiniMax H3") and the project profile does not yet have this item, first switch to $short-drama to write this choice into
short-drama.json of production_profile, then return to this stage so that subsequent requests can reuse the dialect, native duration, and reference method.
For standalone tasks without a project configuration, write the named model and the resolved dialect at the beginning of the output 《视频提示词.md》 for downstream verification. The video's copyable body should preferentially follow
short-drama.json#/creator_authority/production_profile/choices/video_prompt_language; when not declared, fall back to
short-drama.json#/format/prompt_language. When there is no short-drama.json , confirm the body language based on the target video model named by the user; if the target model is also not declared, continue using the user's current language, and do not fix it to English. The spoken language for dialogue, VO, and OS is still determined by the script and voice direction, and cannot be inferred from the prompt body language.
When the target is seedance-2.0 , write according to Seedance 2.0 dialect , when the target is
seedance-2.5 , write according to Seedance 2.5 dialect , when the target is minimax-h3 , write according to
MiniMax H3 dialect , when the target is wan-3.0 , write according to Wan 3.0 dialect
. Read only the one that is hit. For other targets or versions, do not
apply the syntax of similar models; continue writing according to the general path of the target model capability profile .
Continue using the existing creator-first skeleton:## MOTION-... · 中文名, the field names are, in order, "Storyboard, Duration, Generation Method,
Input Reference Image, Static Visual Anchor, Start Frame, State Chain, End Point"; the body title uses ### 可复制提示词. The static visual anchor
follows the resolved video prompt language of this shot and enters the body verbatim; every non-empty line in the body is composed of > to form a Markdown blockquote.
The rewritten content must not be renamed, replaced with alternative fields, or changed into ordinary paragraphs.
When the person speaking in this shot must maintain their timbre and the target model accepts reference audio, add on the line below "输入参考图"
- 参考音频:REF-<slot>(顺序:<n>)· <音频路径>《<中文名称>》(用途:音色;角色:<人物名>;控制:<范围>;不得控制:<范围>),
and connect multiple entries with ; (VID-27). Copy the path exactly as the - 声音参考:registered for that person in 《视觉设定.md》; the character must speak in this shot's body the line
recorded under their name in 《剧本.md》, and if someone else also said the same line in this shot's source scene, name the speaker in the clause before the quotation;
不得控制 write at least 台词、语气、情绪(separate each item with a Chinese enumeration comma or comma, do not connect with "与"). The audio's 顺序 and images are numbered separately starting from 1, which are the ones in the body
@音频N、<Audio N> or 音频N. Audio does not go into "输入参考图", and the storyboard does not write this line either.
Workflow
-
First check each shot's "输入参考图". When the user has not manually named images, based on this shot's frozen keyframe and the consistency requirements for visible characters, locations, and key props, search the user input, "制作成果", and media already pointed to by the documents for real images. Bind automatically only after verifying content and purpose; do not guess images based on similar file names.
-
When matching images already exist, within the current request first have the storyboard owner refresh in place the affected shots'
REF-...slots, then return to this stage; bind only the images that this shot truly needs to preserve, and do not fill slots according to the number of assets. In the same refresh, if these shots are also missing the required field "视觉依据" (often absent in old documents), backfill it together according to the finalized frozen keyframes— both "视觉依据" and reference binding are based on the shot's frozen frame, and should be completed together in this refresh. New slots must verbatim useREF-<slot>(顺序:<n>)· <项目相对路径>《<中文名称>》(用途:<用途>;控制:<范围>;不得控制:<范围>);用途and take one of身份|造型状态|地理|构图|尺度|效果|起始帧|结束帧|风格, and must not invent a slash-separated notation. Connect multiple images only with;, and after writing, first read it back according to the format, then copy it into the video document. -
If there are still necessary images missing, and there is not a single one, write the storyboard as "None (reference images to be supplied: ...)"; if only some are missing, keep the verified
REF-..., and append at the end "; reference images to be supplied: ...". List the missing shots, image purposes, and the correspondingIMG-.../ freeze keyframes all at once, then stop before the video prompt. Do not fabricate paths, do not treat image prompts as images, and do not silently downgrade to text-to-video. When reporting gaps, state clearly all three paths the creator actually has; do not give only "generate reference images" and "switch to text-to-video": put existing images into the project and bind them asREF-...; have the creator generate images in their own tools, and for this round first write it asPLAN-...an image-attachment plan; or explicitly switch to text-to-video. The gap list itself is the draft of that image-attachment plan; write clearly shot by shot which images are needed and what each one governs. -
Only when the creator explicitly chooses not to use reference images should the storyboard be recorded as "None (the creator has explicitly chosen text-to-video)". After the reference images are ready, copy them verbatim into the storyboard's "Input Reference Image", and based on that indicate "Generation Method: image-to-video" or "Generation Method: text-to-video". This field contains only these two exact values; do not append model names, dialect, or explanations such as full-reference; keep model explanations in the body structure. Whether to use a start frame, start-and-end frames, or multi-slot references specifically is read from the combination of
用途in each slot: only one起始帧uses the start frame,起始帧plus结束帧uses start-and-end frames,起始帧when it coexists with character/location/prop images or when only these images exist, use multi-slot references. The matched model dialect is responsible for translating this combination into its own asset roles and body structure; for models where multi-slot references and start/end frames are mutually exclusive within the same request, the start frame also follows the whole group into multi-slot references, and is not split into two sets of inputs. -
Check that this shot's duration falls within the native range of the target model profile; if it is outside the range, go back to storyboard revision. Do not leave it to the adapter to report an error after the prompt is written, and do not secretly change the duration in the body. When there is dialogue, VO, or OS, also check the timing basis in the storyboard's "Sound" against the actually available vocal window; if the basis is missing, dialogue budget make the judgment accordingly. Correct addition of second segments does not mean the lines can be finished.
-
State clearly the state this shot must maintain: image-to-video is locked by the reference frame and visual settings; text-to-video writes the necessary static facts into the "Static Visual Anchor" and the copyable body.
-
Read the storyboard's "Start Point → Sole Action → End Point" verbatim, and confirm that the state transitions of the character, both hands, and held objects all occur within the shot.
-
Write "static anchor → start point → sole action (trigger, contact, landing point) → secondary reaction → camera movement → sound → end point"; write camera movement according to the storyboard's "Camera Movement" line, and segment by seconds when necessary; the next shot continues from this end point, without creating another off-screen transition.
-
Delete repeated descriptions only when the actual reference frame already explains the static appearance; the lock surfaces of the continuity lock in "Visual Settings.md" are not eligible for deletion.
-
Write the confirmed relationships that limit the action space as positive visible states running through this shot, and arrange only the action channels allowed by the relationships; write the change process only when the storyboard explicitly changes the relationship. Prefer visible states to explain boundaries, and keep explicit exclusion conditions when necessary.
-
Obligation to read text shot by shot. Unless the script or creator explicitly requires otherwise, the body text must directly state, using the video prompt language already parsed for this shot, that no non-diegetic subtitles, captions, or dialogue text overlays are generated at any time; it is not enough to write the abstract "text layer is empty"; this default is independent of diegetic text such as flags, signs, and screens. Diegetic
exact_readableWrite out verbatim the characters, language, carrier surface, and position; a globalno-textmay not be used to override. -
When sound is on the same track, write the permitted vocalizations as a complete timeline by source, speaker, spoken language, and order; each line runs from the first character to the last character of the source text, and verbatim dialogue appears only once in the copy-ready body text of a single shot. Visual action paragraphs reference that sound event only by time and speaker, and do not copy the lines again. Outside events, return to the declared ambient sound or silence. When the Brief, script, or sound direction has already explicitly prohibited foreign-language lead-ins, filler words, extra vocals, or repetition, merge theseconfirmed vocalization boundariesinto a single statement at the end of the complete timeline; do not rely on "only includes" to make the execution side guess, and do not expand new prohibited categories on your own. The timeline summary lists only the sound layers actually present in this shot. For shots with no dialogue, state clearly the bed sound or silence and its coverage interval; mouth movements are performed according to the script, and closed mouths are not enforced by default. Non-diegetic score is declared according to the target dialect, and is explicitly written as empty when needed.
-
When finalizing, check whether the actions, sound, and constraints are clear and compatible. Positive states help express the goal, and necessary negative conditions may be retained; do not judge errors by the number of negative sentences. Confirm that it does not cross into the next shot, does not require mutually exclusive actions, and does not cause characters or props to teleport or deform.
-
If the user wants the whole episode, complete the whole episode; the shot group is only an internal batch.
-
When adjacent formally generated segments are in the same continuous time-space and the target profile supports continuation, the default choice is "continue from the previous segment's generation result"; one generation per shot only determines that one shot is loaded each time, and does not mean each shot is independent text-to-video. Only when the creator explicitly requests independent regeneration, or when the upstream has already accepted a time/place jump, should the chain be restarted. Once continuation is chosen, this is the only formal execution route for that chain. From the second segment onward, it is bound simultaneously to the previous segment's actual videoand the actual tail frameobtained from that video: the video is responsible for action, pacing, and sound continuity, and the tail frame is responsible for the next segment's visible starting point. The specific asset role and continuation wording are determined by the matched model dialect, and generic responsibilities must not be translated directly into vendor fields. When the real artifacts have not been obtained, the subsequent segment is
视频提示词.mdmarked as "awaiting continuation, not submittable", stating the absence of these two real inputs and retaining the draft content for the next segment; it must not be downgraded to an independent text-to-video video, nor may planned tail frames, keyframe prompts, or textual descriptions be used to impersonate relay inputs. Shot by shot,MOTION-...remains the member boundary and content basis, not another submission scheme parallel to the formal container route.
Continuation also requires that the execution side be able to bind the above two real inputs. Currently, $short-drama-produce the creator-first source selector only
parses images and character reference audio, and cannot bind continuation video; when using this built-in production path, continuation segments remain "not submittable",
and preview only after the execution interface supports dual input. The source selector must not be omitted or switched to text-to-video to bypass this gap.
Prompt requirements
- Start from a visible starting point and end at a verifiable endpoint.
- The copy-ready body text fully implements the storyboard's "starting point → single action → endpoint"; handoffs, hand changes, and prop placement are not omitted across shots.
- The subject, action target, direction, amplitude, speed, and sequence are clear.
- Performance writing covers actions and reactions, not abstract results that cannot be executed.
- Camera movement and character action do not compete for attention; complex camera movement must have a narrative reason.
- Sound only specifies the dialogue, voice-over, ambience, or transition duties required for that shot, and does not add lyrics on its own.
- Non-diegetic subtitles, captions, and dialogue text overlays are not generated by default; the main text directly declares that these contents will not be generated at any moment in the entire shot, without replacing executable instructions with abstract workflow terminology. They are enabled only when the script or the creator explicitly requires it. Precise diegetic text is a separate permitted set; it does not disappear because subtitles are turned off, and unapproved text is not allowed to mix in.
- Dialogue/VO/OS on the same track simultaneously writes the verbatim text, spoken language, and vocal boundaries; do not add sound sources or duplicate restrictions that the source does not contain.
- Shots without dialogue also state the background sound or silence; the timeline summary is consistent with the actual sound layer. When H3 has no non-diegetic score, write
non_diegetic_music: N/A。 - In the main text, Chinese enclosed in quotation marks or
<d>must come verbatim from 《剧本.md》, and diegetic sign text may come from 《视觉设定.md》; the diegetic text and sound written by the storyboard itself also count.creator_markdown_check.pywill verify quotations of four or more characters (VID-25). If the lines are not in the script, go back to the writing skill to revise the script, and do not change them in the prompt. - Upstream continuous relationships are expressed through persistent states and permitted action channels, avoiding duplicate restrictions or conflicting actions.
- For the continuity locks hit by this shot, the lock surfaces appear as-is in the copyable main text; cross-shot invariant facts such as color, material, and form do not rely on model memory.
- The main text can be copied directly and contains no placeholders, process explanations, file paths, or QA conclusions.
Knowledge as Needed
By default, read only this SKILL, the current storyboard, and necessary visual facts. When encountering the corresponding issue, open only one:
- Stage boundaries and rule tiers:Stage Contract
- Minimal recipe for single-shot motion main text:Motion Recipe
- Explicit action syntax required for external execution:Production Prompt Syntax
- Multi-person performance, lip sync, and precise timing:Performance and Action Timing
- Camera movement, sound, and continuity between adjacent shots:Cinematography and Sound Continuity
- Action load, deformation, and generation risk:Generatability
- Capabilities of the target execution end such as duration, references, and same-track sound:Target Model Capability Profile
- Seedance 2.0's Chinese storyboard, asset, and sound syntax:Seedance 2.0 Dialect
- Seedance 2.5's long narrative, timestamps, and task type syntax:Seedance 2.5 Dialect
- MiniMax H3's structured main text, reference modes, and per-cut keyframe container:MiniMax H3 Dialect
- Wan 3.0's Chinese main text, asset numbering, and multi-shot time segments:Wan 3.0 Dialect
- Delivery methods for multi-shot containers or static comic dramas:Delivery Form
- Boundary checks before completion:Review and Examples
When the user explicitly requests timeline music, add a separate section to this document covering the usage intervals, plot function, entry/exit, dynamic curve, and prohibited items; lyrics must come from text provided or explicitly accepted by the user. Static motion comics that only need keyframe transitions and voiceover may skip the per-shot video motion prompts and go directly to the production preview.
Completion and Production
Completion is achieved when every named shot has a clear starting point, main change, timing, camera movement/sound boundaries, and a verifiable endpoint, and is continuous with adjacent shots. For actual generation, convert $short-drama-produce, first display the exact job and obtain explicit confirmation; this skill does not call external services. Once the five creation documents are complete, you may convert to $short-drama to perform a mechanical check of the cross-document structure; content quality is still reviewed by the creator.
Installation and Maintenance
Run only during installation, upgrade, or troubleshooting python3 scripts/selftest.py。