The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Productivity · SKILL.md

music-mv-storyboard

music-mv-storyboard

为完整歌曲编写连续的 MV 分镜和 Seedance / 即梦视频提示词。适用于歌词分镜与整曲视频分段规划;每段上限由用户指定为 10–15 秒整数。仅输出脚本,不生成视频。

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: music-mv-storyboard description: 为完整歌曲编写连续的 MV 分镜和 Seedance / 即梦视频提示词。适用于歌词分镜与整曲视频分段规划;每段上限由用户指定为 10–15 秒整数。仅输出脚本,不生成视频。

音乐 MV 分镜生成器

任务

把完整歌曲规划为可分别生成、随后连续剪辑的 Seedance 2.0 / 即梦视频片段。歌词、情绪、人物和场景需要连续;时长约束是硬边界,不以创意为理由突破。

仅生成 Markdown 分镜与提示词,不调用视频生成 API。

确定片段上限

先从当前请求及上下文提取每段视频时长上限。已提供有效值时直接采用,不重复询问。

只接受 10、11、12、13、14、15;缺失或无效时,与下方其他必要缺口一次询问。不要擅自取整或采用默认上限。上限未确定前可分析已有歌词,但不定稿时间轴。

收集必填输入

同时检查已有输入,不重复索取:

  1. 歌曲名称
  2. 完整歌词
  3. 歌曲风格
  4. 歌曲总时长

缺少的必要项一次收集。总时长接受 M:SS 或整数秒,并换算为正整数秒;含小数秒时将取整确认合并到同一次询问,不自行估算。歌词疑似节选时,询问是否已提供完整版本。

画幅可选:16:9 或 9:16,未指定默认 16:9。

规划完整时间轴

分析歌曲

识别前奏、主歌、预副歌、副歌、间奏、桥段、尾奏,梳理歌词叙事、情绪弧线、重复副歌和无歌词的器乐时间。

分配时长

为每段分配正整数秒,并同时满足:

  • duration_sec 不超过 max_clip_sec
  • 第一段从 0 秒开始
  • 下一段 start_sec 等于上一段 end_sec
  • end_sec - start_sec 等于 duration_sec
  • 最后一段 end_sec 等于 song_duration_sec
  • 所有 duration_sec 之和等于 song_duration_sec

上限为 10 秒时,任何段落都不能出现 11 秒或更长;其他上限同理。

不要为了平均时长破坏歌词语义。若一个语义单元超过上限,在自然停顿、并列画面或动作转折处分段,并让后段继承前段的主体位置、动作方向、光线或转场元素。

前奏、间奏、尾奏没有歌词时,用“纯器乐”标记对应歌词并设计画面,确保整首歌曲没有时间空洞。

保持 MV 连续性

在逐段提示词之前建立统一视觉圣经:

  • 主要角色:年龄段、面部特征、发型、服装、标志性物件
  • 世界设定:时代、地点、季节、天气
  • 色彩弧线:随歌曲情绪变化的主色和光比
  • 视觉母题:贯穿全片的物件、动作或构图
  • 空间与动作连续:上一段结束状态对应下一段开始状态
  • 人物空间调度:移动角色必须写清起点、行进方向、目标位置、停止位置、最终朝向和视线对象

副歌复现同一视觉母题,但通过景别、动作进度、环境变化或光线强度表现升级,不机械复制画面。

编写每段分镜

每段包含:

  1. 时间码与整数时长
  2. 对应歌词;无歌词写“纯器乐”
  3. 叙事作用与情绪
  4. 画面主体、可见动作、表情外化
  5. 场景、光影和色彩
  6. 景别与一种主要运镜
  7. 人物空间调度与最终站位关系
  8. 与前后片段的转场及连续性
  9. 可直接复制的 Seedance 2.0 / 即梦提示词

镜头描述使用可执行的视觉语言。用“低头、攥紧衣角、呼吸放缓”等动作表达情绪,不用“高级、唯美、电影感”等空泛词单独代替画面。

