Prompt craft

你的 AI 影片裡那些字大概沒有拼錯——你是在動畫做到一半時截的圖

每一串被指名要 MiniMax H3 寫出來的字都對了。決定一顆鏡頭的,是你沒有指名的那些字——不是材質,就是它自己發明的品牌。

13 分鐘讀完編輯部編輯部
你的 AI 影片裡那些字大概沒有拼錯——你是在動畫做到一半時截的圖

關於 AI 影片文字,標準建議是不要生成它。算成無聲的,把片子拿進剪輯軟體, 自己排字。Google 第一頁上每一份指南都寫著這句話的某個版本, 而且理由都一樣:影片模型是把字母當材質畫出來的,不是拼出來的, 所以字會漂,逐格看下去就拼錯了。

我拿這件事去對 MiniMax H3,發現了那個建議漏掉的東西。

我抓了六支公布的範例片,一格一格走過去。它們加起來帶著 22 處提示詞指名要的畫面文字。只要每一處停止移動,這 22 處全部拼寫正確—— 包括一個遊戲選單、一張裝備清單,和一張帶副標的兩行字卡。

同樣這幾支片子裡也有大量完全是亂碼的文字——而且其中兩支裡有沒人要求、 模型自己寫出來的文案,而它每一次出現都拼得完美無誤。 把原因理清楚,比那個標題數字值錢,因為它會告訴你自己的哪些鏡頭是安全的。

一格亂掉的 MiniMax H3 畫面實際上長什麼樣

這是同一支片子裡的一個選單面板,相隔半秒。上面那格在 2.458 秒, 下面那格在 2.958 秒:

同一張裝備面板兩次:在 2.458 秒,第二列是 PHANTOM GRIP 糊掉的複製品;在 2.958 秒,它清清楚楚讀作 CHRONOS CLAW

上面那格就是那種會被配上「AI 不會拼字」文案發出去的截圖。 第二列是上面那一列糊掉、只成形一半的複製品。 它看起來壞掉,是因為它確實壞掉——大約四十分之一秒的十倍那麼久, 就在面板把第二列寫進去的那段時間裡。

然後它定成 CHRONOS CLAW,之後就一直是那樣。

我數了影格。這個面板在第 56 格出現、第 103 格離開。 第二列從第 56 格到第 65 格讀不出來,從第 68 格開始是乾淨的。 在 24 fps 下,那是兩秒面板裡的一個 0.4 秒窗口—— 大約五分之一的螢幕時間看起來像拼字失敗,而它不是。

這件事比聽起來重要,因為五分之一並不是你真的會落在上面的機率。 你拖曳播放頭的時候,會停在有事情在發生的地方, 而有事情在發生的那些格,正好就是字還沒定下來的那些格。 拖曳這個動作本身就偏向瑕疵。

所以第一條規則是流程上的,不是創作上的。 在沒有東西在動的那一格上判斷字。 還有,當你要抓縮圖,等卡鎖定之後再抓, 不然你會自己把那個瑕疵交出去,然後被別人截圖。

指名一串字,MiniMax H3 就會把它拼出來

現在講那個會改變你怎麼寫提示詞的發現。

底下這張圖的兩半來自同一支片子、同一次生成,相隔十秒:

上:一個遊戲介面,讀作 MINIMAX、RIGHT ARM EQUIPMENT、PHANTOM GRIP、CHRONOS CLAW,全部銳利正確。下:一條賽博龐克街道,上面每一塊霓虹招牌都是讀不出來的亂碼

上半是清晰的。MINIMAXRIGHT ARM EQUIPMENTPHANTOM GRIPCHRONOS CLAW——全對,而且是在滑動的面板上、在移動的攝影機底下。

下半是一整條霓虹招牌的街,而上面沒有一塊招牌是一個字。 同一個模型、同一支片子、同一個種子,十秒之後。

提示詞完整地解釋了這件事。它指名了十串字,而回來的是:

提示詞裡指名的字串渲染結果
START NEW GAME正確
CONTINUE正確
SETTINGS正確
EXIT GAME正確
MINIMAX正確
RIGHT ARM EQUIPMENT正確
PHANTOM GRIP正確
CHRONOS CLAW正確
ARMAMENT CUSTOMIZATION正確
CONFIRM CONFIG正確

十中十。至於那條街,提示詞要的是一座賽博龐克城市, 完全沒說任何一塊招牌上該寫什麼——所以模型做了它唯一能做的事, 畫出招牌形狀的材質。

這正是那些競爭指南量到的同一個行為。他們只是從來沒有把兩種情況分開。 「文字是被當成材質渲染的,不是當成符號」對於一個提示詞從來沒有替它寫過文案的背景 來說,是一句公道的描述。它不是對一串你親手交出去的字的描述。

