generate-video
The base video skill. Use it standalone for one-off clips, or as a
building block under more specific skills (/clone-ad,
/wide-cam-podcast, /generate-talking-head). The skill's job is to
turn a rough idea into a finished MP4 — refining the prompt and
picking the right model along the way.
Providers
- Wavespeed — pull
https://wavespeed.ai/docs for the current API surface; model-specific endpoints under https://wavespeed.ai/docs/docs-api/... (e.g. bytedance/bytedance-seedance-2.0-image-to-video, kwai/kling-v3-pro, openai/sora-2)
Pick the model
| Model |
Best for |
Trade-off |
| Seedance 2.0 |
UGC ads, talking-heads, multi-cut social videos. Native audio generated from prompt text. Up to ~15s. |
Prompt must use explicit CUT. SHOT N: blocks — narrative beats produce flat single-take output. |
| Kling 3.0 |
Character continuity, lip-sync from reference image, longer cinematic clips. |
No native audio — pair with /clone-voice + /swap-voice if dialogue is needed. |
| Sora 2 |
Complex multi-element scenes, hyperrealistic environments, "wow factor" hero shots. |
Slowest and most expensive. Reach for it when Seedance and Kling can't deliver the idea. |
Default: Seedance 2.0 for social, Kling 3.0 for character-driven
content, Sora 2 only when the idea forces it.
Steps
- Capture the idea. Ask the user for: subject/concept, what
should happen on screen, desired length, target platform (TikTok /
IG Reels / YouTube → aspect ratio), and whether they have a
reference image to use as a starting frame.
- Refine the prompt. Rewrite the idea into a model-appropriate
structured prompt:
- Seedance 2.0 → shot list with
CUT. SHOT N: blocks naming
framing, angle, movement, location, action, and dialogue per shot.
Aim for 4–5 cuts per 10s for UGC energy.
- Kling 3.0 → character description + scene + camera move +
duration. Reference image carries identity.
- Sora 2 → environment + subject + action + style + camera.
Less rigid structure than Seedance; closer to a paragraph.
Read the refined prompt back to the user and iterate before any
provider call.
- Pick the model from the table above.
- Set the params. Aspect ratio (
9:16 TikTok/IG, 1:1 Meta
static, 16:9 YouTube), resolution (480p for authentic-looking
social, 720p+ for higher fidelity), duration, native audio
on/off (Seedance only).
- Generate. Call Wavespeed's image-to-video endpoint if a
reference image was provided, otherwise text-to-video. Poll the
job until done, download the MP4 to
CWD/generate-video-<timestamp>/clip.mp4.
- Show the user the result and offer to regenerate with prompt
or model adjustments. Save the final prompt alongside the MP4.
Input
- Idea (subject, action, scene)
- (optional) Reference image for image-to-video
- Target platform / aspect ratio
- Duration
Output
- MP4 at
CWD/generate-video-<timestamp>/clip.mp4
- Wavespeed-hosted URL (valid ~7 days) printed for quick preview
- The final prompt saved alongside the MP4 for iteration
Common failure modes
- Flat single-take Seedance output — prompt described narrative
beats, not shots. Rewrite with explicit
CUT. markers.
- Kling identity drift — reference image angle was too dynamic.
Use a clean 3/4 profile starting frame.
- Sora burn rate — defaulted to Sora when Seedance would have
worked. Always justify Sora before reaching for it.
1---2name: generate-video3description: Generate one AI video from an idea. Walks the user from rough concept → refined prompt → model pick (Seedance 2.0, Kling 3.0, or Sora 2) → final MP4 via Wavespeed.4---56# generate-video78The base video skill. Use it standalone for one-off clips, or as a9building block under more specific skills (`/clone-ad`,10`/wide-cam-podcast`, `/generate-talking-head`). The skill's job is to11turn a rough idea into a finished MP4 — refining the prompt and12picking the right model along the way.1314## Providers1516- **Wavespeed** — pull `https://wavespeed.ai/docs` for the current API surface; model-specific endpoints under `https://wavespeed.ai/docs/docs-api/...` (e.g. `bytedance/bytedance-seedance-2.0-image-to-video`, `kwai/kling-v3-pro`, `openai/sora-2`)1718## Pick the model1920| Model | Best for | Trade-off |21|---|---|---|22| **Seedance 2.0** | UGC ads, talking-heads, multi-cut social videos. Native audio generated from prompt text. Up to ~15s. | Prompt must use explicit `CUT. SHOT N:` blocks — narrative beats produce flat single-take output. |23| **Kling 3.0** | Character continuity, lip-sync from reference image, longer cinematic clips. | No native audio — pair with `/clone-voice` + `/swap-voice` if dialogue is needed. |24| **Sora 2** | Complex multi-element scenes, hyperrealistic environments, "wow factor" hero shots. | Slowest and most expensive. Reach for it when Seedance and Kling can't deliver the idea. |2526**Default:** Seedance 2.0 for social, Kling 3.0 for character-driven27content, Sora 2 only when the idea forces it.2829## Steps30311. **Capture the idea.** Ask the user for: subject/concept, what32 should happen on screen, desired length, target platform (TikTok /33 IG Reels / YouTube → aspect ratio), and whether they have a34 reference image to use as a starting frame.352. **Refine the prompt.** Rewrite the idea into a model-appropriate36 structured prompt:37 - **Seedance 2.0** → shot list with `CUT. SHOT N:` blocks naming38 framing, angle, movement, location, action, and dialogue per shot.39 Aim for 4–5 cuts per 10s for UGC energy.40 - **Kling 3.0** → character description + scene + camera move +41 duration. Reference image carries identity.42 - **Sora 2** → environment + subject + action + style + camera.43 Less rigid structure than Seedance; closer to a paragraph.44 Read the refined prompt back to the user and iterate before any45 provider call.463. **Pick the model** from the table above.474. **Set the params.** Aspect ratio (`9:16` TikTok/IG, `1:1` Meta48 static, `16:9` YouTube), resolution (`480p` for authentic-looking49 social, `720p`+ for higher fidelity), duration, native audio50 on/off (Seedance only).515. **Generate.** Call Wavespeed's image-to-video endpoint if a52 reference image was provided, otherwise text-to-video. Poll the53 job until done, download the MP4 to54 `CWD/generate-video-<timestamp>/clip.mp4`.556. **Show the user the result** and offer to regenerate with prompt56 or model adjustments. Save the final prompt alongside the MP4.5758## Input5960- Idea (subject, action, scene)61- (optional) Reference image for image-to-video62- Target platform / aspect ratio63- Duration6465## Output6667- MP4 at `CWD/generate-video-<timestamp>/clip.mp4`68- Wavespeed-hosted URL (valid ~7 days) printed for quick preview69- The final prompt saved alongside the MP4 for iteration7071## Common failure modes7273- **Flat single-take Seedance output** — prompt described narrative74 beats, not shots. Rewrite with explicit `CUT.` markers.75- **Kling identity drift** — reference image angle was too dynamic.76 Use a clean 3/4 profile starting frame.77- **Sora burn rate** — defaulted to Sora when Seedance would have78 worked. Always justify Sora before reaching for it.