Appearance
我說「要有喜感」,模型要的是兩個時間戳
把 RunPod 上的 H3 接線自動化之後,我才看清楚導演這個位置真正在做什麼
作者:瑞導 日期:2026 年 9 月 18 日
我在 RunPod 上自架 MiniMax H3,拍一部十集的橫屏 AI 網路劇。 今天是第一集第一幕開拍:十顆鏡頭、五十幾秒、一間玻璃隔間的辦公室,男主角在裡面被裁員。
上半天我在做自動化,把「接線」整件事交給程式。 下半天我坐回導演的位置看片、給筆記 —— 然後發現這兩件事根本是同一件事。
(順帶說一下:這部戲我掛的是導演。片場的直覺和模型的語法是兩種語言, 而我這一天大部分時間都在當自己的翻譯。)
自動化真正買到的不是速度,是我一天可以改十次主意。 而改主意的時候我撞上了核心:我講的是意圖,模型要的是狀態和時間戳。 中間那層翻譯,就是 AI 拍片現在真正的工作。
一、接線是機械的,所以它不該由人做
手動時代拍一顆鏡頭要做七件事:貼提示詞、把參考圖一張一張拖進節點、設時間、確認種子、 按 Queue、等、下載改檔名。一集一百五十顆,就是一千多個動作,而每一個都可能貼錯。
這件事可以完全自動化,因為 ComfyUI 有完整的 HTTP API。一個上午,五支腳本, 分鏡表變成資料來源,拍一整場變成一行指令。
但自動化之後我第一個看到的不是變快,是工作的形狀被照出來了:
腳本印出來的第一行:151 顆,提示詞已寫 10 顆,還缺 141 顆接線是機械的,一個上午做完。提示詞是創作,要幾個禮拜。 我以為瓶頸在接線,其實不在。自動化的第一個貢獻,是把假瓶頸拿掉,讓真的那個露出來。
第二個貢獻我是到下午才明白:它把「我改主意」的成本從一天壓到二十五分鐘。 今天第一幕我重跑了十一次 —— 看片、給筆記、改提示詞、整場重跑。 如果一輪要一整天,今天這些筆記我一條都不會提。 我會告訴自己「差不多可以了」。
⭐ 第三個貢獻最不直覺:自動化會逼你把紙上的規則變成會報錯的程式。 我們有一條寫在紙上的鐵則 —— 加了一張參考圖就一定要同步改提示詞 —— 它被違反過。 現在它是一段自檢:提示詞裡用到幾張圖,就必須接幾張,不一致直接停。 紙上的規則靠記性,程式裡的規則不靠。
二、我給的筆記,模型聽不懂
下午的節奏很簡單:我用導演的眼睛看片,講一句話,然後那句話要被翻成模型聽得懂的東西。 有意思的是,我每一句筆記背後都對應一條模型行為,而那條行為通常不在任何文件裡。
「Richard 的表情不到位」
我講的時候是在講演員,實際上它是三件事疊在一起: 一顆鏡頭裡的表情節拍太多會被平均掉;沒有台詞的鏡頭,臉少了一個掛載點; 而參考圖裡如果帶著笑,那個笑會滲進每一顆鏡頭。
我說的是結果,模型要的是原因,而原因往往不在「表情」這三個字裡面。
「他正被裁員,但還是能自得其樂,表示人品好」
這是我今天給得最好的一句筆記,也是最難翻的一句 —— 因為它是一個人物,不是一條指令。
第一版翻出來的是壓抑:忍住、嘴角往下壓、臉上什麼都不做。 那個版本我一看就知道不對 —— 壓抑看起來是苦,不是有趣。
自得其樂不是一直笑,是笑跑出來、然後被禮貌收回去。 所以它要寫成三段:跑出來、收回去、恢復。 而且收回去才是笑點 —— 觀眾笑的不是他覺得好笑,是他決定不表現出來。
⭐ 更妙的是,這個機制原著早就寫好了。小說裡他被叫「帥哥學弟」時的內心話是 「雖然覺得有點爽,但總得客氣一下」。 我給的筆記其實是把原著的句子翻回來 —— 我只是沒意識到我在引用 Dave。
然後我學到今天最技術、也最像隱喻的一件事
第一版把「跑出來」寫了時間戳,把「收回去」寫成後面的子句。 跑出來的結果是:笑出來了,然後留在臉上。
因為 H3 把每個時間戳當成一個要抵達的狀態。沒有時間戳的東西,它沒有義務抵達。
之前 → 當下 PSNR 20.7 dB ✅ 動了
之前 → 之後 PSNR 19.5 dB 🛑 比當下差更多 = 它沒有回來⭐ 「收回去」也必須是一個狀態,有自己的時刻。 一個只有前半的動作,在模型眼裡不是含蓄,是沒做完。
「他的目光可以望向會議室裡不相關的物件,表示神遊」
我給的是心理狀態(心不在焉)。模型能執行的是方向與物件。 而且這裡有個陷阱:角色要看的東西不在畫面裡時,H3 會讓他看鏡頭 —— 我有一顆鏡頭就是這樣,兩個人對著鏡頭講話,因為沒人交代他們在看誰。
所以「神遊」最後寫成「往右下看桌上那台米色會議電話」。 心理狀態要翻成幾何。
「老闆闔資料夾的時候,右邊的筆跟著動」
這條是我今天最喜歡的一條,因為它暴露了一件反直覺的事: 在生成影片裡,「不動」也要交代。
現實世界裡不動是預設值;模型世界裡沒有預設值 —— 你沒說的部分,它會自己編。 所以要寫的不是「筆不要動」(它沒有否定通道),而是 「筆保持與桌面接觸、筆和資料夾的距離從第一格到最後一格都一樣」。
把否定翻成一個可以量的狀態。 這是今天所有翻譯裡最通用的一條。
「這顆特寫的相對位置不對」
一顆雙人鏡頭和它的特寫被拆成兩次生成 —— 模型沒有理由把人放回同一個位置。 我要求改成在同一次生成裡剪接:一支片裡切兩顆,位置、衣服、光就都是同一個現場。
⭐ 從這裡延伸出一條規則:同一個機位在不同鏡頭之間,要用逐字相同的描述。 每顆各寫一次機位,寫法一有差異,角度就跑掉了。 模型沒有上下文,同一場的每一顆都要能單獨成立。
「H3 應該是可以運鏡的」
十顆提示詞全寫著「攝影機不動」。我說不對,H3 是可以運鏡的 —— 我們自己的測試裡就繞著主體轉過四分之一圈。
回頭查才知道為什麼會寫成那樣:那個測試固定機位是為了排除變數,不是因為運鏡不行。 我們把自己實驗的控制變因,當成了規則。
⚠️ 這個錯很值得警惕:自己做的實驗最容易變成自己的教條。 測試裡每一個「我們不動它」的東西,都要記下為什麼不動 —— 不然三個禮拜後,它就會變成「這件事做不到」。
三、所以這兩件事是同一件事
上半天寫程式、下半天當導演,中間沒有換檔 —— 因為自動化的產物就是導演的迭代次數:
接線自動化 → 一輪二十五分鐘
一輪二十五分鐘 → 我敢給第十條筆記
第十條筆記 → 才會生出「收回去才是笑點」這種東西如果一輪要一天,今天這一幕會停在「表情不到位」,然後我會說服自己那樣就好。
而從頭到尾在做的工作,其實是翻譯。
| 我說 | 模型要 |
|---|---|
| 要有喜感 | 一顆鏡頭最多兩個表情節拍 |
| 自得其樂、人品好 | 跑出來 → 收回去,兩個時間戳 |
| 心不在焉、神遊 | 往右下看桌上那台會議電話 |
| 筆不該跟著動 | 筆與資料夾的距離第一格到最後一格都一樣 |
| 相對位置不對 | 同一次生成裡剪接,機位描述逐字相同 |
⭐ 左邊是意圖,右邊是狀態與時間。 左邊那些話在片場對人說,人會懂;對模型說,它會給你一個看起來很像、但其實沒有發生的版本。
而最危險的是:翻譯錯了不會報錯。 它會跑完、會下載、會看起來沒問題 —— 然後我看第二遍的時候說「怪」,才回頭找。
所以今天多做了一件事:表情也用數字驗收。 抽「該動之前」和「該動之後」各一格,比 PSNR。有沒有動,不靠眼睛說。
如果只能帶走一句:
我給的是意圖,模型要的是狀態和時間戳。 自動化買到的不是速度,是我可以改主意的次數。
本文的環境:RunPod 租用之 GPU,MiniMax H3 剪枝 INT8 開源權重, 於 ComfyUI 部署,Ref2VA、8 步 PDD 加速,輸出 1376 × 768。跑批透過 ComfyUI 內建 HTTP API。 選機器看容器 RAM 不是 VRAM —— 這件事今天也用一台當機的機器重新學了一次。
每天的進度、失敗與抽格我都貼在脆上:瑞導 —— 那邊是當天的原始紀錄,這裡是想清楚之後的版本。
8 步加速的實測見〈快了兩倍多,然後我發現自己量錯了四次〉。 分鏡先於算圖的理由見〈我把上一篇刪掉的那一步,加了回來〉。
本文的 RunPod 連結為推薦連結,透過它註冊我會獲得少量回饋,不影響你的價格。