muapi-character-story-video — Claude Code skill for story videos
This skill builds a multi-scene story around one consistent character, then turns each scene into a video. Use it to create an animated sequence in separate parts.
npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-character-story-video -a claude-code
npx skills add SamurAIGPT/Generative-Media-Skills --skill character-story-video -a claude-codeWhat muapi-character-story-video does
The skill starts with a character description or a reference image. Without a reference, it generates a character image and asks you to approve the design. It then breaks the premise into three scenes: beginning, middle, and ending. Each scene uses the established character image as its reference.
Once you approve the scenes, the skill sends each image to an image-to-video model and presents the results as a sequence. You can also combine the parts with muapi predict result and ffmpeg concat. It requires the muapi CLI and MUAPI_API_KEY; run muapi auth configure first if the key is unset. Character approval is a checkpoint before scene generation.
What it helps with
- keep a character consistent across story scenes
- turn a premise into a beginning, middle, and ending
- animate each generated scene as a separate video
- combine story parts into one movie
Example prompts for the agent
- Create a character story about a pilot who builds a jetpack and flies into space.
- Make an animated story with three scenes using this character description, and show me the character design first.
- Animate these three scenes as a sequel video and return the parts in order.
How to install muapi-character-story-video
1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-character-story-video -a claude-codenpx skills add SamurAIGPT/Generative-Media-Skills --skill character-story-video -a claude-code2Manually: put the files in place
~/.claude/skills/character-story-video/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/character-story-video/
1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill character-story-video -a codex2Manually: put the files in place
.agents/skills/character-story-video/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill character-story-video -a cursor2Manually: put the files in place
.cursor/skills/character-story-video/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install SamurAIGPT/Generative-Media-Skills character-story-video2Manually: put the files in place
.github/skills/character-story-video/SKILL.md1Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill character-story-video -a gemini-cli2Platform CLI
gemini skills install https://github.com/SamurAIGPT/Generative-Media-Skills --path library/motion/character-story-videoManually: put the files in place
.devin/skills/character-story-video/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add SamurAIGPT/Generative-Media-Skills --skill character-story-video -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-character-story-video
How do I install muapi-character-story-video in Claude Code?
Run npx skills add SamurAIGPT/Generative-Media-Skills --skill muapi-character-story-video -a claude-code. Alternatively, run npx skills add SamurAIGPT/Generative-Media-Skills --skill character-story-video -a claude-code.
What does muapi-character-story-video do?
It creates or accepts a character image, generates three story scenes with that character, then animates each scene as a separate video.
What do I need to configure before using it?
You need the muapi CLI and MUAPI_API_KEY. If the key is unset, run muapi auth configure.
Source text
SKILL.md · MIT
---
slug: muapi-character-story-video
name: muapi-character-story-video
version: "1.0.0"
description: Create a multi-part animated story video by first establishing a consistent character and then generating sequential scenes and animating them.
acceptLicenseTerms: true
---
# Character Story Video
**Create a multi-part animated story video by first establishing a consistent character and then generating sequential scenes and animating them.**
## Inputs
| Name | Type | Required | Default | Description |
|:---|:---|:---|:---|:---|
| `character_description` | text | yes | — | Description of the main character (e.g. "a cute piglet wearing a leather aviator jacket and goggles"). |
| `story_premise` | text | yes | — | The overall story arc (e.g. "building a jetpack and flying to space"). |
| `reference_image` | image_url | no | — | Optional starting image of the character to maintain consistency. |
## Steps
This skill involves multiple phases to build a cohesive narrative.
### Phase A — Character Establishment
If `{{reference_image}}` is NOT provided, submit the plan with ONE step to create the character:
1. **Character Creation** — `muapi image generate` (model=`nano-banana-pro`):
- Prompt: `{{character_description}}, introducing the main character, cinematic lighting, highly detailed, Pixar 3D animation style.`
- Aspect ratio: 4:5 or 1:1
If `{{reference_image}}` IS provided, use it as the established character and proceed to Phase B.
After generation, ask the user to confirm the character design before proceeding.
### Phase B — Sequential Scene Generation
Once the character is established, create the story beats (e.g., Scene 1, Scene 2, Scene 3).
Submit the plan using `muapi image edit` (model=`nano-banana-2-edit` or `flux-kontext-pro-i2i`) to maintain character consistency. Use the established character image as the reference for ALL these steps.
1. **Scene 1 (Beginning)**
- Reference: Character Image
- Prompt: `The character ({{character_description}}) in the first scene of the story: [Describe the beginning of {{story_premise}}]. Cinematic lighting, Pixar 3D animation style, storybook illustration.`
2. **Scene 2 (Middle)**
- Reference: Character Image
- Prompt: `The character ({{character_description}}) in the second scene: [Describe the climax or middle action of {{story_premise}}]. Cinematic lighting, Pixar 3D animation style, storybook illustration.`
3. **Scene 3 (End)**
- Reference: Character Image
- Prompt: `The character ({{character_description}}) in the final scene: [Describe the resolution of {{story_premise}}]. Cinematic lighting, Pixar 3D animation style, storybook illustration.`
*Note: All scenes should be generated in parallel or sequentially depending on the story flow.*
After generating the scenes, present them to the user and ask if they are ready to animate the story.
### Phase C — Animation (Sequel Part 1, Part 2, Part 3)
Submit the plan to animate the generated scenes using an image-to-video model (e.g., `kling-v3.0-pro-image-to-video` or `veo3.1-image-to-video`).
1. **Part 1 Video**
- Input: Scene 1 Image
- Prompt: `Cinematic animation of the scene, character comes to life, subtle natural movements, high quality 3D animation.`
2. **Part 2 Video**
- Input: Scene 2 Image
- Prompt: `Cinematic animation of the scene, character comes to life, dynamic action, high quality 3D animation.`
3. **Part 3 Video**
- Input: Scene 3 Image
- Prompt: `Cinematic animation of the scene, character comes to life, triumphant resolution, high quality 3D animation.`
After generating the videos, present them to the user as a multi-part story sequence. You may also suggest using the `muapi predict result` + ffmpeg concat tool to merge them into a single movie if requested.
## Trigger Keywords
`character story`, `story video`, `animated story`, `sequel video`, `multi part video`, `sequential story`
---
## 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