muapi-storyboard — Claude Code skill: storyboard keyframes
Turns a one-line story premise into a storyboard and generates keyframe images through muapi. Useful when you need reference panels before shooting or animating.
npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-storyboard -a claude-code
npx skills add SamurAIGPT/Generative-Media-Skills --skill storyboard -a claude-codeWhat muapi-storyboard does
The skill takes a one-line premise and breaks it into a set number of story beats: setup, inciting moment, escalation, climax, resolution. For each beat the agent writes a paragraph of visual description and keeps the same character and world across the whole sequence.
Every beat then becomes a muapi image generate node using model nano-banana-2 at 16:9, with the prompt built from the beat description plus style tags. All keyframes run in one parallel layer with no dependencies between them, and the result comes back as asset ids in beat order with a one-line caption per scene. Defaults are 6 scenes and the style cinematic, photoreal, soft lighting, 16:9.
This is keyframes only. No animation, upscaling or audio, and the author suggests reaching for the music-video skill afterwards if you want a video. You need a MUAPI_API_KEY; if it is unset, run muapi auth configure first. Character consistency rests on repeating the character description verbatim in every prompt instead of trusting the model to remember it.
What it helps with
- break a short story into an ordered scene sequence
- get reference keyframes before starting animation
- keep one character consistent across every panel
- produce panels in a single visual style
- return asset ids in beat order with captions
Example prompts for the agent
- storyboard this in 8 keyframes: a lonely robot finds a tiny mechanical bird friend
- generate story panels for the premise "an abandoned station wakes at night", noir style, 16:9
- split the story into scenes and render keyframes in cinematic, photoreal style
How to install muapi-storyboard
1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-storyboard -a claude-codenpx skills add SamurAIGPT/Generative-Media-Skills --skill storyboard -a claude-code2Manually: put the files in place
~/.claude/skills/storyboard/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/storyboard/
1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill storyboard -a codex2Manually: put the files in place
.agents/skills/storyboard/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill storyboard -a cursor2Manually: put the files in place
.cursor/skills/storyboard/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install SamurAIGPT/Generative-Media-Skills storyboard2Manually: put the files in place
.github/skills/storyboard/SKILL.md1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill storyboard -a gemini-cli2Platform CLI
gemini skills install https://github.com/SamurAIGPT/Generative-Media-Skills --path library/visual/storyboardManually: put the files in place
.devin/skills/storyboard/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill storyboard -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about muapi-storyboard
How do I install muapi-storyboard in Claude?
Run npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-storyboard -a claude-code. The skill file lands at ~/.claude/skills/storyboard/SKILL.md.
What does muapi-storyboard do?
It turns a one-line premise into a storyboard: decomposes it into story beats and generates one keyframe per beat via muapi image generate.
What do I need before running it?
A MUAPI_API_KEY. If the variable is unset, run muapi auth configure first.
Source text
SKILL.md · MIT
---
slug: muapi-storyboard
name: muapi-storyboard
version: "1.0.0"
description: Generate N keyframes for a short story or scene sequence (image only, no video).
acceptLicenseTerms: true
---
# Storyboard Generator
**Generate N keyframes for a short story or scene sequence (image only, no video).**
## Inputs
| Name | Type | Required | Default | Description |
|:---|:---|:---|:---|:---|
| `premise` | text | yes | — | One-line story premise (e.g. "lonely robot finds a tiny mechanical bird friend"). |
| `scenes` | int | no | 6 | Number of keyframes to produce. |
| `style` | text | no | cinematic, photoreal, soft lighting, 16:9 | Visual style tags applied to every keyframe. |
## Steps
Use the plan to dispatch all N keyframes in a single parallel layer.
1. Decompose `premise` into `{{scenes}}` story beats with a clear arc:
setup → inciting moment → escalation → climax → resolution.
- Each beat gets a one-paragraph visual description.
- Maintain character / object continuity across beats (same character
appearance, same world).
2. For each beat, create a `muapi image generate` node (model=nano-banana-2, aspect_ratio=16:9):
- Prompt = `"<beat description>. {{style}}"`.
- Tier: balanced (these are reference keyframes, not finals).
- Aspect ratio: 16:9.
3. Run the plan in parallel (no `depends_on` between keyframes).
4. Return the asset ids in beat order with a one-line caption per scene.
## Notes
- Don't animate, upscale, or add audio — this skill is keyframes only.
If the user wants video, suggest the `music-video` skill afterward.
- For consistency, repeat character description verbatim in every prompt
("a small rusty humanoid robot with…") rather than relying on the model
to remember.
## Trigger Keywords
`storyboard`, `keyframes`, `scene sequence`, `story panels`
---
## 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.
© SamurAIGPT · MIT · SamurAIGPT/Generative-Media-Skills