Agent Skills: MV Production Standard Skill

MV production standard — end-to-end music video creation workflow

UncategorizedID: aaaaqwq/claude-code-skills/mv-production-standard

Install this agent skill to your local

pnpm dlx add-skill https://github.com/aAAaqwq/AGI-Super-Team/tree/HEAD/skills/mv-production-standard

Skill Files

Browse the full folder contents for mv-production-standard.

Download Skill

Loading file tree…

skills/mv-production-standard/SKILL.md

Skill Metadata

Name
mv-production-standard
Description
MV production standard — end-to-end music video creation workflow

MV Production Standard Skill

AI MV 制作标准流程 — 每一步都有明确产出,不允许跳步。

触发条件

用户要求制作/生成/合成 MV、音乐视频、music video,或任何"给这首歌配视频"的需求。


铁律(违反 = P0 事故)

| # | 铁律 | 说明 | |---|------|------| | 1 | 音频版本 | 必须确认用户指定的版本,不许自作主张换版本。如果用户说"用那个长的",就问清楚是哪个。 | | 2 | 视频时长 | 视频时长必须与指定音频版本一致(可略长 ≤2s,不可短)。 | | 3 | 歌词字幕 | 必须有歌词字幕烧录,且对齐到歌曲时间轴。不允许交付无字幕的 MV。 | | 4 | 口型对齐 | 如果有人物/歌手画面,必须做 lip-sync。不允许人物张嘴但没声音或声音不同步。 | | 5 | 不允许假视频 | Ken Burns / 静态图推拉不算视频。如果预算/工具不允许生成真视频,必须提前告知用户并取得同意。 |


完整流程

Phase 1: 素材确认

目标: 锁定所有输入素材,避免后期返工。

步骤:

  1. 确认音频版本

    • 列出所有可用音频版本(文件名、时长、大小)
    • 直接问用户:"有 v1(270s), v2(274s), v3(236s) 三个版本,你要用哪个?"
    • 等用户明确回复后再继续
    • 记录选择的版本到工作日志
  2. 获取歌词

    • 确认歌词来源(用户提供 / 网上查找)
    • 获取带时间轴的歌词(LRC/SRT),或准备好手动打轴
    • 如果没有时间轴歌词,在 Phase 3 补上
  3. 确认风格与分镜需求

    • 问用户:需要什么风格?(动画/真人/混合)
    • 是否有人物出镜?→ 决定是否需要 lip-sync
    • 大致场景数量和主题
  4. 确认输出规格

    • 分辨率(1080p / 4K)
    • 格式(MP4 / MOV)
    • 是否需要硬字幕 / 软字幕

产出文件:

output/{project-name}/
├── config.json          # 素材确认记录(音频版本、歌词路径、输出规格)
├── audio/               # 指定版本的音频文件
└── lyrics/              # 歌词文件(纯文本 + LRC/SRT)

关键检查:

  • [ ] 用户已明确指定音频版本
  • [ ] 歌词文件已获取
  • [ ] 是否有人物出镜已确认

Phase 2: 分镜 → 视频(AI生成或实拍)

目标: 为每个场景生成视频素材。

步骤:

  1. 编写分镜脚本

    • 根据歌词内容和歌曲结构划分场景
    • 每个场景指定:起止时间、画面描述、运动方式、是否有人物
    • 输出: storyboard.jsonstoryboard.md
  2. 生成/获取视频素材

    • AI生成: 使用 Kling / Runway / Pika 等工具
      • 每个 clip 建议 5-10s
      • 有人物说话的场景标记为需要 lip-sync(Phase 6 处理)
    • 实拍: 如果用户提供实拍素材,直接使用
    • ⚠️ 禁止: 不允许用 Ken Burns(静态图推拉)冒充视频。如果用户明确同意"用图片做过渡"则可以,但必须在分镜中标注
  3. 素材质量检查

    • 每个 clip 检查分辨率、时长、画面质量
    • 剔除模糊、闪烁、明显错误的 clip

产出文件:

output/{project-name}/
├── storyboard.md        # 分镜脚本
├── clips/               # 各场景视频片段
│   ├── scene01.mp4
│   ├── scene02.mp4
│   └── ...
└── storyboards/         # 分镜图片(如有)

关键检查:

  • [ ] 所有场景都有对应的视频素材(非静态图)
  • [ ] 总视频素材时长 ≥ 音频时长
  • [ ] 有人物的场景已标记

Phase 3: 音频分析(beat / section / 歌词时间轴)

目标: 分析音频结构,建立时间轴。