人物发生走近、离开、穿越、追随等位移时,不使用孤立的“走来”“走近”“走远”。按“从哪里出发 → 沿什么方向/路径移动 → 走向谁或哪里 → 在何处停下 → 最终面向谁、视线落在哪里”的顺序描述。多人镜头还要写清左右、前后、距离和面对关系,避免模型生成无目标移动、背对交流或站位跳变。

单个片段内部建议镜头数:

  • 1–6 秒:1–3 镜
  • 7–10 秒:3–4 镜
  • 11–15 秒:4–6 镜

每个小镜头只指定一种主要运镜,避免同镜同时推、拉、摇、移。

Seedance 2.0 / 即梦提示词

每段使用以下结构,控制在 2000 个中文字符以内:

画面无任何字幕。

【风格】{歌曲视觉风格},{N}秒,{16:9|9:16},{本段氛围}

【镜头】
镜头1:{单一运镜}+{主体与可见动作}+{场景与光影}+{必要音效}
镜头2:...

【声音】仅保留<环境音>与<动作音效>,无背景音乐,无人声演唱。
【衔接】{承接上一段结束状态;为下一段保留的动作或构图}
【约束】主体外观全程一致,动作连贯自然,画面干净无文字元素、无水印无标识

提示词开头只写一次“画面无任何字幕。”。约束使用正向表达。避免详细暴力过程、过度暴露、敏感政治符号和其他即梦高风险内容;必要时保留歌曲情绪,改用光影、声效与人物反应表达。

声音规则

  • 分镜视频不生成 BGM、配乐、歌曲旋律、人声演唱或节拍伴奏。
  • 【声音】仅写环境音和画面内动作产生的拟声音效,例如风雨、脚步、衣料、开门、鸟鸣、水声;每个片段都明确写“无背景音乐,无人声演唱”。
  • 歌曲的节奏、段落和情绪只用于安排镜头、动作与后期剪辑点,不写入视频生成提示词的【声音】字段。
  • 纯器乐段同样只设计画面与现场音,不复刻原歌曲乐器。

时长校验

生成时间轴后,先写临时 JSON,结构如下:

{
  "song_duration_sec": 220,
  "max_clip_sec": 10,
  "segments": [
    {"id": 1, "start_sec": 0, "end_sec": 10, "duration_sec": 10},
    {"id": 2, "start_sec": 10, "end_sec": 19, "duration_sec": 9}
  ]
}

运行:

python "<Skill目录>/scripts/validate_timeline.py" "<timeline.json>"

<Skill目录> 为本次读取的 SKILL.md 所在目录,调用时替换为实际绝对路径,不依赖工作区目录结构。

校验失败时调整边界并重跑。只有校验通过才输出和保存最终分镜。不要修改脚本来迁就错误时间轴。

输出与保存

完整输出严格遵循 references/output-template.md。

保存到 storyboards/<歌曲名称>-MV分镜.md。若 storyboards/ 不存在则创建。文件名移除 Windows 不允许的字符。

完成前检查

  • 是否采用已提供的有效上限,并仅询问缺失或无效的必要输入
  • 是否获得歌名、完整歌词、风格和总时长
  • 是否覆盖前奏、全部歌词、间奏和尾奏
  • 每段是否为正整数秒且不超过用户上限
  • 时间轴是否连续无重叠、无空隙
  • 分段总和是否严格等于歌曲总时长
  • 角色、服装、场景和动作是否前后连续
  • 所有人物位移是否包含起点、路径、目标、终点站位、最终朝向和视线关系
  • 重复副歌是否有视觉呼应与升级
  • 每段提示词是否写明自身时长和画幅
  • 每段【声音】是否只有环境音与动作音效,并明确声明“无背景音乐,无人声演唱”
  • 每段提示词是否不超过 2000 个中文字符
  • 校验脚本是否返回成功
  • Markdown 文件是否已保存到正确路径
Saved skills