You only need to describe the theme and style, and this skill will automatically complete: AI music generation, intelligent storyboard planning, asset acquisition, Remotion rendering, and finally output a commercial-grade MP4 file.
Quick decision: When should you use this Skill?
| Scenario | Use mv-skill? |
|---|---|
| The user wants to make an MV / music video / dynamic short film | YES |
| The user has a theme/lyrics/style preference | YES |
| The user provided a local music file | YES |
| The user only wants to generate images | NO, use zimage-skill |
| The user wants a screen recording / tutorial video | NO |
| The user wants pure text animation | NO |
Features
- Multi-style templates - Hot-blooded anime, cyberpunk, lyrical MV
- AI music generation - Integrated with Suno, automatically generates background music; also supports local MP3
- Intelligent asset acquisition - Asset libraries (Pexels/Pixabay) take priority, with AI generation as a fallback
- Visual storyboard preview - Confirm every shot before rendering, with support for shot-by-shot modifications
- Short video optimization - 9:16 vertical screen, 50-60 seconds, compatible with Douyin/Reels/Shorts
Agent behavior steps
When mv-skill is triggered, the agent should execute the following steps:
- Understand the requirements - Extract from the user's description: theme, style, duration preference, whether there is local music
- Select a template - Match the most suitable template based on style keywords (see the template table below)
- Generate a storyboard script - Call
storyboard_generator.pyto generate the scene list - Acquire/generate music - Prefer the music provided by the user; otherwise call the Suno API to generate; if that fails, use placeholder audio
- Acquire assets - Call
asset_manager.pyto download image/video clips from the asset library - Display the storyboard preview - Display each scene in a text table format (scene name, duration, description, assets)
- Wait for confirmation - Ask the user whether to confirm, or which scene needs modification
- Render output - After the user confirms, call
renderer.py, output MP4 to theoutput/directory - Report the result - Inform the user of the output file path and note that further modifications are possible
If the user's initial description is already clear enough, you can skip step 7 and render directly, then display the result after rendering is complete.
Quick start
Minimal usage
"帮我做一个热血风格的 MV,主题是宇宙战士"
Specify more details
"制作一个赛博朋克风格的 MV
主题:霓虹都市的孤独黑客
歌词:在数据的海洋里漂流
时长:55 秒"
Use local music
"用我的音乐文件 /tmp/my_song.mp3 做一个抒情 MV,歌词是'代码里寻找诗意'"
Available style templates
| Style | Template ID | Keywords | Suitable scenarios |
|---|---|---|---|
| Hot-blooded anime | anime-hype |
Hot-blooded, anime, hype, battle, inspirational | Battle, inspirational, sports |
| Cyberpunk | cyberpunk |
Cyber, technology, neon, future, hacker | Sci-fi, electronic music |
| Lyrical MV | lyric |
Lyrical, aesthetic, healing, love song, slow song | Love song, slow song, narrative |
Workflow example
Example 1: Hot-blooded Anime Style
用户: "做一个圣斗士星矢风格的 MV,主题是小宇宙觉醒"
AI: 正在生成分镜预览...
┌─────────────────────────────────────────────┐
│ 分镜预览 - 小宇宙觉醒 │
├────────┬──────┬────────────────────────────┤
│ 场景 │ 时长 │ 描述 │
├────────┼──────┼────────────────────────────┤
│ 标题 │ 5s │ 片名特效,粒子爆炸 │
│ 战士登场│ 10s │ 主角剪影,逆光慢镜头 │
│ 蓄力 │ 15s │ 能量聚集,环境震动 │
│ 爆发 │ 15s │ 全力爆发,高速剪辑 │
│ 升华 │ 10s │ 胜利定格,慢动作 │
│ 结尾 │ 5s │ 片尾 Logo │
└────────┴──────┴────────────────────────────┘
确认开始渲染?[确认 / 修改 Scene X / 重新生成]
用户: "确认"
AI: 渲染完成!
输出: ~/.claude/skills/mv-skill/output/小宇宙觉醒_1080x1920.mp4
Example 2: Shot-by-shot Modification
用户: "修改 Scene 3,换成我自己的图片 hero.png"
AI: 已更新 Scene 3 素材为 hero.png,预览已刷新。是否重新渲染?
Example 3: Using Local Music
用户: "使用这个音乐文件 /path/to/music.mp3 制作 MV"
AI: 已检测音乐 BPM: 128,时长: 58秒,正在生成匹配的分镜...
Initial Setup
Required Dependencies
# 安装 Remotion 依赖
cd ~/.claude/skills/mv-skill/remotion && npm install
# 安装 Python 依赖
pip install requests librosa pydub pyyaml pillow
API Keys (configure as needed)
# 写入 ~/.zshrc 或 ~/.bashrc
export SUNO_API_KEY="your_key" # AI 音乐生成(可选)
export PEXELS_API_KEY="your_key" # 高质量素材(推荐)
export PIXABAY_API_KEY="your_key" # 备用素材源(可选)
Output Location
~/.claude/skills/mv-skill/output/
└── {标题}_{分辨率}.mp4
FAQ
Q: What should I do if music generation fails?
A: Upload a local MP3 file instead:"使用这个音乐文件 /path/to/music.mp3"
Q: Not satisfied with the material quality?
A: At the preview stage, say "Scene 2 换一张" or provide your own material path
Q: Rendering too slow? A: The first render requires downloading npm dependencies (about 1-2 minutes); subsequent renders will be much faster
Q: How do I add custom lyrics?
A: Include the lyrics in the description, e.g. "歌词:燃烧吧小宇宙"
Q: Is landscape orientation supported? A: Currently defaults to 9:16 portrait (1080x1920); if you need landscape, please specify it in the description
Technical Architecture
mv-skill/
├── SKILL.md # 本文档
├── evals/ # 测试用例
│ └── evals.json
├── templates/ # MV 风格模板
│ ├── anime-hype/ # 热血动漫风(template.yaml + 素材配置)
│ ├── cyberpunk/ # 赛博朋克风
│ └── lyric/ # 抒情风
├── schemas/ # 分镜脚本 JSON Schema
├── scripts/ # 核心 Python 脚本
│ ├── cli.py # 入口:解析用户输入,协调各模块
│ ├── storyboard_generator.py # 生成分镜脚本
│ ├── asset_manager.py # 素材获取(素材库 + AI 生成)
│ ├── music_generator.py # Suno AI 音乐生成
│ ├── music_analyzer.py # 本地音乐 BPM/时长分析
│ └── renderer.py # 调用 Remotion 渲染输出 MP4
└── remotion/ # Remotion 项目(TypeScript/React)
├── src/
│ ├── Root.tsx # 注册所有 Composition
│ ├── compositions/ # 各风格 Composition
│ └── components/ # 可复用场景组件
└── package.json
Data Flow
用户描述
→ cli.py(参数解析)
→ storyboard_generator.py(生成分镜 JSON)
→ asset_manager.py(素材获取)+ music_generator.py(音乐生成)
→ [用户确认分镜]
→ renderer.py → Remotion CLI
→ output/*.mp4
Dependent Skills
remotion-best-practices- Remotion video production knowledge basezimage-skill- AI image generation (material fallback)media-downloader- Stock library downloads (Pexels/Pixabay)