使用指南
MiniMax H3 Max 文生视频提示词配方(面向开发者)
可直接复制的提示词模式:时长控制、分辨率档位与镜头措辞
一条好的文生视频提示词由什么构成
文生视频提示词不是一个句子。它是一份用自然语言写成的小型配置文件。当生成结果不对时,真正有用的问题从来不是“提示词好不好?”,而是“提示词的哪一部分失效了?”。只有当你写出的提示词有可以被指认的组成部分时,这个问题才可能被回答。
请把每条提示词都视为六个相互独立的区块:
- 主体(Subject)——画面上是谁或是什么,要足够具体,以便在多次生成中保持一致(物种、材质、衣着、年龄段、辨识特征)。
- 动作(Action)——主体做了什么,按发生的先后顺序排列。这是节拍表,不是氛围。
- 场景(Scene)——地点、时间、天气、背景活动以及光源。
- 镜头(Camera)——摄影机位于何处、如何运动、以什么速度运动。这与场景是两件不同的事,应当单独成行。
- 时长(Duration)——片段应当持续多久,并隐含地决定了其中能容纳多少个动作节拍。
- 分辨率(Resolution)——本次生成所针对的输出档位。
之所以要在物理上把这些区块分开——每块一行,或每块一个带标签的片段——是因为视频生成是一个多变量优化问题,而每一次实验你只能移动一个变量。如果主体、镜头和时长纠缠在一段流畅的文字里,那么改镜头的同时你也改变了主体的措辞和句子的节奏,你就再也说不清究竟是哪一处改动带来了不同的结果。
分开的区块也更能承受反复编辑。一个主体区块可以在同一场景的十个镜头里复用。一个镜头区块可以像换镜头一样替换。一个时长区块可以调高或调低,而不必重写动作。以散文形式写出的提示词每次都要从头重写;以区块形式写出的提示词则可以被逐项比对。
最后一点值得记在心里:这些区块的效力并不对等。主体和动作的改动通常是肉眼可见、直觉可懂的。镜头措辞和时长的改动才是大多数意外结果的来源,而且是双向的——一个介词就能翻转取景,一次时长改动可能悄无声息地删掉你最后一个动作节拍。相应地分配你的注意力,给镜头和时长各自留出可调的位置,而不是把它们埋在形容词里。
下文的一切都建立在这套结构之上。所谓配方,不过是一组结构良好、可以复制和编辑的区块。
可直接复制的配方由什么构成
配方是一个带标签槽位的提示词模板。复制它、填写槽位、发送出去,你就得到了一个可以与下一版对比的结果,因为结构从未改变。
把下面这个骨架作为每次实验的基础:
SUBJECT: <who/what, with 2–3 identifying details>
ACTION: <beat 1> -> <beat 2> -> <beat 3>
SCENE: <location>, <time of day>, <light source>, <background activity>
CAMERA: <position>, <movement>, <pace>
DURATION: <target length>
RESOLUTION: <tier for this pass>
有两条规则能让这个模板切实有用,而不只是走个形式。
把会变的槽位与保持固定的槽位分开
在一个典型项目中,SUBJECT 和 SCENE 是你的稳定基线——你在许多镜头里拍摄的都是同一个角色、同一个地点。ACTION、CAMERA、DURATION 和 RESOLUTION 则是每个镜头各自的变量。在心里把它们标记为“固定”与“浮动”,做实验时只动那些浮动的。如果某次结果出乎意料,而你那一次同时也改了主体描述,那你就浪费了一次测试。
把 ACTION 写成节拍,而不是形容词
节拍列表让你有东西可以对时长做清点。walks in -> sets down a box -> looks up 是三个节拍;如果片段回来只包含其中两个,你就知道这个镜头塞得太满,或者时长太短。a busy, dynamic scene 则什么都无法核对。形容词属于 SCENE 和 CAMERA 的节奏,它们描述的是质感而非顺序。
在提示词里保留标签
这些大写标签既是为模型服务的,也同样是为你自己记账服务的。它们让差异在变更日志里更易读,让遗漏字段一目了然,也能阻止提示词在接连的修改中退化成散文。如果模型能很好地处理带标签的片段,就保留它们;如果它更偏好流畅的句子,就在最终那一遍去掉标签,但仍要把标签留在你的记录里,以保持记录的结构化。
一个填写完整的例子:
SUBJECT: ceramicist in her 40s, clay-dusted apron, hair tied back
ACTION: lifts a wet bowl off the wheel -> turns it to inspect -> sets it on the shelf
SCENE: small studio, late afternoon, single window light from the left, dust in the air
CAMERA: medium close-up at wheel height, slow push in, unhurried pace
DURATION: short pass
RESOLUTION: draft tier
这就是全部格式。接下来的每一个配方,都是这个骨架加上某一个槽位作为被测试的对象。
配方:控制时长
时长不是一根把场景拉长的滑块。它改变的是一个场景能装下什么。短片是一个动作;长一点的片段则是一段有开头、中段和结尾的序列,而如果你不写出这段序列,模型就会自行编造填充内容,或者丢掉一个节拍。
所以,要让 ACTION 与你所要求的时长匹配,并且明确写出时长,而不是交给默认值。
短片配方(一个明确的动作)
SUBJECT: <consistent subject block>
ACTION: single continuous gesture — <the one thing that happens>
SCENE: <stable scene block>
CAMERA: <fixed position, minimal movement>
DURATION: brief clip, one action beat
RESOLUTION: <current test tier>
短片奖励克制。一个动作、一个镜头想法、没有背景支线。如果主体需要入画,这个入画动作就是动作;不要同时还要求一个转身和一个手势。
较长片段配方(按序排列的节拍)
SUBJECT: <consistent subject block>
ACTION: beat 1 -> beat 2 -> beat 3 (in this order)
SCENE: <stable scene block, plus any change over time>
CAMERA: <movement that supports the beats>
DURATION: extended clip, three beats
RESOLUTION: <current test tier>
较长的片段需要明确的顺序和有限的节拍数。对于单个连续镜头,三个节拍是一个合理的目标;如果你需要五个,先想想你是不是其实在描述两个镜头。同时要决定哪个节拍值得占用额外的时间——通常是中间那个,因为第一个节拍用于建立,最后一个用于收束。
时长的措辞如何改变节奏
运行这些配方后得到的两条实用观察:
- 用词描述节奏,与长度本身同样重要。
unhurried、continuous、in one take和quickly会改变同一份节拍列表在片段中的分布方式。同一份三节拍列表,标为unhurried和标为quickly是两种不同的镜头,而不是两种不同的长度。 - 当某个节拍丢失时,先延长时间,再考虑删减动作。如果你的最后一个节拍总是被截断,通常的修法是给它更多空间,而不是减少节拍——前提是这三个节拍都是不可或缺的。
在测试其他任何东西时保持时长固定
正是这种纪律让配方值得使用。时长改变节奏,节奏改变镜头运动的观感,而镜头又影响动作看起来如何展开。如果在测试镜头时让时长浮动,你会在归因上犯错。把它锁住、记录下来,然后才去改动下一个槽位。
同样的逻辑也适用于分辨率,也就是下一个配方的主题。
配方:选择分辨率档位
分辨率首先是一个成本与迭代速度的决策,其次才是画质决策。不同档位之间提示词的变化并不大;变化的是你能负担多少次尝试,以及你能多快看出一个提示词想法究竟能不能成立。
请按两个档位来思考:用于探索的草稿档,以及用于交付的最终档。具体数值在模型的参数文档里——这里的重点是工作流,而不是数字。
草稿档配方
SUBJECT: <subject block>
ACTION: <beat list>
SCENE: <scene block>
CAMERA: <camera block>
DURATION: <short test length>
RESOLUTION: draft tier
草稿运行回答的是构图层面的问题:主体是否可辨认?镜头运动是否读得出来?所有节拍是否都在?在低档位下,你可以在一次最终渲染所需的时间里跑好几个变体,而这正是提示词还在变动时你最需要的。
最终档配方
SUBJECT: <locked subject block>
ACTION: <locked beat list>
SCENE: <locked scene block>
CAMERA: <locked camera block>
DURATION: <delivery length>
RESOLUTION: final tier
注意锁定这个词。提升到最终档,是对一条已被验证的提示词的提升,而不是又一次实验。除分辨率和时长之外什么也不改;如果最终渲染的构图与你的草稿不同,你就得知提示词中有某个东西对分辨率敏感,这一点值得记录。
按用例选择档位
- 探索与内部评审——草稿档。你检查的是结构,不是精致度。
- 提示词回归检查——草稿档。成本足够低,每次改动都可以跑。
- 面向客户或嵌入交付——最终档,且仅在草稿通过符合意图之后。
- 合成画面中的背景或重度裁切元素——如果该元素只占画面很小一部分,草稿档可能就足够了。
为什么先测低档实际上更省时间
文生视频里代价高昂的失败模式,是把错误的镜头渲染得又美又高清。你花在打磨一个即将被丢弃的构图上的每一分钟都是浪费,而在更高档位上这种浪费会成倍增加,因为尝试更慢。草稿档迭代把便宜的决定前置——主体清晰度、节拍数量、镜头方向——而把昂贵的档位留给确认。
有一个提醒:不要用低到无法判断精细细节的档位做草稿。如果你的镜头依赖于一个小道具或一个面部表情,那个细节可能只有在更高档位才可评估,这类特定检查就应当更早提升档位。
配方:真正能改变镜头的镜头措辞
如果这份指南你只带走一件事,那就带走这件:镜头措辞对结果的影响,几乎超过你能加在主体上的任何形容词。两条提示词,主体、动作、场景完全相同,只有镜头区块不同,那就是两个不同的镜头。而两条只在一堆氛围形容词上不同的提示词,往往还是同一个镜头。
这使得镜头区块成为杠杆率最高的槽位——也是最值得一次只测一个短语的槽位。
运动模式
CAMERA: static, locked off
CAMERA: slow push in
CAMERA: slow pull out
CAMERA: lateral tracking left to right
CAMERA: handheld follow behind the subject
CAMERA: orbit around the subject, quarter turn
上面每一条都是一个完整、可直接复制的镜头区块。它们刻意写得短。冗长的镜头句往往包含两条互相竞争的指令(push in while orbiting),而当它们冲突时,输出会半随机地选择其中一条。
角度模式
CAMERA: eye level, medium shot
CAMERA: low angle, close on hands
CAMERA: high angle, wide, subject small in frame
CAMERA: over-the-shoulder from behind the subject
角度正是取景意图所在。“Close on hands”和“subject small in frame”不是氛围——它们是对观众能看到什么的决定,对镜头的改变远大于 cinematic。
节奏模式
CAMERA: unhurried, deliberate movement
CAMERA: brisk, follows the action closely
CAMERA: settles and holds on the final beat
节奏属于镜头区块,而不是动作区块。它描述的是镜头的表现方式,也是让长时镜头显得有章法而非飘忽的最干净手段。
一次只替换一个短语
让镜头措辞变得可读的方法:
- 写一条基础提示词,固定主体、动作、场景和时长。
- 用
CAMERA: static, locked off运行这条基础提示词。 - 只改镜头那一行——每次运行只替换一处。
- 保留每次运行的片段,并用所用镜头短语给它打标签。
四五次运行之后,你就拥有了一本私人的短语手册:你知道 slow push in 对你的主体、在你的场景里会做什么,这比任何通用清单都更有价值。每个项目做一次,这本短语手册就能沿用到之后每一个镜头。
两种失败模式
- 堆叠指令。在短片里写
push in, then orbit, then pull out,等于要求三个时长容纳不下的镜头运动。一个镜头只给一个运动。 - 用形容词替代。用一个氛围词(
dramatic、dynamic、epic)代替镜头运动,并没有指定镜头。如果镜头区块里没有任何内容说明摄影机在哪里、在做什么,你就让最重要的槽位空着了。
嵌入并对比真实输出
只有当你能判断版本 B 是否胜过版本 A 时,配方才是有用的。这需要一套试验装置——一套小而无聊的例行流程,用来产出并排列输出,让比较是机械的而不是凭感觉的。
你不需要工具,你需要的是纪律和一个文件夹。
试验装置,分五步
- 固定所有你不测试的东西。写一个
baseline.md,放入本次实验中保持不变的主体、动作、场景和时长区块。批次中每一次运行都逐字复制这些区块。 - 指明变量。一次运行只改一个槽位。如果你在测试镜头措辞,那么文件之间唯一不同的就是镜头那一行。
- 生成批次。所有变体都在同一草稿档、同一时长下运行,以保证比较公平。
- 把它们排列起来。每次都以相同顺序连续播放片段,或用简单网格并排摆放。顺序很重要——当位置在多次观看之间保持稳定时,眼睛更容易比较。
- 为每个变体记录结论。每个变体一句话:改了什么、是否是你想要的改动、你是否会保留它。
对比时该看什么
- 节拍完整度——动作列表里的所有节拍是否都按顺序出现了?
- 镜头可读性——观众不看说明能否描述出镜头的运动方式?
- 主体一致性——不同运行之间,主体是否仍可辨认是同一个主体区块?
- 非预期改动——替换镜头短语是否悄悄改动了场景?这是区块之间相互泄漏的迹象。
最后这项检查正是试验装置真正的回报。当区块是干净的,改动一个槽位只改变一件事。当它们泄漏时,你会得到单次观看永远不会注意到的串扰——而串扰正是让提示词迭代感觉像碰运气的原因。
让试验装置保持小规模
四到五个变体就足以做出决定。更大的批次会稀释注意力,诱使你去草草浏览。如果第一批没有结论,答案通常是你选的变量太细微,而不是你需要再跑二十次。
最后,把结论回填到你的配方文件中。一条胜出的镜头短语应当被提升进基线模板,这样你就不用反复重新发现它。
可重复的提示词迭代工作流
下面是完整循环,由前面的配方拼装而成。它刻意毫不光鲜,而正是它决定了你的提示词库是在持续进步,还是在逐渐漂移。
第 1 步——起草区块
把模板填一次:主体、动作节拍、场景、镜头、时长、分辨率。不要打磨。第一版的存在意义就是被修改。
第 2 步——便宜地跑,短地跑
在草稿档用短时长生成。你买到的是关于构图、节拍数量和镜头可读性的信息——仅此而已。跑两三个变体,每个只在一个浮动槽位上不同。
第 3 步——选出胜者并锁定
当某个变体做到了你想要的效果,就把它的确切文本复制进一个 locked/ 文件。锁定意味着你不再编辑那个文件;之后的实验从它分叉,而不是在它上面原地修改。这一个小习惯能防止最常见的退化:因为一直就地微调而丢掉了好的版本。
第 4 步——提升到最终设置
只把时长和分辨率改成交付值,然后渲染。如果最终结果与草稿出现了有影响的差异,把这个差异记录下来——这说明该提示词对分辨率或时长敏感,你希望在下一个项目之前就知道哪些槽位是脆弱的。
第 5 步——记录一切
每一次运行都有一条记录。日志是让这套工作流产生复利效应的产物。最少字段如下:
id: shot03_v2
template: studio-ceramics
variable_tested: camera
prompt: <full prompt text, verbatim>
duration: <value used>
resolution: <tier used>
verdict: <one sentence — what changed, keep or discard>
artifact: <clip path>
三条规则让日志值得信赖。只记录逐字原文的提示词——转述无法复现。每条记录只含一个变量——否则日志无法回答“为什么这个有效?”。每条记录都带片段路径——没有产物的结论只是一个意见。
第 6 步——提炼成短语手册
每隔几个项目,读一遍日志,把反复胜出的东西——镜头短语、节拍列表的形态、场景区块——抽取到一个共享的短语手册文件中。短语手册是你的可复用知识;日志是它背后的证据。
为什么顺序很重要
先便宜迭代,再锁定,再提升,再记录:每一步都依赖于前一步的纪律。没有锁定,提升测试的就是一个移动靶。没有记录,锁定就没有依据。没有便宜的草稿,你就负担不起足够多的运行来产出任何值得锁定的东西。
通过 HiAPI.ai 的统一 API 对 MiniMax H3 Max 文生视频运行这套循环,并把提示词文本和参数值保存在你自己的仓库里,让每一次成功都保持可复现。