SKILL.md 21.9 KB

name: h3-video-prompt-main-skill version: 0.2.0 (evolve iteration 2, final) status: training source: 官方 MiniMax-AI/MiniMax-H3 仓库 raw.githubusercontent.com 逐字原文 (skills/h3-prompt-writing/{SKILL.md,references/base-en.txt,references/ref-en.txt},

2026-08-25 由 Evolver 直接 fetch 全文核实,非二手转述)

H3 视频提示词写作方法论

0. 总览与一条硬规则

MiniMax H3 提示词写作分 5 种官方输入模式:T2VA / I2VA / FL2VA / L2VA(合称"基础模式", 共享同一套 Part One + 三字段结构)/ Ref2VA("全参考模式",六字段结构)。

硬规则(本轮训练新发现,纠正了此前骨架的隐含假设): 官方仓库顶层 SKILL.md "Output Rules" 明确写道 "Write rewrite sections in English; preserve dialogue, lyrics, and visible scene text in their original language." —— 这条规则对基础模式和 Ref2VA 全部适用,不是 Ref2VA 专属。 也就是说:integrated_multimodal_description / detailed_description / overall_soundscape / non_diegetic_music / subject_definitions / summary / retention_analysis 这些结构化字段本身必须用英文书写,只有 <d>...</d> 内的对白/歌词、 和画面里真实出现的可见文字(招牌/字幕/霓虹灯字样)保留原语言逐字不译,不要翻译。

这条规则在此前 agent.md 里被写反了(agent.md 现有措辞是"跟随用户输入语言")——这是本次 Evolve 阶段直接读取官方原始文件(而非转述)新确认的发现,knowhow_v1.md §9.1 曾把这部分标为 "未核实",本轮已用 raw.githubusercontent.com 逐字读取解决,不再是未核实状态。 与用户沟通说明("这条提示词里每个选择对应你需求里的哪句话"那段附加说明)可以用中文, 但喂给模型的最终提示词原文本身必须是英文结构 + 保留原语言的对白/可见文字。


1. Step 0:信息收集(带优先级)

按以下顺序收集,缺失且无法合理推断的,一次性列全反问,不要挤牙膏:

优先级 1(不变量与事件,必须锁定):

  • 有没有参考素材?分别是图/视频/音频,各多少个?—— 决定走哪种模式
  • 核心主体是谁/是什么(人物身份特征、产品外观特征)
  • 核心动作/事件顺序是什么
  • 若有多个参考素材:每个素材各自负责锁定什么(外观/动作/风格/音色),不能让素材"裸奔"堆叠

优先级 2(时长与结构):

  • 期望时长(4-15秒,H3 官方范围)
  • 是单镜头还是需要分镜(多个 [Shot N])

优先级 3(质感,最后补):

  • 情绪基调、运镜偏好、光影氛围
  • 是否需要对白/歌唱、语言是什么
  • 音乐风格偏好,或明确不需要音乐/环境声

能从上下文合理推断的直接采用并注明"按 X 理解";只有推断会显著改变结果时才反问。


2. Step 1:5 种模式判断决策树

有参考素材吗?
├─ 没有 → T2VA(纯文本原创场景)
└─ 有 → 素材构成是什么?
    ├─ 仅 1 张首帧图 → I2VA
    ├─ 首尾各 1 张图,描述中间过渡 → FL2VA
    ├─ 仅 1 张尾帧图,需要反推之前发生了什么 → L2VA
    └─ 多素材身份/风格锁定
       (最多9图+3视频+3音频,或素材本身承担"定义可复用主体/编辑源视频/音色参考"
        等结构化角色,而不只是"起止帧锚点")→ Ref2VA

易错判断(对应 knowhow §6 / benchmark D6"首尾帧模式与全参考模式混用"):

  • 首尾各一张图 ≠ 自动等于 Ref2VA。如果两张图纯粹是"起点画面"和"终点画面",中间只是过渡动画, 用 FL2VA;只有当参考素材需要被拆成多个可复用主体、且要求跨镜头一致性追踪时,才升级到 Ref2VA。
  • 3 张不同角度的同一产品图 = 同一个 <Subject N> 的多个来源图,不要拆成 3 个不同主体 (对应 TS-06 的判分点)。
  • 用户说"给我做个视频"这种完全无参考、无场景描述的极简请求,不要臆造一个具体场景直接写, 先反问(见 Step 8 边界情况)。

3. Step 2:基础模式(T2VA / I2VA / FL2VA / L2VA)结构模板

