MiniMax H3 的文字不是乱码,是你截在了动画中途
逐帧看了六条片:提示词点过名的 22 个字串全部拼对。真正决定结果的是没点名的那些——有的是纯纹理,有的是模型自己编的品牌,而且每次都拼对。

关于 AI 视频里的文字,标准建议是:别让模型写。出无声片,拿进剪辑软件,字自己打。Google 第一页的教程说的都是这一套,理由也是同一个——视频模型是把字母当纹理画出来的,不是拼出来的,所以字会漂,一帧一个样。
我拿这套说法去对 MiniMax H3 试了一遍,发现建议漏掉了一件事。
我抽了六条公开的样片,一帧一帧地看过去。这六条里一共有 22 处是提示词点过名的画面文字。等它们各自停下来之后,22 处全部拼对——包括一个游戏菜单、一张装备列表,还有一张带副标题的双行标题卡。
同样这六条片里,也确实有大量彻底的乱码。而其中两条里还有一件更奇怪的事:没人点过名的文案,模型自己写了出来,而且每次出现都拼对。把这两种情况分清楚,比那个标题有用得多,因为它直接告诉你自己手上哪几个镜头是安全的。
一帧「乱码」的 MiniMax H3 实际长什么样
同一条片里的同一块菜单面板,相隔半秒。上面这帧在 2.458 秒,下面这帧在 2.958 秒:

上面那帧,就是被人配着「AI 连字都拼不对」发出来的那种截图。第二行是上一行糊掉的、半成形的复制品。它看起来是坏的,因为它确实是坏的——坏了大约十分之四秒,也就是面板把第二行写进去的那段时间。
然后它就定成了 CHRONOS CLAW,之后一直没变。
我数了帧。面板在第 56 帧出现,第 103 帧离开。第二行从第 56 帧到第 65 帧不可读,从第 68 帧起干净。24 fps 下,这是两秒面板里的 0.4 秒窗口——大约五分之一的出场时间看起来像拼错了,而它不是。
这件事比听上去要紧,因为「五分之一」并不是你撞上它的真实概率。拖时间轴的时候,你会停在正在发生什么的地方,而正在发生什么的那些帧,恰恰就是文字还没稳下来的那些帧。拖动这个动作本身,是偏向瑕疵的。
所以第一条规则是流程上的,不是创作上的。 判断文字,要在没有东西在动的那一帧上判断。抽封面图的时候,要等卡锁定之后再抽——不然这个瑕疵就是你自己发出去的,然后被别人截图。
你把字串写出来,MiniMax H3 就会把它拼对
下面这个发现,会改变你写提示词的方式。
下面这张图的上下两半,来自同一条片、同一次生成,相隔十秒:

上半是清楚的。MINIMAX、RIGHT ARM EQUIPMENT、PHANTOM GRIP、CHRONOS CLAW——全对,而且那些面板在滑动,镜头也在动。
下半是一整条挂满霓虹招牌的街,上面没有一块牌子是个词。同一个模型、同一条片、同一个种子,十秒之后。
提示词把这件事解释得干干净净。它点了十个字串的名,回来的结果是这样:
| 提示词里点了名的字串 | 出片结果 |
|---|---|
START NEW GAME | 正确 |
CONTINUE | 正确 |
SETTINGS | 正确 |
EXIT GAME | 正确 |
MINIMAX | 正确 |
RIGHT ARM EQUIPMENT | 正确 |
PHANTOM GRIP | 正确 |
CHRONOS CLAW | 正确 |
ARMAMENT CUSTOMIZATION | 正确 |
CONFIRM CONFIG | 正确 |
十个中十个。至于那条街,提示词只要了一座赛博朋克城市,一个字都没说牌子上该写什么——所以模型做了它唯一能做的事:画出牌子形状的纹理。
对手那些教程量到的,就是这同一个行为。他们只是从来没把两种情况分开。「文字是被当纹理渲染的,不是当符号」,用来形容一片提示词从没为它写过文案的背景,是准确的。用来形容一个你亲手交给模型的字串,就不是了。
同一条片里还有第三种情况。提示词要了一个网格,「显示手部、前臂、肘部、上臂各组件」。它描述的是组件,从头到尾没给过一个标签字串——回来的网格是一排图标,下面一个字都没有。不是糊,是没有。
到这里为止,规律看起来是「点了名的会拼对,没点名的不会」。我一直是这么认为的,直到我去看了一条产品片,然后发现这条规律是错的。
那些没点名、却完全正确的文字
再看两条片。它们都没有点名你即将读到的那些字:

