Use when generating short videos with RedBox official video API. Produces a detailed shot script first, asks the user to confirm it, then chooses between text-to-video, reference-guided, and first-last-frame modes and calls the correct wan2.7 video model with prompt discipline focused on motion, reference elements, and transitions.
72
88%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Use this skill before calling app_cli(command="video generate ...") for RedBox video work.
Before any video tool call, follow this order:
app_cli(command="video generate ...").If the user has not yet confirmed the script, do not generate the video.
For multi-shot videos, long-context videos, continuity-sensitive videos, or videos likely to go through several revisions, you should first create a video project pack with:
app_cli(command="video project-create --title ... --duration ... --aspect-ratio ... --mode ...")The project pack lives in:
media/video-projects/<id>/It should be used to keep these files together:
manifest.jsonbrief.mdscript.mdAfter the pack is created:
brief.mdscript.mdThis is preferred over keeping all video context only inside chat history.
text-to-video -> wan2.7-t2v-videoreference-guided -> wan2.7-r2v-videofirst-last-frame -> wan2.7-i2v-video1-3 seconds.5 seconds.text-to-video when the user only provides text and wants a fresh video shot.reference-guided when the user provides one or more reference images and wants the video to absorb subject elements, style cues, props, scene motifs, or composition hints from those images.first-last-frame only when two images have explicit start/end semantics, such as “from A to B”, “首帧/尾帧”, “开头/结尾”, or “起始状态/结束状态”.first-last-frame; stay with reference-guided semantics instead.单视频模式:
15 seconds.多视频模式:
ffmpeg through the available tool path.If the request has multiple shots, clear continuity requirements, or a risk of visual drift, ask one more question after drafting the table:
If storyboard images are generated, later video generation should preferentially use image-based modes, and for transition-heavy segments should prefer first-last-frame.
When the request is complex enough that video quality depends on stable keyframes, you must prefer a storyboard-first workflow.
Use storyboard-first when one or more of these is true:
When any of the above is true, do not silently continue to video generation. You must explicitly ask the user whether they want image-generated storyboard keyframes first.
When storyboard-first is used, follow this exact process:
The first storyboard image should be a single overall environment master frame.
It must contain:
This image acts as the environmental anchor for all later keyframes.
Do not start by generating an isolated close-up if the later sequence depends on environment continuity.
When using image generation to build storyboard frames, consistency matters more than flourish.
You must:
The subject anchor should usually keep these elements stable:
The environment anchor should usually keep these elements stable:
Do not rewrite the whole scene in a different wording for each frame. Do not keep inventing new environment details frame by frame. Do not vary the character description unless that change is intentional.
If storyboard frames are generated:
This is mandatory when the storyboard is later used for video generation.
If those storyboard frames have already been saved into a video project pack, later video generation should use those keyframes as the main visual references. Do not keep reusing raw subject-library portraits or product stills as the primary visual input unless you truly need extra补充 angles or missing objects.
The pre-generation script must be shown as a Markdown table. Use these columns:
| Time | Picture | Sound | Shot |
|---|
Requirements:
视频时长视频比例Time: use compact ranges such as 0-2s, 2-4s, 4-6s.Picture: describe subject action, motion, camera movement, scene changes, and what must stay stable.Sound: describe spoken line, ambient sound, music feel, silence, or rhythm cue.Shot: describe shot scale / framing, such as close-up, medium shot, wide shot, push-in, pan, tilt.1-3s range.5s.After the table, add one short confirmation prompt, for example:
请确认这版视频脚本,我确认后再正式生成。If the user requests changes, revise the table first and wait again. If duration or aspect ratio is not yet specified, propose a concrete default and include it in the confirmation block so the user can approve or change it. If the script contains multiple shots, a named character, an important environment, or any continuity-sensitive sequence, also ask whether the user wants storyboard stills / keyframes first.
Image 1: Jamba portrait referenceImage 2: livestream background mood referenceAudio 1: Jamba voice reference for tone and speaking rhythmtext-to-video, describe subject, camera, motion, environment, pacing, and visual style.reference-guided, describe the desired movement and cinematic behavior while preserving and combining the important elements from the provided reference images.first-last-frame, describe the transition between the first and last frame; do not rewrite the full scene unless the transition requires it.app_cli(command="video generate ...").text-to-video.reference-guided.首帧,尾帧 order for first-last-frame.drivingAudio and describe it explicitly as Audio 1 in the prompt preface.reference-guided, if a suitable voice reference exists, also pass it as the mode's voice reference input.Audio 1.video-project-id + those keyframes as the main visual condition for reference-guided.ffmpeg tooling to concatenate them in storyboard order after all clips succeed.0b80606
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.