步骤:

  1. 节拍分析

    • 使用 av-sync-workflow 或音频分析工具
    • 提取 BPM、beat 时间点
    • 标记歌曲段落:前奏 / 主歌 / 副歌 / 桥段 / 尾奏
    • 输出: beats.json
  2. 歌词时间轴对齐

    • 使用 lyrics-video-sync 工具
    • 如果有 LRC 文件,解析时间轴
    • 如果没有,手动/半自动打轴:听歌标记每句歌词的起止时间
    • 每句歌词精确到 0.1s
    • 输出: lyrics.srtlyrics.ass
  3. 节拍-画面映射

    • 将分镜场景对齐到歌曲段落
    • 关键节拍(副歌起拍、鼓点)对应画面转场
    • 输出: sync-plan.json(每个转场点的时间 + 对应场景)

产出文件:

output/{project-name}/
├── beats.json           # 节拍时间点
├── sections.json        # 歌曲段落划分
├── lyrics.srt           # 带时间轴的歌词
└── sync-plan.json       # 节拍-画面同步计划

关键检查:

  • [ ] 歌词时间轴已对齐(听一遍确认每句歌词时间正确)
  • [ ] 节拍点已提取
  • [ ] 场景-段落映射已建立

Phase 4: 音视频同步(卡点对齐)

目标: 视频片段精确对齐到歌曲节拍和段落。

步骤:

  1. 根据 sync-plan.json 剪辑视频片段

    • 按节拍点调整每个场景的起止时间
    • 副歌前的场景在鼓点处切换
    • 长段落(主歌)可根据内容细分
  2. 转场处理

    • 场景间使用交叉淡化(crossfade),默认 0.5-1s
    • 禁止硬切(除非用户要求或艺术效果需要)
    • 副歌进入时可使用更剧烈的转场(闪白、缩放)
  3. 时长校准

    • 如果素材过长:减速或裁剪
    • 如果素材过短:使用时间拉伸 / 补充素材
    • 确保: 总视频时长 ≥ 音频时长
  4. 粗合成(无字幕)

    • 将所有剪辑后的片段拼接成时间线
    • 铺上指定版本的音频
    • 输出: draft_v1.mp4(粗剪版,不含字幕)

产出文件:

output/{project-name}/
├── timeline.json        # 最终时间线(每个片段的起止时间)
├── transitions.json     # 转场设置
└── video/
    └── draft_v1.mp4     # 粗剪版(含音频,无字幕)

关键检查:

  • [ ] 视频总时长 ≥ 音频时长(误差 <2s)
  • [ ] 关键节拍有对应的画面变化
  • [ ] 转场流畅,无明显硬切
  • [ ] 草稿版看起来节奏感正确

Phase 5: 歌词字幕(SRT/ASS + 烧录)

目标: 生成精确对齐的字幕并烧录到视频。

步骤:

  1. 字幕文件准备

    • 使用 Phase 3 产出的 lyrics.srt
    • 如果使用 ASS 格式,设置样式:
      • 字体大小、颜色、描边
      • 位置(底部居中或随画面调整)
      • 动画效果(淡入淡出、逐字显示等)
  2. 字幕时间轴校验

    • 在视频播放器中加载字幕,逐句确认对齐
    • 重点检查:歌词换气处、副歌重复段落
    • 修正偏移量
  3. 烧录字幕到视频

    • 使用 ffmpeg 烧录:
      ffmpeg -i draft_v1.mp4 \
        -vf "subtitles=lyrics.ass:force_style='FontSize=24'" \
        -c:a copy \
        draft_v2_with_subtitles.mp4
      
    • 或使用 video-lyrics-subtitle skill

产出文件:

output/{project-name}/
├── lyrics.ass           # 带样式的字幕文件
└── video/
    └── draft_v2_with_subtitles.mp4

关键检查:

  • [ ] 字幕时间轴与音频精确对齐
  • [ ] 字幕样式美观、可读
  • [ ] 无遗漏歌词
  • [ ] 烧录后视频质量无明显下降

Phase 6: Lip-sync(人物口型对齐)

目标: 人物画面中口型与歌曲同步。

⚠️ 仅当有人物出镜时需要此阶段。

步骤:

  1. 标记需要 lip-sync 的场景

    • 从 storyboard 中找出有人物说话/唱歌的片段
    • 确认这些片段的时间范围
  2. 使用 digital-human-api 进行口型对齐

    • 输入: 视频片段 + 对应时间段的音频
    • 生成: 口型对齐后的视频片段
    • 如果工具不可用,使用替代方案:
      • Wav2Lip / SadTalker 等开源工具
      • 或重新用 AI 视频生成工具生成带口型的片段
  3. 替换原片段

    • 将 lip-sync 后的片段替换回时间线
    • 检查拼接处是否平滑