上面这帧来自一条夏日饮料广告。它的整条提示词就是一句话——一个骑手穿过山城,「打开一瓶柠檬气泡饮」,漫画画风。没有品牌。没有标签文案。引号里什么都没有。
模型自己造了 BRIGHTSIP,把它印在瓶子上,然后在同一帧里四个不同角度的四张标签上全部拼对,九秒之后的英雄镜头上还是对的,尾卡上又出现一次——而且那张尾卡上它还自己造了 TASTE THE SUN 这句标语,同样拼对。曲面玻璃、尺寸在变、镜头在动,这个词一次都没崩。
下面这帧是一条照片级的座椅广告。它的 HUD 注记是不可读的糊块——而同一条片的尾卡上,八个汉字一个不差。
两半都是没点名的文字。一半完美,一半是噪音——所以,点名足以让一个字串被拼对,但点名不是决定它会不会被拼对的那个东西。决定它的是:这个字串在这一镜里有没有职务。一场产品揭示,瓶子上没有牌子就不成其为产品揭示,所以模型自己补一个,并且认下它。而一片技术读数是布景,里面没有哪个词单独有意义,所以模型画的是「读数的纹理」。背景里四十块霓虹招牌,和 HUD 是同一种情况。
点名不是打开拼写的那个开关。点名是你把选择权从模型手里拿回来的方式。 放着不管,H3 会替你的产品起名——BRIGHTSIP 是一个相当不错的发明,只是它不是你选的,你没法给它下 brief,下一条片也不会再给你同一个。
同一件事,在照片级画面里又发生了一次,而且整份文案都是模型写的
BRIGHTSIP 是一条漫画风片子里的一个词,很容易被一句「那是画出来的」打发掉。所以下面这个案例是不好打发的——一条烤鸭产品片,上面每一个字都是模型自己写的:

