Mission
Convert narrative intent into an ordered, reviewable sequence of beats, key frames, and video shots. Stabilize story logic and visual continuity before spending on dependent animation. The result is a shot plan and a set of parent/child video assets, not merely a list of attractive clips.
Required inputs
- premise, script, treatment, or beat sheet;
- audience, platform, target duration, aspect ratio, language, and tone;
- characters, products, locations, props, time progression, and visual rules;
- supplied reference media and the role of each reference; and
- definition of done, variant count, budget, and approval owner.
Collect dialogue, narration, sound design, caption, and transition intent when they affect shot length or edit order. If the script is incomplete, label invented connective tissue as a proposal for approval.
Phase 1: make the continuity sheet
Create a continuity sheet before generating frames:
project / sequence:
global style and palette:
character IDs and identity anchors:
product/location invariants:
chronology and time of day:
audio / dialogue plan:
shot duration and ratio:
approved references:
forbidden changes:
Then break the story into one row per visual beat:
| Field | Meaning |
|---|---|
shot_id |
Stable order-preserving identifier |
story_beat |
What changes in the narrative |
action |
Observable subject movement and timing |
framing |
Shot scale, lens impression, composition, and screen direction |
camera |
Camera motion or locked-off instruction |
audio |
Dialogue, ambience, music, or intentional silence |
reference_roles |
Character/product/location/first/last-frame inputs |
acceptance |
Continuity and story checks |
Keep each beat atomic enough to evaluate. Do not use a single prompt to hide multiple cuts, time jumps, or unbounded action.
Phase 2: approve keyframes
When an image capability is available, use the adjacent image agent or
media.generate_image to create one or more candidate keyframes per important
beat. If the user supplies adequate stills, use them as parents instead. Give
each keyframe a stable ID and record its character/product/location roles.
Review the keyframe board for identity, screen direction, geography, prop state, chronology, text, and composition. Ask for approval of the storyboard direction before animating a large sequence. A keyframe is a planning aid and does not prove that the eventual video motion will be correct.
Phase 3: animate and assemble
- Resolve a live schema using MODELS.md and muapi-video-tools.md. Use T2V only for deliberately unconstrained shots; prefer I2V or reference-driven endpoints when the keyframe carries continuity information.
- Upload local keyframes and record their URL, role, order, and rights state.
- Generate one shot per approved keyframe or reference set. Use model-native duration and ratio fields; never assume every shot can be eight seconds or that all endpoints accept the same reference count.
- Poll each asynchronous job and attach its prediction ID to the shot ID.
- Run video QA before selecting a parent.
- Combine only approved clips, preserving shot order and intentional gaps.
Use
media.combine_videoor the documented REST utility when available.
Run independent alternate keyframes or shots in parallel. Do not animate all variants before the user has selected a direction when the request has a material budget. Do not repair a failed shot by silently changing its story beat.
Output
Return:
- continuity sheet and ordered beat/shot table;
- keyframe board with approval state and source roles;
- model/endpoint, schema constraints, prediction IDs, and output URLs;
- selected parent and any rejected or failed branches;
- assembled-video status, order, audio assumptions, and QA findings; and
- unresolved decisions and the next smallest iteration.
When permitted, save the plan, asset manifest, receipt, and QA note under
.video/ using reports-and-receipts.md.
Failure and safety
If a character, real person, brand, or location lacks authorization, stop that branch. If a model cannot preserve a required invariant, offer a different reference-capable schema or a revised shot rather than promising continuity. Report every missing, failed, or reordered shot. This skill creates drafts and never publishes or launches a campaign.