Short Drama Video and Timeline Music Prompt
Write confirmed shots and start frames into a bounded, generatable, directly copyable
.
Each shot uses a
heading and references the corresponding
.
Quick Start
text
用 $short-drama-video-prompts 把 EP001 分镜逐镜写成可直接复制的视频提示词
Entry and Boundaries
As long as the current storyboard, frozen keyframes, and necessary visual facts are available, reference readiness can be checked; an image prompt is not proof that an image exists. A motion prompt owns the change from a confirmed start to an end state: performance action, prop state, camera movement, rhythm, and sound cues. First choose a path by the storyboard's “input reference image”:
- When there is a readable real image, it is image-to-video; carry over the slot, order, project-relative path, Chinese name, purpose, control scope, and do-not-control scope from the storyboard unchanged. Static identity, styling, location, and composition can be jointly owned by the reference frame and the visual setting. That line is the shot's asset manifest: the path answers “which image to send”, (purpose) answers “what it is responsible for in this shot”, and (order) answers “which tag it is called in the copyable body”. A slot that cannot answer these three questions is not ready.
- Only when “Input reference image: None (creator explicitly chose text-to-video)” is stated is it text-to-video; the video document must include a non-empty “static visual anchor” and carry it verbatim into the copyable body, so the prompt itself conveys the facts necessary for this shot about characters, styling, location, composition, and lighting. Do not only write , because the execution side has not received any image to preserve.
- When a slot exists, it is still image-to-video: the creator mounts the image themselves at generation time, and this kit has no file to send. The body is written normally as image-to-video; (order) is the order in which the creator mounts the images, and (purpose) explains what each image is responsible for in the shot. These shots cannot be handed to ; to put them into production, first place the real files into the project and rewrite them as .
- “Input reference image: None (to be supplemented: ...)”, an existing or still followed by “; to be supplemented: ...”, or a plain “None” all mean not ready, not a text-to-video authorization. First automatically search for available real images and ask the storyboard owner to refresh the bindings; if there are still gaps, list the shots, missing images, and corresponding or frozen keyframes, and do not write the final 《视频提示词.md》.
Creator-facing instructions follow the project language. Before starting, read the target model profile for version, execution mode, prompt dialect, native duration, and reference method; these choices constrain both upstream storyboards and downstream adapters and cannot be guessed temporarily at the body stage. If the creator names a target model in this request (for example, “write according to MiniMax H3”) but the project profile does not yet have this entry, first hand off to
to write this choice into
in
, then return to this stage; if a naming in one conversation does not land in the profile, the next round will fall back to the generic path and the dialect, native duration, and reference method must be guessed again. For a standalone task without project configuration, write the named model and the resolved dialect in one line at the top of this document for downstream verification. The copyable video body prefers to follow
short-drama.json#/creator_authority/production_profile/choices/video_prompt_language
; if not declared, fall back to
short-drama.json#/format/prompt_language
. If there is no
, determine the body language from the target video model named by the creator; if the target model is also not declared, use the creator's current language and do not default to English. The spoken language of dialogue, VO, and OS is still decided by the script and sound direction and cannot be inferred from the prompt body language.
When the target is
, write according to
Seedance 2.0 dialect; when the target is
, write according to
Seedance 2.5 dialect; when the target is
, write according to
MiniMax H3 dialect. Read only the matched one. For other targets or versions, do not apply the syntax of a similar model; continue with the generic path in
Target Model Capability Profile.
Follow the existing creator-first skeleton:
, with fields in the order “分镜、时长、生成方式、输入参考图、静态视觉锚点、起始帧、状态链、终点”, and use
as the body heading. The static visual anchor follows the resolved video prompt language of this shot and enters the body unchanged; every non-empty body line is a Markdown quote block starting with
. Rewritten content must not rename fields, invent replacements, or turn them into plain paragraphs.
Workflow
- First check each shot's “input reference image”. When the user has not manually named an image, search for real images in the user input, “production outputs”, and media already pointed to by the documents, based on the consistency needs of the frozen keyframe and visible characters, locations, and key props. Bind automatically only after content and purpose are verified; do not guess from similar filenames.
- When matching images already exist, within the current request first have the storyboard owner refresh the affected shots' slots in place, then return to this stage; only bind images this shot truly needs to preserve, and do not fill slots to match asset count. In the same refresh, if these shots are also missing the required field “视觉依据” (visual basis) — which old documents often lack — backfill it from the finalized frozen keyframe as well: both read the same frame, and doing it in two rounds only leaves shots with bound images still unable to say who is in the frame. New slots must use exactly
REF-<slot>(顺序:<n>)· <项目相对路径>《<中文名称>》(用途:<用途>;控制:<范围>;不得控制:<范围>)
; must be one of 身份|造型状态|地理|构图|尺度|效果|起始帧|结束帧|风格
, and no invented slash-separated form is allowed. Multiple images are joined only with ; after writing, first re-read by format, then copy into the video document.
- If necessary images are still missing: if none exist, write the shot as “None (to be supplemented: ...)”; if only some are missing, keep the verified entries and append “; to be supplemented: ...” at the end. List the missing shots, image purposes, and corresponding / frozen keyframes all at once, then stop before the video prompts. Do not fake paths, do not treat image prompts as images, and do not silently downgrade to text-to-video.
When reporting gaps, state all three paths the creator actually has, not just “generate reference images” and “switch to text-to-video”: place existing images into the project and bind them as ; let the creator generate images in their own tool and write a mounting plan this round; or explicitly switch to text-to-video. The gap list itself is the draft of the image mounting plan, specifying per shot which images are needed and what each one is for.
- Only when the creator explicitly chooses not to use reference images should the storyboard be recorded as “None (creator explicitly chose text-to-video)”. After preparation is closed, copy the storyboard's “input reference image” unchanged and mark “生成方式:图生视频” or “生成方式:文生视频” accordingly. This field only takes these two exact values; do not append model name, dialect, full-reference, or other explanations; model details stay in the body structure. Whether to use first frame, first+last frame, or multi-slot reference is read from the combination of each slot's : only one uses first frame; plus uses first+last frame; coexisting with character/location/prop images, or only such images, uses multi-slot reference. The matched model dialect translates this combination into its own asset roles and body structure; for models where multi-slot reference and first/last frame are mutually exclusive in the same request, the start frame also follows the whole group as multi-slot reference and is not split into two input sets.
- Verify that this shot's duration falls within the native range in the target model profile; if not, return to storyboard revision instead of leaving an adapter error after writing the prompts, and do not silently change the duration in the body. When dialogue, VO, or OS is present, also verify the timing basis in the storyboard's “声音” (sound) against the actually available vocal window; if there is no basis, make a judgment using Dialogue Budget. Correct sum of seconds does not mean the lines can be delivered.
- Write the immovable border: in image-to-video, lock with the reference frames and visual setting; in text-to-video, write the necessary static facts into “静态视觉锚点” and the copyable body.
- Read the storyboard's “起点 → 唯一动作 → 终点” as-is and confirm that state changes for characters, hands, and held objects all happen inside the shot.
- Write “静态锚点 → 起点 → 唯一动作(触发、接触、落点)→ 次级反应 → 运镜 → 声音 → 终点” and segment by seconds when necessary; the next shot continues from this end state without inventing an out-of-shot transition.
- Delete repeated description only when the real reference frame already establishes static appearance; the locked surfaces of continuity locks in 《视觉设定.md》 are not deletable.
- Express confirmed relationships that constrain the action space as positively visible states throughout the shot, and arrange only the action channels the relationship allows; only write a change process when the storyboard explicitly changes the relationship. Prefer visible states to define boundaries, and keep explicit exclusion conditions only when necessary.
- Read on-screen-text obligations shot by shot. Unless the script or creator explicitly requires otherwise, the body must state directly in this shot's resolved video prompt language that non-diegetic subtitles, captions, and dialogue text overlays are not generated at any time; it cannot merely say abstractly “text layer is empty”. This default is independent of diegetic text on flags, signs, screens, etc. For diegetic text, must write the characters, language, surface, and position verbatim, and cannot be overridden by a global .
- When sound is on the same track, write the allowed 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 original text, and each verbatim dialogue line appears only once in the single-shot copyable body. Visual action segments only reference that sound event by time and speaker, without copying the line again. Outside the event, return to declared ambient sound or silence. When the brief, script, or sound direction has explicitly forbidden foreign-language lead-ins, filler words, extra voices, or duplication, write these confirmed vocalization boundaries together once at the end of the complete timeline; do not make the execution side guess from “only includes”, and do not add new forbidden categories on your own. The timeline summary only lists the sound layers actually present in this shot. For shots without dialogue, clearly state the underlying sound or silence and its coverage range; mouth movements follow the scripted performance and are not forced shut by default. Non-diegetic music is declared according to the target dialect, and explicitly written as empty when needed.
- At draft completion, check whether actions, sound, and constraints are clear and compatible. Positive states help express the goal, and necessary negative conditions can be kept; do not judge by the number of negations. Confirm there is no crossing into the next shot, no mutually exclusive actions, and no teleporting or morphing of characters or props.
- If the user wants a full episode, complete the full episode; shot groups are only internal batches.
- When adjacent formal generation segments are in the same continuous time-space and the target profile supports continuation, default to “continue from the previous generation result”; one-shot-per-generation only decides to load one shot at a time, not that each shot is an independent text-to-video. Restart a chain only when the creator explicitly requests independent regeneration, or upstream has accepted a time/place jump. After continuation is chosen, it is the only formal execution route for that chain. From the second segment onward, bind both the previous segment's actual video and the actual tail frame obtained from that video: the video handles continuity of motion, rhythm, and sound, and the tail frame handles the visible starting point of the next segment. The specific asset roles and continuation wording are decided by the matched model dialect; generic responsibilities cannot be translated directly into vendor fields. When no real output is available, mark the later segment in as “待续接、不可提交” (pending continuation, not submittable), state that these two real inputs are missing, and keep the next segment's content draft; do not downgrade it to an independent text-to-video, and do not use a planned tail frame, keyframe prompt, or text description as a fake relay input. Per-shot remains the member boundary and content basis, not a separate submission route parallel to the formal container route.
Prompt Requirements
- Start from a visible starting state and end at a verifiable end state.
- The copyable body fully implements the storyboard's “起点 → 唯一动作 → 终点”; handoffs, hand changes, and prop placement are not omitted across shots.
- Subject, object, direction, magnitude, speed, and order are explicit.
- Performance is written as actions and reactions, not abstract results that cannot be executed.
- Camera movement and character motion do not compete for attention; complex camera moves must have a narrative reason.
- Sound includes only the dialogue, voice-over, ambience, or transition duties needed for the shot; do not add lyrics on your own.
- Non-diegetic subtitles, captions, and dialogue text overlays are not generated by default; the body directly declares that these are not generated at any time in the whole shot, and abstract workflow terms are not used in place of execution instructions. They are enabled only when the script or creator explicitly asks. Precise diegetic text is a separate allow set; it does not disappear when subtitles are turned off, and unauthorized text must not be mixed in.
- Same-track dialogue/VO/OS write verbatim text, spoken language, and vocalization boundaries at the same time; do not add sound sources or duplicate restrictions that the source does not have.
- Shots without dialogue also state underlying sound or silence; timeline summary matches actual sound layers. For H3, write when there is no non-diegetic music.
- Chinese text enclosed in quotes or in the body must come verbatim from 《剧本.md》; diegetic sign text may come from 《视觉设定.md》; on-screen text and sound written by the storyboard itself also count.
creator_markdown_check.py
checks quotations longer than four characters (VID-25). If a line is not in the script, go back to the writing skill to revise the script, not the prompt.
- Upstream persistent relationships are expressed with persistent states and allowed action channels, avoiding repeated restrictions or conflicting actions.
- The continuity lock hit by this shot has its locked surfaces appear verbatim in the copyable body; cross-shot invariants such as color, material, and form do not rely on model memory.
- The body is directly copyable and contains no placeholders, process notes, file paths, or QA conclusions.
On-Demand Knowledge
By default read only this SKILL, the current storyboard, and necessary visual facts. Open only the relevant one when a corresponding problem is encountered:
- Stage boundaries and rule hierarchy: Stage Contract
- Minimal recipe for a single-shot motion body: Motion Recipe
- Explicit motion syntax needed by external execution: Production Prompt Grammar
- Multi-character performance, lip sync, and precise timing: Performance and Action Timing
- Camera, sound, and adjacent shot continuity: Camera and Audio Continuity
- Action load, deformation, and generation risk: Generability
- Target execution side capabilities such as duration, reference, 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-form narrative, timestamps, and task-type syntax: Seedance 2.5 dialect
- MiniMax H3's structured body and reference modes: MiniMax H3 dialect
- Delivery for multi-shot containers or static comic dramas: Delivery Profile
- Boundary checks before completion: Review and Fixtures
When the user explicitly requests timeline music, add an independent section to this document covering usage range, dramatic function, entry/exit, dynamic curve, and forbidden items; lyrics must come from text provided or explicitly accepted by the user. If a static comic drama only needs keyframe switching and dubbing, per-shot video motion prompts can be skipped and production preview can be entered directly.
Completion and Production
Each named shot is complete when it has a clear start state, main change, timing, camera/sound boundaries, and verifiable end state, and is continuous with adjacent shots. Actual generation is handed off to
, which first shows the exact job and obtains explicit confirmation; this skill does not call external services. When the five creative documents are complete,
can be used to perform a mechanical cross-document structural check; content quality remains reviewed by the creator.
Installation and Maintenance
Run
python3 scripts/selftest.py
only during installation, upgrade, or troubleshooting.