SuperAPI AI Directory

mv-skill

Design & creation

View repository

Updated 10-16 09:16

About this skill

MV Skill - Dynamic Short Video Generator

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:

  1. Understand the requirements - Extract from the user's description: theme, style, duration preference, whether there is local music
  2. Select a template - Match the most suitable template based on style keywords (see the template table below)
  3. Generate a storyboard script - Call storyboard_generator.py to generate the scene list
  4. Acquire/generate music - Prefer the music provided by the user; otherwise call the Suno API to generate; if that fails, use placeholder audio
  5. Acquire assets - Call asset_manager.py to download image/video clips from the asset library
  6. Display the storyboard preview - Display each scene in a text table format (scene name, duration, description, assets)
  7. Wait for confirmation - Ask the user whether to confirm, or which scene needs modification
  8. Render output - After the user confirms, call renderer.py, output MP4 to the output/ directory
  9. 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 base
  • zimage-skill - AI image generation (material fallback)
  • media-downloader - Stock library downloads (Pexels/Pixabay)