3.1 Part One:模式专属的起始指令行(逐字模板,来自官方 base-en.txt)

  • T2VA:无指令行,直接从三字段开始。
  • I2VA(固定句式,N 恒为 1、[Shot 1] 恒为 1,因为只有一张首帧图): For the target video, at 0.00 seconds into the target video, <Picture 1> (from [Shot 1]) is fully referenced.
  • FL2VA(N 是首尾图各自所在的实际镜头号,S.SS 是尾帧对应的精确到两位小数的时刻): How the reference pictures align with the target video — Picture 1 (from Shot 1) aligns with the 0.00-second mark of the target video; Picture 2 (from Shot N) aligns with the S.SS-second mark of the target video.
  • L2VA(N 是最后一个镜头号,S.SS 是有效视频时长): How the reference pictures align with the target video — <Picture 1> (from [Shot N]) aligns with the S.SS-second mark of the target video. 指令行必须是整段提示词的第一行,后面空一行再接三字段。

硬规则(round 2 新增,修复 round 1 实测踩过的坑):上面模板里的 N / S.SS 是要你 替换成本场景具体数值的占位符,交付的最终提示词里绝对不能原样留下字面的 "Shot N" / "S.SS-second mark" 这类未解析文本——round 1 在 FL2VA/L2VA 两个场景里都真实犯过这个错误 (把模板照抄进最终输出,没有替换成具体镜头号和具体秒数),交付前必须自查一遍指令行是否已经 全部替换成实际数字。例:15 秒单镜头 FL2VA 的正确指令行是 Picture 2 (from Shot 1) aligns with the 15.00-second mark of the target video., 不是 Picture 2 (from Shot N) aligns with the S.SS-second mark...。

3.2 Part Two:三字段(顺序固定)

integrated_multimodal_description: [Shot 1] <风格声明>,<画面/动作/对白/同步音沿时间线展开>...

overall_soundscape: <环境声/动作触发音/非语言人声,1-4句连续段落>

non_diegetic_music: <角色听不到、只有观众听到的配乐,1-3句,聚焦配器/节奏/力度变化>

3.3 各模式推荐结构(内容组织,非字段本身)

模式 推荐展开结构
T2VA 直接按时间线构建完整时间线,细节需与用户意图保持一致
I2VA 首帧锚定(还原 Picture 1 的主体/构图/场景)→ 动作起势 → 连续展开 → 结果/反应
FL2VA 首帧状态 → 可观察的中间变化 → 差异逐步收窄 → 尾帧状态;优先单镜头,模型据此在首尾帧间插值;仅在用户明确要求时才拆多镜头;末尾必须落到尾帧
L2VA 合理的前置状态(自行反推)→ 明确的动作与过渡路径 → 末镜头逐步收敛 → 落到尾帧画面

4. Step 3:Ref2VA 全参考模式六字段结构

顺序固定:subject_definitions → summary → retention_analysis → detailed_description → overall_soundscape → non_diegetic_music。

4.1 subject_definitions —— 四种标签

标签 含义 使用时机
<Subject N> 可复用的可见内容(人/动物/物体/场景/服装/道具/风格/动作/表情) 参考素材里会被实际用到目标视频中的内容单元
<Picture N> 参考图作为具体目标帧或分镜锚点 仅当该图本身就是某镜头的首帧/关键帧/尾帧/构图锚点时才单独立项;如果一张图只是用来定义某个 Subject 的外观,不单独立项,在该 Subject 定义里引用来源即可
<Video N> 参考视频提供剪辑源/续接起点/整体节奏结构 用于"编辑原视频""从原视频结尾续接""复用原视频运镜/剪辑节奏"这类整段视频层面的关系
<Audio N> 被复制或引用的音频信号 复用/引用配乐风格、音色、对白台词、音效、节奏时使用

一个 Subject 可以由多个素材共同定义(如"外观来自 Picture 1,动作来自 Video 1")。 每个标签定义后,在后续所有字段里含义保持不变,不要重新定义。

<Subject 1> is the young woman in <Picture 1>, with long dark hair, a blue cardigan, and a thin silver necklace.