这不是画出来的。这是一条照片级的食品广告——影棚灯、湿润的高光、一块带反射的石板。而它的提示词是 655 个字符,一个字串都没点名。它点名的是一门语言:
Use clean, lightweight sans-serif typography throughout, with generous negative space and a consistent visual system. All Bahasa Indonesia text must be spelled and rendered correctly.
模型自己写了这支广告。五行,全部印尼语,全部正确:Memperkenalkan(隆重介绍)、Kulit Sempurna(完美脆皮)、Rasa Pro.、Bebek Panggang.(烤鸭)、Beli Sekarang(立即购买)。它连 brief 都一起译了——提示词里写的是英文的 "Peking duck",尾卡上给的是 Bebek Panggang。
从这里掉出来两件事,而且它们比这条片本身更重要。
「照片级」不是那个变量。 我原本以为我量到的那些正确标签之所以正确,是因为它们是画出来的——平贴的字形,模型画上去就行,不用给它打光。可这条片和那条 HUD 糊成一片的座椅广告一样是照片级的,而它的文字是完美的。把两者分开的,不是渲染风格。
你可以只指定语种,不指定词。 这件事很要紧,因为你拿到的文种,不会自动就是你写的那个文种。那条座椅广告的提示词,是用英文点名它的尾卡的——"Inspiration and Comfort Online Simultaneously"——而模型给出的是 灵感与舒适同时在线,中文的对应说法,而且拼得完全正确。正确,但不是被要的那个。一行点明语种的话,就是这个问题的全部解法。
字号并不是大家以为的那道门槛
这个话题下被引用得最多的一个数字是:字高低于大约 40 px 就会糊,因为模型没有足够的像素去拼字。
在这六条片上量下来,这条不成立。MiniMax 那条预告片样例里的过场卡是 1280×720 画面里的 29 到 30 px 字高——在门槛之下——而 THE MISSION WAS A LIE 是拼对的。START NEW GAME 量出来 42 px,也是对的。
我找到的最小的正确字串还要更小,而且就在那条照片级的片子上:Rasa Pro. 是 1698×720 画面里的 22 px 字高,占画面高度的百分之三,干干净净。而且它也没人点过名。
小字确实更难。但在这个模型上,决定一个字串会不会被拼对的,不是它有多高。
怎么点名一个字串,它才会被写出来
具体是四件事,全部来自真正跑通过的提示词:
- 加引号、用大写、原样写出你要的那几个字。
Cursor clicks "CONTINUE"是能用的写法。把一个按钮描述成「一个继续按钮」,你给模型的是一个形状,不是一个词。 - 说清它在哪。 "Right side displays game menu UI"、"Top left displays player profile"。有位置的文字是场景里的一个物件;没位置的文字是装饰。
- 把字形处理和文字内容分开写。 MiniMax 那条预告片提示词花了 90 个词只讲处理——字距、辉光、「字体不是纯白」、怎么入场。这 90 个词一个字串都没点名,但正是它们让那些被点了名的字串看起来是被美术设计过的,而不是打上去的。
- 就算不点词,也要点语种。 "All Bahasa Indonesia text must be spelled and rendered correctly" 就是那条烤鸭片里全部的文字指令,回来的每一行都是印尼语。不点,你拿到的就是场景暗示出来的那一种——英文 brief 出中文尾卡,就是这么来的。
还有一条推论,这条才是真正省钱的:一块没点名的招牌,从来不是中性的。 上面写了什么,总归是被什么东西决定了的;如果决定它的不是你,那就是模型——要么是一片你得靠构图避开的纹理,要么是一个你从此得跟着过日子的品牌名。
MiniMax H3 的文字渲染还在哪些地方会坏
三条诚实的限制,全都能在上面那几条片里看到。
能拼对不等于能排版。 再看一眼对比图的上半:CHRONOS CLAW 出现了两次,占了上下两行。每个字母都对,而这张列表是错的。这个模型是一个可靠的排字工,和一个不可靠的界面设计师,这是两个问题。
布景会一直是乱码,而且「靠点名解决」是有上限的。 你可以点名那三块真正要紧的牌子。你点不了四十块,而一条密集的城市街道需要四十块。
只有一格我填不上:照片级画面里,曲面上的文字。 这里有两个变量在动,值得把它们分开,因为这个话题下的大部分说法都把它俩揉成了一个。
| 平面上的文字 | 曲面上缠绕的文字 | |
|---|---|---|
| 手绘 / 漫画 | 正确——预告卡、游戏界面 | 正确——BRIGHTSIP,玻璃上四个角度 |
| 照片级 | 正确——那条烤鸭片 | 两个方向都没有证据 |
烤鸭片排除了「照片级是问题所在」。BRIGHTSIP 排除了「曲面是问题所在」。这两条都没有排除两者叠加,而且有一个物理上的理由让人预期这个组合才是难的那个:一张手绘标签是模型往玻璃上画的一个形状,而一张照片级的标签,模型得在每一个新角度上重新投影、重新打光。
我专门去找过这种案例,案例库里没有。102 条里,提示词真的写了「ultra-slow rotating close-ups」的那条照片级片子就是这只鸭,而鸭身上没有标签。做照片级瓶身镜头的创作者报告说,标签从第一帧起就在崩,图生视频和参考生视频都救不回来。我没有复现过,也不打算拿别人的截图去断言——但那确实是这条规律最可能停下来的地方,而且如果这个镜头是我的,那就是我第一个要测的东西。
这些都是精选过的样例。 六条里有四条是 MiniMax 自己的展示,另外两条是同一个库里的社区投稿,所以它们代表的是好的一天而不是平均的一天,22 比 22 也不是一个你该指望复现的数字。挺过这层选择偏差的是那个规律,不是那个分数——而它之所以挺得过来,一部分原因恰恰是那些乱码就摆在同一批精选片里。真要挑好的说,没有哪家会把那条街也一起发出来。
那一个必须每次都对的字串
点了名的字串会被正确写出来,但它们仍然是一次生成。这一条对,不代表下一条也对;而如果这个字串是你的品牌、你的产品名或者你真正的片名,「通常是对的」不是一份规格。
有一条路能把这个骰子拿掉:把字放进参考图里。这样模型拿到的是一个可以去匹配的现成版式,而不是一堆要去画的字母——它压根就不在渲染文字,也就没有东西可变。MiniMax 那条预告片样例里,全片唯一那张设计过的双行标题卡走的正是这条路:它就是那张输入图,片头出现一次,片尾再出现一次。
完整的做法在怎么用 MiniMax H3 做一条 AI 电影预告片里,那篇也讲了节拍表的时间怎么卡。
所以分工是这样的:
| 在提示词里点名 | 放进参考图 | |
|---|---|---|
| 适合 | 菜单标签、过场卡、要紧的招牌 | 品牌、产品名、真正的片名 |
| 这一条对不对 | 对,这六条片里 22 比 22 | 对,只要文字待在一个平面上 |
| 下一条还对不对 | 它是一次生成,会重掷 | 完全一样 |
| 文种和语言 | 语种要单独点,否则就是场景暗示的那一种 | 图上写什么就是什么 |
| 代价 | 没有 | 一个参考图位 |
右边这一列有一条边界,和上面那条是同一条。一张标题卡是模型端得住的平面。而一张缠在会转的瓶子上的标签,是它每换一个角度就得重画一次的曲面,给它一张参考图并不能把这次重画取消掉。参考图这条路,对叠加层是定论,对任何曲面都还没被验证。
一分钟检查你自己那条片
别在播放器里判断。先把整条片一次性铺开,再回头把看着不对的地方按原分辨率抽出来:
# 大约隔帧抽一次,拼成一张总览图
ffmpeg -i clip.mp4 -vf "fps=2,scale=320:-1,tile=5x7" -frames:v 1 sheet.png
# 然后是可疑的那一刻,原尺寸,精确到帧
ffmpeg -i clip.mp4 -vf "select='eq(n,59)'" -fps_mode passthrough frame.png如果某个字串在总览图上读起来不对,先把它前后两帧抽出来,再下结论。在这六条片里,第一遍看着像坏了的每一个字串,最后都是动画中途——而且,虽然没点名的文字不会自动就是坏的,但坏了的那些,全都是没点名的。
去试试
这个测试最快的版本:在提示词里写一行带引号的文字,跑 8 秒,然后一帧一帧看结果。
文生视频可以直接从一句话开始。如果那几个字必须每次都分毫不差,那就带上你自己的定帧去参考生视频,让图去承担这些字。
本文引用的片子、提示词和参考图都来自 awesome-minimax-h3-prompts, CC BY 4.0。其中四条署名 MiniMax;柠檬汽水广告和烤鸭片是同一个库里的社区投稿,分别署名 Hemanth 和 Feyber。烤鸭片的提示词是从作者原帖上逐字引用的,因为库里只收了摘要。上面所有的帧号、时间点、字高和字串,都是从文件里读出来的。