同一支片子裡還有第三種情況。提示詞要一個 「displaying hand, forearm, elbow, upper arm components」的格狀排列。 它描述的是那些元件,從來沒有描述一串標籤文字—— 而那個格狀排列回來是一堆圖示,底下完全沒有字。不是亂掉。是沒有。

到這裡為止,規則看起來像是「指名的字會被拼出來,沒指名的不會」。 我一直相信這一點,直到我去看了一支商品片,而它是錯的。

那些沒被指名、卻完美無誤的字

再看兩支片子。這兩支都沒有指名你接下來要讀到的那些字:

上:四瓶檸檬汽水放在木箱上,每一張標籤都清楚讀作 BRIGHTSIP。下:一張擬真的人體工學椅示意圖,側邊的 HUD 面板全是讀不出來的糊塊

上面那一格是一支夏日飲料廣告。它整份提示詞是一句話—— 一個騎士穿過一座山城,「opens a sparkling lemon drink」,漫畫風。 沒有品牌。沒有標籤文案。引號裡什麼都沒有。

模型發明了 BRIGHTSIP,把它放到瓶子上,然後 在同一格裡的四張標籤上、四個不同角度都拼對了它, 九秒後在主角瓶身上又拼對一次,在片尾卡上再一次—— 而它在片尾卡上還發明並正確拼出了標語 TASTE THE SUN。 弧面玻璃、變化的尺度、移動的攝影機,而那個字從來沒有壞過。

下面那一格是一支擬真的椅子廣告。它的 HUD 註解是讀不出來的糊塊, 而同一支片子的片尾卡帶著八個正確的字元。

兩半都是沒被指名的文字。一邊完美、一邊是雜訊—— 所以指名一串字足以讓它被拼出來,但那不是決定一串字會不會被拼出來的東西。 決定的是:這一串字在這顆鏡頭裡有沒有一份工作。 一支商品揭示片,瓶子上沒有品牌就不算商品揭示片, 所以模型供一個出來,並且守住它。一份技術讀數是布景, 裡面沒有哪個特定的字有意義,所以模型畫出一份讀數的材質。 背景裡那四十塊霓虹招牌,跟那個 HUD 是同一種情況。

指名不是那個打開拼字的開關。它是你把選擇權從模型手上拿走的方式。 放著不管,H3 會替你的商品取名—— 而 BRIGHTSIP 是一個相當不錯的發明,只是你沒有選它、沒辦法交簡報給它, 而且下一次算圖不會再拿到它。

同樣的事再來一次,這次是擬真的,而且整份文案都是發明的

BRIGHTSIP 是一支漫畫風片子裡的一個字,那很容易被揮開。 所以這裡是那個難以揮開的案例——一支烤鴨商品片,而上面每一個字都是模型的:

上:黑底的烤鴨商品鏡頭,標題 Bebek Panggang. 底下一行 Beli Sekarang,兩者都很銳利。下:同一隻鴨的微距鏡頭,右側有一行小字 Rasa Pro.,同樣銳利

這不是畫出來的。這是一支擬真的食品廣告——棚燈、濕潤的高光、 一塊有倒影的石板盤。而它的提示詞是 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(現在購買)。 它還把那份簡報翻譯了——提示詞用英文寫的是「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 的字高, 是畫面高度的百分之三,而它是乾淨的。它也沒有被指名。

小字確實比較難。但在這個模型上,高度不是那個預測一串字會不會被拼出來的東西。

怎麼指名一串字,它才渲染得出來

具體來說四件事,全部取自有效的提示詞:

  1. 把它放進引號、用大寫,照你要的樣子寫。 Cursor clicks "CONTINUE" 是有效的那個形式。把一個按鈕描述成「a continue button」, 給模型的是一個形狀去畫,不是一個字去寫。
  2. 說它坐在哪裡。 「Right side displays game menu UI」、 「Top left displays player profile」。有位置的文字是場景裡的一個物件; 沒有位置的文字是裝飾。
  3. 把字的處理和字本身分開來指導。 MiniMax 的預告提示詞花了 90 個字 純講處理——字距、輝光、「font not pure white」、它怎麼進場。 裡面一串字都沒指名,而它整段讓那些被指名的字看起來像美術指導過的, 而不是打上去的。
  4. 指名語言,就算你不指名那些字。 「All Bahasa Indonesia text must be spelled and rendered correctly」是那支鴨子片裡全部的文字指示, 而每一行回來都是印尼文。沒有它,你拿到的是場景暗示的那個語言, 而一份英文簡報最後配上一張中文片尾卡就是這麼來的。

還有那個推論,也是真正省錢的那一條:一塊沒被指名的招牌從來不是中性的。 上面寫什麼是被某個東西決定的,而如果那個東西不是你,那就是模型—— 不是變成你得閃著裁的材質,就是變成一個你現在得將就的品牌名。