硬规则(round 2 新增,修复 round 1 实测踩过的坑):人物类 Subject 不能只写"如素材所示" 这类空泛描述(round 1 曾把代言人/舞者写成"with their face, hairstyle, and build as shown in the clip"——字段是有内容,但没有任何一条具体可辨识特征,等于把辨认工作甩给读者,命中 D1 tier 4 "内容单薄")。必须像对待产品一样,指名 2-3 条具体可辨识特征(发色/发长/发型、服装颜色和款式、 体态/五官特征、随身饰品),例如"a woman with straight shoulder-length black hair, a defined jawline, and a fitted charcoal-grey blazer"。产品类 Subject 同理,如果画面里有品牌标识,要点名 标识的位置/角度(如"logo 蚀刻在表盘右下角"),因为 retention_analysis 要能对应到这些具体特征, 而不是重复一遍"保持一致"这种没有信息量的话。

4.2 summary —— 方括号任务类型前缀 + 一段话概述

任务类型(可用 + 组合,不重复同一类型):

类型 使用时机
keyframe completion 图像作为目标视频的首帧/关键帧/尾帧/编辑后关键帧等具体帧锚点
reference generation 图/视频/音频提供角色/场景/风格/动作/运镜/分镜等生成指导,不作为具体帧或被剪辑/续接的源视频
video editing 直接修改一段已有源视频(编辑静态图或在关键帧之间生成不算)
video continuation 从已有源视频续接/延伸/恢复/过渡出新内容
audio reuse 同一段音频信号被全部或部分复用
audio reference 不直接复制音频信号,只引用其音乐风格/音色/对白歌词内容/音效质感/节奏/连续性
[reference generation + audio reference] The target video shows <Subject 1> ...

仅在编辑源视频时,紧跟任务类型前缀写:The target video is an edited version of <Video 1>.

4.3 retention_analysis —— 每个标签一行,标注关系标记

视觉类(<Subject N> / <Picture N> / <Video N>): fully_preserved(完整保留)/ partially_preserved(部分特征改变或只部分保留)/ attribute_transfer(特征转移到另一个可识别主体)/ weak_reference(仅保留风格/类别/构图/氛围层面的粗略相似)

音频类(<Audio N>): fully_copy(完整源音频作为目标视频完整最终音轨)/ partially_copy(只复制部分时间线或部分音轨层,或复制后增删替换了其他声音)/ reference(不直接复制信号,只引用音色/节奏/风格/对白内容/音效质感)/ weak_reference(仅保留类别/氛围层面的粗略相似)

<Subject 1> (appears in [Shot 1], [Shot 3]): fully_preserved - the woman's long dark hair, blue cardigan, and silver necklace are retained.

关系标记只能在该标签已在 subject_definitions 里定义的角色范围内选,不要把目标视频里 新增的动作/背景/剧情事件当成"参考保真度的损失"。(Sx) 不要出现在 retention_analysis 里。

4.4 detailed_description —— 主体正文

  • 开头 1-2 句英文声明整体风格(对应基础模式"[Shot 1] 开头声明风格",Ref2VA 挪到 [Shot 1] 之前)
  • [Shot 1] 无时间戳,后续镜头 [Shot N] At MM:SS.mmm, ...
  • 运镜写成自然英文动作短语,含类型+幅度+速度(见 §5)
  • 重要 <Subject N> 首次清晰出现时描述其被引用的特征/画面位置/当前动作,后续镜头沿用同一标签 不重新定义
  • 具体帧锚点用自然短语:the shot begins from <Picture 1> / the shot's keyframe corresponds to <Picture 2> / the shot ends on <Picture 3>
  • 生成类任务通常 350-500 英文词;对白密集内容优先保证完整对白时间线而非硬凑字数;编辑类描述随源视频复杂度伸缩
  • 语音来源规则:主体本人说话写 <Subject N> (Sx);台词只是被直接复用的 BGM/完整原声里的一句歌词、没有具体人物/角色/旁白发声主体时,用 <Audio N> 标注来源,不要发明一个 (Sx)

4.5 overall_soundscape / non_diegetic_music

与基础模式规则相同(见 §6),只是这里可能需要引用 <Audio N> 的复用/引用关系——环境声层的引用写进 overall_soundscape,观众专属配乐层的引用写进 non_diegetic_music,同一段音频若两层都提供, 分别在两个字段各写一句。


5. Step 4:镜头语言总表

5.1 运镜三维度:类型 + 幅度 + 速度

类型 说明
Zoom In / Zoom Out 焦距变化,机身不动
Push In / Pull Out 机身前后移动
Pan Left / Pan Right 机位不动,镜头水平摇摆
Truck Left / Truck Right 机身水平平移
Tilt Up / Tilt Down 机位不动,镜头垂直摆动
Pedestal Up / Pedestal Down 整机身垂直升降
Arc Shot 环绕主体做弧形运动
Tracking Shot 跟随移动主体
Static Shot 机位镜头均静止
Shake Slightly / Shake Strongly 轻微/强烈晃动
POV 主体第一视角
Roll Clockwise / Roll Counterclockwise 绕镜头轴顺/逆时针滚转