产出文件:

output/{project-name}/
├── clips_synced/        # 口型对齐后的片段
│   ├── scene08_synced.mp4
│   └── scene09_synced.mp4
└── video/
    └── draft_v3_lipsynced.mp4

关键检查:

  • [ ] 人物口型与歌词匹配
  • [ ] 口型过渡自然(不卡顿、不扭曲)
  • [ ] 替换后时间线无偏移

Phase 7: 最终合成 + 质量检查

目标: 输出最终 MV,通过全部质量检查。

步骤:

  1. 最终合成

    • 整合所有阶段产出
    • 确认音频为用户指定版本
    • 添加片头/片尾(如需要)
    • 输出: final_mv.mp4
  2. 质量检查清单(全部通过才能交付):

    | # | 检查项 | 通过标准 | |---|--------|----------| | 1 | 音频版本 | = 用户指定版本(文件名、时长都匹配) | | 2 | 视频时长 | ≥ 音频时长,误差 <2s | | 3 | 歌词字幕 | 已烧录,时间轴正确,无遗漏 | | 4 | 口型对齐 | 有人物场景口型已同步(如适用) | | 5 | 转场 | 场景切换流畅,无硬切 | | 6 | 音画同步 | 关键节拍有对应画面变化 | | 7 | 画质 | 无明显压缩伪影,分辨率符合要求 | | 8 | 总体观感 | 连续看完一遍,主观感受流畅 |

  3. 生成交付包

    output/{project-name}/deliver/
    ├── final_mv.mp4           # 最终MV
    ├── lyrics.srt             # 外挂字幕(可选)
    ├── lyrics.ass             # ASS字幕(可选)
    ├── config.json            # 素材配置记录
    └── README.md              # 制作说明
    

产出文件:

output/{project-name}/deliver/
└── final_mv.mp4         # 最终交付文件

目录结构标准

output/{project-name}/
├── config.json              # Phase 1: 素材确认
├── audio/                   # Phase 1: 音频文件
│   └── {version}.mp3
├── lyrics/                  # Phase 1: 歌词
│   ├── lyrics.txt
│   └── lyrics.srt
├── storyboard.md            # Phase 2: 分镜
├── clips/                   # Phase 2: 视频素材
├── beats.json               # Phase 3: 节拍
├── sections.json            # Phase 3: 段落
├── sync-plan.json           # Phase 3: 同步计划
├── timeline.json            # Phase 4: 时间线
├── transitions.json         # Phase 4: 转场
├── clips_synced/            # Phase 6: 口型对齐片段
├── video/                   # 各阶段视频产出
│   ├── draft_v1.mp4         # Phase 4: 粗剪
│   ├── draft_v2_with_subtitles.mp4  # Phase 5: 加字幕
│   ├── draft_v3_lipsynced.mp4       # Phase 6: 加口型
│   └── final_mv.mp4         # Phase 7: 最终版
└── deliver/                 # 交付包
    └── final_mv.mp4

常见问题

Q: 用户没有指定音频版本怎么办?

A: 停下来问。 列出所有版本和时长,等用户回复。绝不自作主张。

Q: 工具不足以完成某个 Phase 怎么办?

A: 诚实告知用户。 说明缺少什么工具、有什么替代方案、需要多少额外时间/成本。不要偷工减料。

Q: 时间紧迫,可以跳过某些步骤吗?

A: 可以,但必须告知用户跳过了什么、影响是什么。 让用户做权衡决策。默认不可跳过 Phase 1(素材确认)和 Phase 7(质量检查)。

Q: Ken Burns 效果什么时候可以用?

A: 仅当用户明确同意用图片过渡时使用。 且必须在分镜中标注为"静态图过渡"。不能把静态图当真视频交付。


相关 Skills

| Skill | 用途 | |-------|------| | av-sync-workflow | 音视频同步、节拍对齐 | | lyrics-video-sync | 歌词时间轴对齐 | | video-lyrics-subtitle | 字幕烧录 | | digital-human-api | Lip-sync 口型对齐 | | mv-generator | MV 管线集成 |


版本历史

| 版本 | 日期 | 说明 | |------|------|------| | 1.0 | 2026-04-12 | 初始版本,基于《樱花落尽时》MV 制作教训总结 |