MiniMax H3 的文字渲染還會在哪裡壞掉

三個誠實的限制,全部在上面那幾支片子裡看得到。

排版不等於拼字。 再看一次那張對照圖的上半: CHRONOS CLAW 出現了兩次,在上下相疊的兩列上。 每一個字母都對,而那張清單是錯的。 這個模型是一個可靠的排字工,和一個不可靠的介面設計師, 而那是兩個各自獨立的問題。

布景文字還是亂碼,而且指名這條路走不了太遠。 你可以指名那三塊要緊的招牌。你沒辦法指名四十塊, 而一條密集的城市街道需要四十塊。

有一格我確實填不上:曲面上的擬真字。 這裡有兩個變數在動,而值得把它們分開, 因為這個題目上多數建議把它們揉成了一個。

平面上的字包在曲面上的字
手繪/漫畫正確——預告字卡、遊戲介面正確——BRIGHTSIP,玻璃上四個角度
擬真正確——那支鴨子片兩邊都沒有證據

那支鴨子片排除了「擬真是問題」。BRIGHTSIP 排除了「曲面是問題」。 兩者都沒有排除這兩件事加起來,而且有一個物理上的理由讓人預期這個組合是難的: 一張手繪的標籤是模型塗到玻璃上的一個形狀, 而一張擬真的標籤,每換一個角度都得重新投影並重新打光。

我去找過那個案例,而那個素材庫裡沒有。102 個條目裡, 唯一一支提示詞真的要求「ultra-slow rotating close-ups」的擬真片是那隻鴨, 而鴨子沒有標籤。做擬真瓶身鏡頭的創作者回報標籤從第一格就壞掉, 而且圖片轉影片和參考圖生影片都救不了。 我沒有重現過那件事,也不打算拿別人的截圖來斷言它—— 但那是這條規則最明顯會停下來的地方, 而如果那顆鏡頭是我的,那會是我第一個要測的東西。

這些是挑過的範例。 六支裡有四支是 MiniMax 自己的展示片, 另外兩支是同一個素材庫裡的社群投稿, 所以它們代表的是狀況好的一天,不是平均的一天, 而 22 中 22 不是一個你該預期能重現的數字。 撐過這層挑選偏誤的是那個模式,不是那個分數—— 而它撐得過去,有一部分是因為那些亂碼就坐在同樣被挑過的片子裡。 一個在挑好看的原廠,不會把那條街一起放出來。

那一串每次都必須正確的字

被指名的字串渲染得正確,而它們仍然是一次生成。 這一條對,不代表下一條對,而如果那串字是你的品牌、你的產品名或你真正的片名, 「通常是對的」不是一份規格。

有一條路可以拿掉這次擲骰:把那些字放進一張參考圖。 模型於是有一組主標可以對齊,而不是一堆字母要畫, 所以它根本不是在渲染字,也就沒有東西可以變。 在 MiniMax 的預告範例裡,那支片子裡唯一那張設計過的兩行字卡就正是這樣—— 它是輸入的那張靜態圖,在片頭出現一次,片尾再出現一次。

完整的走法在 用 MiniMax H3 做一支 AI 電影預告, 節拍表的時間安排也在那裡。

所以分工是這樣:

在提示詞裡指名放進參考圖
最適合選單標籤、過場字卡、要緊的招牌品牌、產品名、真正的片名
這次對嗎是,這幾支片子裡 22 中 22是,只要那些字待在平面上
下次還對嗎它是一次生成,所以會重擲一模一樣
文字系統與語言另外把語言釘住,不然就接受場景暗示的那個圖上寫什麼就是什麼
花你什麼沒有一個參考素材的位子

右邊那一欄有一條邊界,而它跟上面那條是同一條。 一張字卡是一個模型守得住的平面。 一張包在會轉的瓶子上的標籤,是一個它每換一個角度都得重畫的表面, 而交給它一張參考圖並不會把那次重畫拿掉。 把參考圖這條路當成疊加式文字上已成定論、曲面上尚未證實。

大約一分鐘檢查完自己那支片子的方法

不要從播放器判斷。把整支片子一次攤開, 再回頭用完整解析度去看任何看起來不對的地方:

# every other frame-ish, as one contact sheet
ffmpeg -i clip.mp4 -vf "fps=2,scale=320:-1,tile=5x7" -frames:v 1 sheet.png

# then the suspect moment, full size, exact frame
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。那支鴨子片的提示詞是從作者原始貼文 完整引用的,因為素材庫裡只有節錄。上面的影格編號、時間點、字高 和每一串字都是從檔案上讀出來的。

編輯部

作者

編輯部

minimax-h3ai.video

發布於 MiniMax H3 AI Video Generator,一個基於 MiniMax H3 的獨立第三方介面。

所有文章