Music Video
Build a short music video from a song theme — N keyframes, animate each, generate matching music.
Inputs
| Name |
Type |
Required |
Default |
Description |
theme |
text |
yes |
— |
Song / video theme (e.g. "lonely robot finds a friend, hopeful"). |
scenes |
int |
no |
3 |
Number of scenes (each becomes a 5s clip). |
music_style |
text |
no |
ambient cinematic, instrumental, slow tempo, warm |
Suno-style tags for the soundtrack. |
visual_style |
text |
no |
cinematic, photoreal, soft volumetric light, 16:9 |
|
Steps
Build one the plan covering:
- Layer A (parallel) — N keyframes + 1 music track all at once.
- For each scene 1..N:
muapi image generate with a beat-specific prompt +
{{visual_style}}, model=nano-banana-pro (these feed video gen).
- One
muapi audio create (kind=music) using {{music_style}}, duration =
N × 5 + a 2s tail.
- Layer B (parallel, depends on Layer A) — animate each keyframe.
- For each scene:
muapi video from-image with image=$nX.url, model=veo3.1-image-to-video,
duration=5, prompt=scene-specific motion direction.
- Return:
- The scene keyframes (asset ids in order).
- The animation clips (asset ids in order).
- The music track asset id.
- A short summary describing the cut order.
Notes
- Keep character continuity by repeating the character description in every
scene prompt verbatim.
- Don't auto-confirm any single video call > 50 cr — those need the user's
nod (the loop will prompt automatically).
- If a scene's
muapi video from-image fails after failover, fall back to
muapi video generate (text-to-video) for that scene only.
Trigger Keywords
music video, mv, video story, song visualization
Notes for the Executing Agent
- This recipe is LLM-orchestrated: read each phase, gather any missing inputs from the user, then call
muapi CLI commands. Use muapi auth configure first if MUAPI_API_KEY is unset.
- For model IDs without a CLI alias yet, fall back to the raw endpoint via
curl -X POST https://api.muapi.ai/api/v1/<endpoint> -H "x-api-key: $MUAPI_API_KEY" -H 'content-type: application/json' -d '{...}' and poll with muapi predict wait <request_id>.
- Substitute
{{input_name}} placeholders with the user's actual inputs before issuing each call.
Source: hashgraph-online/awesome-codex-plugins → plugins/SamurAIGPT/Generative-Media-Skills/library/motion/music-video/SKILL.md
1---2name: muapi-music-video3description: Build a short music video from a song theme — N keyframes, animate each, generate matching music.4---5678# Music Video910**Build a short music video from a song theme — N keyframes, animate each, generate matching music.**1112## Inputs1314| Name | Type | Required | Default | Description |15|:---|:---|:---|:---|:---|16| `theme` | text | yes | — | Song / video theme (e.g. "lonely robot finds a friend, hopeful"). |17| `scenes` | int | no | 3 | Number of scenes (each becomes a 5s clip). |18| `music_style` | text | no | ambient cinematic, instrumental, slow tempo, warm | Suno-style tags for the soundtrack. |19| `visual_style` | text | no | cinematic, photoreal, soft volumetric light, 16:9 | |202122## Steps2324Build one the plan covering:25261. **Layer A (parallel)** — N keyframes + 1 music track all at once.27 - For each scene 1..N: `muapi image generate` with a beat-specific prompt +28 `{{visual_style}}`, model=nano-banana-pro (these feed video gen).29 - One `muapi audio create` (kind=music) using `{{music_style}}`, duration =30 N × 5 + a 2s tail.312. **Layer B (parallel, depends on Layer A)** — animate each keyframe.32 - For each scene: `muapi video from-image` with `image=$nX.url`, model=veo3.1-image-to-video,33 duration=5, prompt=scene-specific motion direction.343. Return:35 - The scene keyframes (asset ids in order).36 - The animation clips (asset ids in order).37 - The music track asset id.38 - A short summary describing the cut order.3940## Notes41- Keep character continuity by repeating the character description in every42 scene prompt verbatim.43- Don't auto-confirm any single video call > 50 cr — those need the user's44 nod (the loop will prompt automatically).45- If a scene's `muapi video from-image` fails after failover, fall back to46 `muapi video generate` (text-to-video) for that scene only.4748## Trigger Keywords4950`music video`, `mv`, `video story`, `song visualization`515253---5455## Notes for the Executing Agent5657- This recipe is LLM-orchestrated: read each phase, gather any missing inputs from the user, then call `muapi` CLI commands. Use `muapi auth configure` first if `MUAPI_API_KEY` is unset.58- For model IDs without a CLI alias yet, fall back to the raw endpoint via `curl -X POST https://api.muapi.ai/api/v1/<endpoint> -H "x-api-key: $MUAPI_API_KEY" -H 'content-type: application/json' -d '{...}'` and poll with `muapi predict wait <request_id>`.59- Substitute `{{input_name}}` placeholders with the user's actual inputs before issuing each call.6061---6263**Source:** [`hashgraph-online/awesome-codex-plugins`](https://github.com/hashgraph-online/awesome-codex-plugins) → `plugins/SamurAIGPT/Generative-Media-Skills/library/motion/music-video/SKILL.md`