只写一句“电影感画面”,等于把大量细节交给模型自行发挥:不写镜头指令,官方提示说明中提到,结果往往会停在固定机位;声音字段不明确,不想要的对白也可能混进来。MiniMax H3 的提示词更像一份精简的拍摄脚本:官方指南规定了固定的三个字段、镜头时间戳、稳定的说话人 ID,以及两个独立的声音字段。整份脚本还要受限于约 7,000 个字符的提示词预算(具体取决于服务商),视频最长为 15 秒。
先选对格式:H3 的两套指南与四种模式
MiniMax 在 Hugging Face 的 MiniMax-H3 仓库中提供了两份独立的提示词编写指南,分别面向不同工作流。基础指南适用于不上传参考素材的四类生成任务;只要上传的图片、视频或音频参与生成,就应改用参考指南。基础指南涵盖以下四种模式:
| 模式 | 输入 | 提示词中必须写的对齐说明 |
|---|---|---|
| T2VA | 仅文本 | 无需说明,直接从核心字段开始 |
| I2VA | 一张首帧图片 | "Picture 1 is fully referenced at 0.00 seconds and belongs to [Shot 1]" |
| FL2VA | 首帧 + 尾帧 | Picture 1 位于 0.00 秒,Picture 2 位于准确的结束时间 |
| L2VA | 一张尾帧图片 | Picture 1 对齐视频结束时间及最后一个镜头 |
两份指南都附有完整示例,MiniMax 发布文章对模型的定位也一致:不是从菜单中选择任务,而是描述文本、图片、视频和音频输入之间的关系。托管平台通常将其简化为三个工作流(fal 上的 minimax/h3/text-to-video、image-to-video 和 reference-to-video),但底层提示词结构并没有变化。
基础提示词怎么写:逐项拆解
基础模式下,MiniMax H3 的提示词在对齐说明之后,必须包含三个字段,字段之间以空行分隔。结构如下:
[alignment instruction if I2VA/FL2VA/L2VA]
integrated_multimodal_description: [Shot 1] ...
overall_soundscape: ...
non_diegetic_music: ...
integrated_multimodal_description负责整条时间线:视觉风格、构图、动作、镜头切换、说话人、对白和画内声音,也就是画面中可见或可听到的一切。overall_soundscape用 1–4 句话、一个自然段概括环境声与实体声音,不包含对白。non_diegetic_music描述只有观众能听见的配乐,用 1–3 句话即可;没有配乐则填N/A。
下面是基于官方指南 T2VA 案例改写的完整示例,场景设定为日出前的面包店:
integrated_multimodal_description: [Shot 1] Live-action, cinematic. A medium-wide
shot of a small bakery interior before sunrise; warm tungsten light, flour dust in
the air. A middle-aged baker (S1), grey apron, rolled sleeves, lifts the security
shutter. The camera pushes in with small amplitude at slow speed as he places
fresh bread on a wooden counter. (S1) says in a warm, mid-pitch voice <d>[English]
First batch of the day.</d> At 00:05.000, the camera cuts to a close-up of his
hands slicing a loaf; (S1)'s words carry over from the previous shot, <scenetrans>
continuing seamlessly across the cut.
overall_soundscape: The rattling shutter, metal trays set down on stone, a doorbell
chime, footsteps on tile, and the crusty sound of a knife slicing bread.
non_diegetic_music: Acoustic guitar and upright bass at a slow tempo, gentle
dynamics fading out before the final shot.
按照官方规则,各行分别控制什么:
| 提示词元素 | 控制内容 | 规则 |
|---|---|---|
[Shot 1] Live-action, cinematic. | 全局风格 | 风格标签放在 Shot 1 开头;指南列举的部分示例包括:Cinematic、live-action、2D-animated、3D CG、claymation、watercolor、vintage film |
A middle-aged baker (S1), grey apron, rolled sleeves | 说话人身份 | 身份属性应写在 ID 前,且 ID 必须跨镜头保持一致 |
The camera pushes in with small amplitude at slow speed | 镜头运动 | 以自然动作描述运动类型、幅度和速度 |
<d>[English] First batch of the day.</d> | 对白 | 只写语言标签和逐字对白,必须原样保留,不能翻译 |
At 00:05.000, the camera cuts to... | 切镜时间 | 时间必须严格递增;[Shot 1] 本身不写时间戳 |
<scenetrans> continuing seamlessly across the cut | 音频连续性 | 用于标记跨切镜延续的对白,连接处两端都要写 |
镜头、切换与运镜:时间戳别写错
MiniMax H3 的镜头语法有明确位置规则:[Shot 1] 永远不带时间戳,后续每个镜头则以严格递增的切换时间开头,例如 At 00:03.500,。推荐使用简短的切镜表达,如“the camera cuts to”“the shot transitions to”“the shot switches to”。交叉溶解、淡入淡出和划像等转场,只有在确实需要时才应明确写出。若只是构图略微变化,官方指南建议使用镜头运动而不是切镜,因为切镜应引入新的主体、空间、状态或时间信息。
镜头运动应写成自然的英文动作,最多包括三个维度:运动类型、幅度和速度。
| 维度 | 可用表达 |
|---|---|
| 运动类型 | Zoom In/Out, Push In/Pull Out, Pan Left/Right, Truck Left/Right, Tilt Up/Down, Pedestal Up/Down, Arc Shot, Tracking Shot, Static Shot, Shake Slightly/Strongly, POV, Roll Clockwise/Counterclockwise |
| 幅度 | "with small amplitude", "with large amplitude" |
| 速度 | "at slow speed", "at fast speed" |
中等幅度和正常速度按惯例省略即可。还要注意两者的语义区别:"Zoom In" 是相机位置不动、通过改变焦距推进;"Push In" 则是相机实体向前移动。官方指南有意保留了这一区分。
对白与说话人标签:避免串台和乱码
MiniMax H3 提示词中,每个会发声的角色都要分配稳定 ID,例如 (S1)、(S2);同步说话可用复合标签,如 (S1,S2)。同一角色在所有镜头中都必须沿用同一个 ID。完全不说话的角色无需分配 ID。说话人首次出现时,应尽量交代足够的身份信息,以提高角色稳定性:是否出镜、年龄段、性别、声调、音色、语速、口音等。
单句对白的正确语法如下:
A woman in her 30s (S2), on-screen, mid-pitch voice, says with quiet anger
<d>[English] You promised me the 15th.</d>
官方文档中的四条规则可以规避最常见的问题。身份、动作和说话方式必须写在 <d> 外;<d> 内只保留语言标签和完整原话,连标点都要原样保留。旁白必须使用原文短语“says in an off-screen voiceover”,紧接着说明画面中角色嘴唇保持闭合。对白跨越切镜时,要在连接的两端加入 <scenetrans>,并搭配“continues seamlessly across the cut”或“carries over from the previous shot”等连续性描述。视频结束时对白被截断,则使用 <cutoff>。
引号只有一个保留用途:视频中实际可见的文字,例如横幅、招牌、标签、霓虹字和字幕,必须使用英文双引号原样写出,不能翻译。把口语对白放进引号,是 H3 将其渲染成烧录字幕而不是语音的官方已知原因。
两个声音字段分别管什么
MiniMax 发布文章指出,H3 的音频会随视频一并原生生成,且输出为立体声。因此声音不该只是塞进画面描述中的几个形容词,而是应使用两个独立字段。overall_soundscape 用 1–4 句话描述环境声和实体声音,例如风、雨、车流、脚步、衣料摩擦、撞击、呼吸和笑声;只有明确要求完全静音时,才写 N/A。non_diegetic_music 则描述角色听不到的配乐,可写乐器、速度、节奏和动态变化。官方明确不建议使用“epic”“emotional”这类抽象情绪词;若不需要配乐,正确写法就是 N/A。
唱歌、场景内收音机、街头乐手等画内声音,不属于这两个字段,而应写进承载时间线的 integrated_multimodal_description。这种划分并非形式主义:APIMODELS 的教程指出,想获得稳定结果就需要明确的声音约束;若 non_diegetic_music 留空或写得模糊,模型可能加入你从未要求过的音乐。
参考素材模式:标签与保留规则
当上传的素材会影响生成时,就要切换到参考指南。该模式要求按固定顺序写六个部分:subject_definitions、summary、retention_analysis、detailed_description、overall_soundscape、non_diegetic_music。对于生成任务,detailed_description 正文通常为 350–500 个英文单词;对白较多时,应优先容纳完整口语时间线,即使这会偏离建议字数。
主要使用四类标签:
| 标签 | 用途 |
|---|---|
<Subject N> | 实际出现在成片中的可见内容:人物、产品、场景、服装、风格,或从任意素材抽象出的动作 |
<Picture N> | 作为具体画面锚点的图片:首帧、关键帧、尾帧或构图锚点 |
<Video N> | 整段视频层面的关系:剪辑来源、续接点、镜头或切换结构、节奏 |
<Audio N> | 被复制或参考的音频信号:音色、歌词、节拍、音效 |
每类标签独立编号。因此,同一个上传视频可以是 <Video 1>,而它的音轨可以是 <Audio 2>。说话主体需将标签与说话人 ID 组合,例如 <Subject 3> (S1)。
summary 部分以方括号任务前缀开头,例如 [reference generation] 或 [video editing + audio reuse]。如果是视频编辑任务,必须以“The target video is an edited version of <Video 1>.”开头。接下来,retention_analysis 要为每个标签指定一个保留标记:视觉素材使用 fully_preserved、partially_preserved、attribute_transfer 或 weak_reference;音频使用 fully_copy、partially_copy、reference 或 weak_reference。这些标记就是告诉 H3:人物脸部必须保留,但服装可以变化。
以下是按官方顺序编写的最小参考模式骨架:
subject_definitions:
<Subject 1>: the woman from Picture 1, long blonde hair, light-pink shirt
<Picture 1>: first frame of [Shot 1], café window seat
<Audio 1>: voice-timbre reference for <Subject 1> (S1)
summary: [reference generation + audio reference] One short paragraph naming the
task, the target video, and each reference relationship.
retention_analysis:
<Subject 1> (appears in [Shot 1], [Shot 2]): fully_preserved, same face, hair, outfit
<Picture 1> ([Shot 1] first frame): fully_preserved
<Audio 1> (S1 voice): reference, timbre only, no copied words
detailed_description: [1–2 style sentences.] [Shot 1] ... [350–500 words, dialogue
in <d> tags, <scenetrans> across cuts]
overall_soundscape: [Ambience and physical sounds.]
non_diegetic_music: N/A
H3 出问题时:按症状排查提示词
| 症状 | 可能的提示词原因 | 解决方法 |
|---|---|---|
| 乱码或虚构的“Sims 式语言” | 对白没有结构、没有说话人 ID,或未描述不说话的角色 | 加入 (S1)/(S2) ID,用 <d>[Language] ...</d> 包住逐字对白,并明确描述无台词角色不说话 |
| 对白被烧录成字幕 | 把口语对白写进了引号 | 引号只用于画面可见文字;将对白移入 <d> 标签 |
| 对白分配给错误角色 | 说话人 ID 没有绑定到已描述的人物 | 角色首次出现时写清身份特征,包括年龄、是否出镜和声音;跨镜头保持 ID 不变 |
| 出现从未要求的配乐或音乐 | non_diegetic_music 缺失或写得含糊 | 不需要配乐时写 non_diegetic_music: N/A;社区讨论普遍认为这是消除意外音频的有效方法 |
| 出现计划外切镜 | 场景变化暗示了切镜,但没有时间戳 | 使用 [Shot N] At 00:03.500 并明确写出切镜表达;单镜头画面应请求“no cuts” |
| 人脸、服装或产品发生漂移 | 没有声明参考素材的角色 | 在 retention_analysis 中为对应标签添加 fully_preserved,并在每次出现时重复该标签 |
乱码和字幕两项直接来自官方语法规则;r/StableDiffusion 社区讨论也独立反馈,这些修复在实操中同样有效。其中,non_diegetic_music: N/A 是处理意外音频时被提及最多的方法之一。
限制条件与测试提示词的成本
生成边界很重要:提示词长度有限,而且每次迭代都要付费。以下是官方 API 与托管服务商文档中列出的限制:
| 参数 | 数值 | 说明 |
|---|---|---|
| 视频时长 | 最长 15 秒,按整秒计 | fal/EvoLink 端点最短为 5 秒;部分 V2 API 文档标为 4 秒 |
| 分辨率 | 768p 和 2K,24 FPS | MiniMax 表示 2K 是默认输出分辨率 |
| 参考文件 | 最多 9 张图片、3 个视频、3 段音频 | 合计 12 个文件;音频不能作为唯一参考素材 |
| 提示词长度 | 约 7,000 个字符 | fal 和 V2 API 文档如此标注;APIMODELS 标为 20,480,需以服务商为准 |
| 画幅比例 | 21:9、16:9、4:3、1:1、3:4、9:16、自适应 | 图生视频会沿用输入图片的比例 |
价格会随服务商变化,因此以下仅应视为带日期的价格快照,而非固定价目表。根据8 月 1 日的价格快照,fal 上的 2K 生成价格为每秒 $0.26(5 秒 $1.30,15 秒 $3.90),前五张参考图片免费,额外图片每张 $0.08。APIMODELS 上,H3 的价格为每秒 $0.088(15 秒视频为 $1.32),且仅对成功请求收费。作为参考,同一平台上的每秒价格如下:
真正影响预算的是重试次数:一条结构化的 15 秒对白提示词,第二次生成成功,在 APIMODELS 上成本为 $2.64;一条无结构提示词若需要五次尝试才能得到一个可用结果,成本则为 $6.60。如需通过托管 H3 端点迭代提示词,AIReiter 的 MiniMax H3 API 页面提供了该模型,页面会显示当前价格。
可直接复制的起步模板
以下两套基础骨架足以覆盖多数短视频任务。填写方括号内容时,请完全保留字段名和空行:
integrated_multimodal_description: [Shot 1] [style label]. [Composition and
subject with 1–2 identity details]. [One primary action with physically
plausible pacing]. The camera [motion type] with [amplitude] at [speed].
[Character description] (S1) says in [voice description] <d>[Language]
[exact line]</d>. At [MM:SS.mmm], the camera cuts to [new subject or space],
[continuity phrase if dialogue crosses the cut].
overall_soundscape: [Ambience + physical action sounds, 1–4 sentences.]
non_diegetic_music: [Instrumentation, tempo, dynamics] or N/A
Picture 1 is fully referenced at 0.00 seconds and belongs to [Shot 1].
integrated_multimodal_description: [Shot 1] [Style consistent with Picture 1].
The scene, subject, colors, and spatial relationships of Picture 1 remain
consistent. [Action developing forward from the first frame → result or
reaction]. The camera [motion type] with [amplitude] at [speed].
overall_soundscape: [Ambience and action sounds grounded in the image.]
non_diegetic_music: N/A
如果你需要的不是空白模板,而是经过验证的提示词,以下三个资源库都保留了来源链接。ecomimagelab/awesome-minimax-h3-prompts:共 58 条提示词,其中 39 条来自官方、19 条经社区测试;每条均附带可下载的结果视频,遵循“No video, no entry.”规则。imagineVid/Awesome-minimax-h3-prompts-and-skills:收录六类工作流中的 28 个验证案例,涵盖全能参考身份一致性和原生音频对白等用途。APIMODELS gallery:按使用场景整理了 226 条提示词,每条均附带视频;其核心原则是“References carry identity, the prompt carries action.”
编写脚本本身也有两个捷径。根据Reddit 用户反馈,将官方指南粘贴给 LLM,并说明目标模式,例如“rewrite this idea as T2VA using the base guide”,可以获得不错的结果。另一个选择是 ComfyUI 扩展 MiniMax H3 Prompt Writer v0.3,它能在节点工作流中生成结构化格式。
FAQ
MiniMax H3 基础提示词指南和参考提示词指南有什么区别?
基础指南覆盖四种无参考模式:T2VA、I2VA、FL2VA、L2VA,以三个核心字段为基础;只要上传的图片、视频或音频参与引导生成,参考指南便会要求增加六个必填部分,以及 <Subject>/<Picture>/<Video>/<Audio> 标签。
MiniMax H3 提示词中如何标记说话人?
按首次发声的顺序分配稳定 ID,例如 (S1)、(S2),并在所有镜头中保持同一 ID;同时说话使用 (S1,S2)。<d> 标签内只能放语言标签和逐字对白。
如何解决 MiniMax H3 的乱码音频?
将对白写成包含说话人 ID 和逐字 <d> 标签的结构化格式,明确标注不说话的角色为静默;不需要配乐时设为 non_diegetic_music: N/A。这是官方规则和社区实践都确认有效的方案。
MiniMax H3 的对白应该放在引号里吗?
不应该。引号仅用于视频中可见的文字;口语对白应写为 <d>[Language] ...</d>,否则 H3 可能将其渲染为画面字幕。
MiniMax H3 提示词最长可以写多少?
fal 和官方 V2 API 文档标注约 7,000 个字符,不过 APIMODELS 标注为 20,480。写 10,000 字符脚本之前,请先确认所用端点的具体限制。
语法仍然解决不了的问题
结构化提示词能提高成功率,但不能让生成结果完全确定。精确的人物身份、Logo 和产品一致性依然具有概率性:社区维护的 API 封装明确拒绝承诺逐帧一致性,而提示词库中表现最好的案例,也是依靠冗长的约束块来强化身份,而非提供可量化的保证。用于非语言声音的行内 <tags> 仍属于社区实验性用法,不同生成结果可能存在差异。评估时,应看每秒通过审核的成片成本,而不是单次请求成本;写提示词时,也建议始终打开官方基础指南和参考指南对照。
相关阅读:MiniMax H3 发布概览介绍了模型本身,MiniMax H3 vs LTX 2.3则将其与每秒价格最低的替代方案进行了对比。