幅度:with small amplitude / with large amplitude;速度:at slow speed / at fast speed。 幅度与速度是两个独立维度,中等幅度+正常速度通常省略不写;只在有意义时添加。 运镜写成句子里的自然英文动作,不要在句末堆砌标签:

The camera pushes in with small amplitude at slow speed toward the folded letter in her hands.

同一镜头内不要塞进矛盾的主导运镜(如"推进"又"环绕")——需要两种运镜时拆成多个 [Shot N] 分别处理,或者明确取舍只留一个主导运镜。

5.2 分镜与转场

  • 首镜头 [Shot 1] 不加时间戳;后续镜头用递增的镜头号 + 严格递增、落在视频时长内的切入时刻:[Shot 2] At 00:03.500, the camera cuts to...
  • 常规转场用词:the camera cuts to / the shot cuts to / the shot transitions to / the shot changes to / the shot switches to;用户明确要求时才用 cross-dissolve / fade / wipe
  • 切镜必须带来主体/空间/状态/视角/时间上的新信息;只是距离或角度微调时优先用运镜而非切镜
  • 多镜头之间的时间戳必须连续衔接,不留重叠或空隙(knowhow §6 新增错误)

6. Step 5:说话人 / 对白 / 可见文字语法

  • 会说话/唱歌/发出画外人声的主体用稳定 ID (S1) (S2);多人同时说/唱用复合 ID (S1,S2);ID 跨镜头保持不变;不发声的角色不分配 ID
  • 说话人首次出现时,在 <d> 外面给出足够信息建立稳定身份(人物类型/年龄/性别/是否在画面内/音高/音色/语速/口音)
  • <d> 内部只放语言标签 + 用户提供的原始台词,逐字逐标点保留,不翻译不改写: The young woman with a quiet, breathy voice (S1) says: <d>[English] I get off at the next station.</d>
  • 画外音固定用语 says in an off-screen voiceover,紧跟其后必须声明对应角色"嘴唇保持闭合": The man (S1) says in an off-screen voiceover: <d>[English] I still remember that road.</d> while his lips remain completely closed.
  • 同一句台词/歌词跨越切镜时,在两段衔接处都用 <scenetrans> 并声明音频跨切镜连续;视频结尾被截断的台词用 <cutoff>
  • 画面里真实可见的招牌/标语/字幕/霓虹字样用英文双引号,原文原样保留不翻译:A red neon sign reading "营业中" glows above the doorway.
  • Ref2VA 里主体本人说话写 <Subject N> (Sx);画外音同样标注 off-screen;(Sx) 只在实际发声的 目标视频里按出现顺序分配一次,后续复用,不在 retention_analysis 里出现

7. Step 6:声音设计规则(比初版更精确,含官方原文的例外条件)

不可省略四项:对白具体内容、环境声类型、背景音乐风格、音效/卡点位置——声音是和画面平级的独立轨道,不能只写"有一些环境音"这类笼统描述。

overall_soundscape 的 N/A 使用条件(比 knowhow 更精确,来自官方原文): 只有当用户明确要求全程完全静音时才写 N/A;正常情况下即使环境声很轻微,也要具体描述 (如"轻微的室内环境底噪"),不能因为"没什么特别的声音"就直接标 N/A——这是本轮训练用原文纠正 knowhow §5 转述里"倾向于都用 N/A 声明"的过度泛化。

non_diegetic_music 的 N/A 使用条件:没有配乐时必须显式写 N/A,不能留空/不提该字段—— 留空会被模型理解为"自由发挥"(这条与 knowhow §5 一致,予以保留)。

对白/歌唱/角色能听到的画面内音乐属于 integrated_multimodal_description / detailed_description 的同步音,不要重复写进 overall_soundscape。


8. Step 7:具体性规范(光影/材质/氛围三问法)

任何光影、材质、氛围描述必须能回答:光从哪来?打在什么地方?造成什么视觉效果?

空词黑名单(不要用来代替具体描述):高清 / 8K / 大师级 / 超写实 / 电影感 / 精致 / 高级感 / 震撼 / cinematic(作为孤立形容词堆砌时)/ beautiful / high quality。 ——"cinematic"作为风格声明词(如"Live-action, cinematic")是官方示例里认可的用法, 但不能单独堆砌替代具体的光源/位置/效果描述,这是两回事,不要混淆。

