计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
writing-video-prompts【效率与协作】Writes the motion prompt for a video clip — what moves, how the camera behaves, the physics and the audio, in the shape the chosen model wants. Works from a brief alone, from a start frame, from a source video, or from a storyboard sheet where each panel becomes a cut. Handles one clip or a whole set, returning one prompt per clip. Nothing is generat…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Turn a clip into a prompt its video model will honour. Text only — nothing is generated here.
A video may be one clip or several. Write a prompt for every clip in it, then hand them all back together. Clips in one video share a model, an aspect ratio and a look.
Write only what the clip actually has. No person on camera means no performance direction, no product means no product rules, no speech means no dialogue.
Ask only for what would change the prompt and can't be defaulted.
seedance-2.0-fast and say so. The
aspect ratio is a call parameter rather than prompt text — carry it if it was given, don't ask.With a storyboard sheet, one cut per panel — panel 1 is the first cut, panel 2 the second, hard cut between them.
Without a sheet, cut only where the brief asks for one.
Where a beat's opening frame is fixed — by a panel or by a start frame — the hands, the grip, the product, the props and the positions are already there when it opens. Write what happens next, not how it starts. Write "a hand reaches in" or "she brings it into frame" only when the frame genuinely has no such element. Introduce something that is already there and the model renders a second one — an extra hand, a duplicate arm, a doubled person.
| Model | Guide |
|---|---|
seedance-2.5 | references/prompt-seedance.md |
seedance-2.0 | references/prompt-seedance.md |
veo-3.1 | references/prompt-veo.md |
gemini-omni | references/prompt-gemini-omni.md |
kling-3.0-pro | references/prompt-kling.md |
grok-imagine-video | references/prompt-grok.md |
wan-2.7 | references/prompt-wan.md |
The -fast / -lite / -turbo / -standard / -mini variants share their family's guide.
The guide owns how the prompt is laid out — the order the elements go in, how references are labelled, how speech and sound are marked, and how to keep something out of frame. Follow it on all of those, over anything the steps below imply about layout.
It does not own which sections the prompt is built from or the order they come in. Step 6 fixes those, and they are the same whatever the model.
It does not decide whether the clip cuts. Step 2 already did, from the media. A guide showing how to write a sequence of shots is giving you the layout to use if the clip has one — not a reason to add cuts to a clip that doesn't.
Where more than one piece of media goes on the call, name each one in the prompt, in the order it will be passed, and say once what each is. Unlabelled, the model picks its own subject out of the set. The labelling convention comes from the model's guide — a numbered slot, a tag, or plain words. A clip carrying a single start frame and nothing else has nothing to label — just say what it opens on.
Never put a label inside quoted speech. Quoted text is read aloud as written, so the label gets spoken.
Skip this where the clip has no sheet.
Run image_analysis on the sheet before writing anything, and take these from each panel as it
actually rendered:
Where the sheet and the plan disagree, the sheet is what the model will see, so the sheet wins. Write the cut to the panel, and say which panel disagreed and how.
Every prompt is built from the same sections, in this order:
The guide names each section and marks what goes in it. Leave out a section the clip has no use for; never reorder them, and never fold one into another.
6a — The look. One line: the light, and how the camera behaves across the clip. Add the delivery register where anyone speaks.
6b — What the clip is. One sentence: who is in it, where they are, and what happens across the whole clip. It is what the beats add up to, never a beat of its own.
6c — The beats, in order.
Cut 2 (3.5-7s): — and end every cut but
the last with a hard-cut instruction on its own line. Both go in whatever the guide says about
timings: the spans are what make the cuts add up to the clip's length, and without the hard-cut
line the model runs the beats together as one continuous move.6d — The camera, in every beat. Where a sheet or a start frame already fixes what is in frame and where the camera sits, only how it moves is yours — a push in, a pull back, a tilt, a pan, a rack focus, a handheld sway. Without one, write the framing and the position too. Locked off means the frame doesn't move and everything moves inside it, so keep any word suggesting an unsteady grip or a travelling lens out of those beats. At arm's length the camera is the phone and carries a small natural unsteadiness; nothing showing a handset, a screen, or either reflected belongs in shot.
6e — The person, where one is on camera.
Every beat is bounded by these:
Every piece of media also goes to the model on the call, so don't restate what it shows — the same instruction twice renders a slideshow. But write the prompt full: written thin, the image wins and the clip comes back as held poses with pauses between them.
Skip this where the clip carries no sound.
Where anyone speaks, split the clip's script segment across the beats at natural phrase breaks, roughly in proportion to their lengths. The words themselves are exact — no rewording, no insertions, no deletions — and the pieces must reassemble into the whole segment with nothing heard twice. Mark the speech the way the model's guide marks it; that marking is what drives lip movement.
The audio line says how the speech is produced and what else is heard. On camera: the person speaking in their own accent, lip-synced to the segments above. As voiceover: spoken off-screen, no mouth moving. Say what the recording sounds like, following the look the plan named — a phone-shot piece means phone-microphone audio and room tone.
Where anyone speaks on camera, give each beat a moment with the mouth closed while the hands work. Lip movement is the weakest thing the model renders, and continuous speech across a clip smears it.
Ambience is room tone plus what the beat's action actually makes. Name the source and the surface it happens on, keep it to two or three sounds at once, and never write a sound as absent — a sound named in a beat whose action doesn't produce it makes the model add the action to match. Don't repeat spoken words in the ambience line, and don't name or imply music unless the user asked for it.
Every prompt ends on this block, after the audio, word for word:
Faces clear and undistorted, two hands per person, properly formed. No mirror, screen or glass showing anyone reflected. No on-screen text, no subtitles, no captions, no logo, no watermark.
Cut the clauses about people where nobody is on camera. Add whatever the model's guide names as that model's own recurring defects, in the same plain form.
Write every clip's prompt before any of them is generated. They don't depend on each other, and a prompt is far cheaper to fix on paper than after it has rendered.
Hand back one prompt per clip, in order, each tied to its clip, along with the media that go with it and the order they were labelled in.
list_video_models for its accepted inputs, and
write to the guide of the family it most resembles.Model prompt guides — read the one for the chosen model:
references/prompt-seedance.md — native audio markers, one-move-per-shot, storyboards.references/prompt-veo.md — cinematography-first order, SFX: / Ambient noise: markers, timecodes.references/prompt-gemini-omni.md — conversational editing of an existing clip; edits, not extends.references/prompt-kling.md — director-script style, @Element references, per-speaker dialogue labels.references/prompt-grok.md — tight front-loaded briefs, positive-only exclusions, one action per clip.references/prompt-wan.md — front-loaded prose, multi-shot timestamps, driving-audio sync.