正面范例(来自 morphic.com/zh 库,具体到光源+位置+效果):

  • "玻璃结着水汽…色彩整体压低,只留一处琥珀"
  • "钠灯下…几乎只靠一盏橙色钠灯照明"
  • "地面白得过曝、天空硬蓝、太阳正上方几乎没影子"

9. Step 8:常见错误自查清单(合并版,13 条)

原有 7 条:

  1. 质量堆砌词代替具体描述
  2. 单镜头内塞入矛盾运镜
  3. 假装读过飞书标杆文档/假装已对齐标杆水平
  4. 越级管理/派单(不适用于提示词产出本身,属于身份层规则)
  5. 留占位符或"请在此处填写"
  6. 信息严重不足时未一次性问全
  7. 不虚报质量已达标杆水平

本轮新增 6 条(knowhow §6,逐条来源):

  1. 用元指令代替具体描述("高质量""越震撼越好""帮我改进一下")——inreels.ai/fal.ai
  2. 多个参考素材未分别声明各自职责就堆叠使用——fal.ai/imagine.art
  3. 多镜头时间戳重叠或有间隙——inreels.ai
  4. 单镜头短于 1.5 秒(第三方经验总结,非官方原文明确限制,谨慎适用)——inreels.ai
  5. 首尾帧模式(FL2VA/L2VA)与全参考模式(Ref2VA)字段结构混用——imagine.art
  6. 声音部分留空/省略,或该具体的地方用了不恰当的 N/A(见 §7 精确条件)——ai-indeed.com + 本轮官方原文核实

round 2 新增(round 1 实测踩过的坑,非 knowhow 来源,来自本轮训练自查):

  1. I2VA/FL2VA/L2VA 起始指令行里的 Shot N / S.SS 是否已替换成本场景具体数值,没有遗留字面模板占位符(见 §3.1 硬规则)
  2. Ref2VA 的人物类 Subject 是否给出了具体可辨识特征,而不是"如素材所示"这类空泛描述(见 §4.1 硬规则)

自查顺序:主导运镜是否唯一 → 该模式必需字段是否全部出现且具体(含指令行数值是否已解析、 人物 Subject 是否具体可辨识)→ 声音四项是否都处理(含 N/A 精确用法)→ 光影是否通过三问法 → 参考素材是否都声明了职责 → 时间戳是否连续 → 是否有质量堆砌词/元指令残留。


10. Step 9:边界情况处理

10.1 信息严重不足(如"给我做个视频")

一次性列出全部缺失关键信息反问,不臆造具体场景往下写:主体是什么、所处场景、核心动作、 情绪基调、期望时长、是否有参考素材(有的话是图/视频/音频、各自负责什么)。 反问时可以附带"如果你有参考素材,我会走 xx 模式;如果纯文字描述,会走 T2VA"这类预判,方便用户 理解后续走向,但不要在用户回复前先斩后奏写出一版。

10.2 矛盾指令(如"镜头要一直推进,但同时环绕主体转一圈")

识别出矛盾后两种处理方式二选一,并在交付说明里写清楚选了哪种、为什么:

  • 拆成多个 [Shot N],第一镜头推进、第二镜头环绕,各自完整成立
  • 或判断哪个更贴近用户核心意图,取一个主导运镜,在说明里注明"另一个指令因物理矛盾未采用" 不要原样把两个矛盾运镜塞进同一句话里,模型无法执行。 用户话里附带的"8K电影感""越震撼越好"等元指令/空词,按 §8 直接转译为具体描述,不要照抄进最终提示词。

11. 交付清单

  • 最终提示词原文:英文结构字段 + 保留原语言的 <d> 对白/可见文字(见 §0 硬规则)
  • 简短中文说明:每个关键选择(运镜/光影/节奏/模式判断)对应用户需求里的哪句话
  • 如遇 §10 边界情况,先反问或先说明处理方式,不要跳过

12. 来源标注

本版本全部字段名/标签/关系标记/指令行模板/示例逐字取自 2026-08-25 直接 fetch 的官方原文: raw.githubusercontent.com/MiniMax-AI/MiniMax-H3/main/skills/h3-prompt-writing/{SKILL.md,references/base-en.txt,references/ref-en.txt}。 镜头术语可靠性分级、单镜头最短时长等第三方经验性说法标注来源,不与官方原文混淆。 中文实战范例(光影具体性正面样板)来自 morphic.com/zh,未核实原创性,仅作范式参考。