你可以讓 Claude Code 撰寫腳本並呼叫圖像模型。然而,將其轉化為一部十分鐘的旁白 YouTube 影片,並確保角色從頭到尾一致,字幕也能精準對應到每個詞彙,則是另一個層次的問題。撰寫腳本相對容易,之後的所有步驟都涉及串接與管理。
這套建構流程也適用於 Codex 或 Gemini CLI,任何支援 MCP 並能循環呼叫工具的系統都能勝任。整個技術堆疊包含:用於最終剪輯的渲染器(Remotion 能在 React 中建構影片)、為每個場景提供靜態圖像的圖像服務、將靜態圖像動畫化為鏡頭的動態服務(fal 將現有的影片模型整合到單一 API 後端),以及提供旁白和詞彙時間點的語音服務。
Claude Code 則扮演指揮者的角色,它規劃腳本、決定每個場景所需元素,並透過其 API 或 MCP 伺服器呼叫各項服務。
工作流程如下:首先撰寫腳本,然後將其拆分為多個場景。接著為每個場景生成靜態圖像,再將這些靜態圖像動畫化為影片鏡頭。之後生成旁白和詞彙時間點,最後將所有鏡頭、音訊和字幕放到 Remotion 的時間軸上進行渲染。製作一部 30 秒的影片,你可能只需一個下午就能完成。
然而,當影片長度達到十分鐘時,問題就出現了。目前沒有任何模型能夠連續渲染十分鐘的內容,單次生成通常只能持續幾秒(例如 Veo 3.1 最多八秒),因此長影片總是需要將數十個短片段拼接而成。
有三件事不再是次要考量:首先是「一致性」。圖像模型在每次呼叫之間沒有記憶,因此到了第十個鏡頭,你的主角可能已經換了一張臉,房間也可能變成另一個地方。解決方法是自行管理參考圖像:為每個重複出現的角色和地點準備一張清晰的參考圖,並在每個需要它們的鏡頭中傳入,同時加上內嵌標籤(例如 image_1 是皇帝,image_2 是王座室)。
當鏡頭需要新的角度時,多視角的人物設定圖(正面、四分之三側面、側面)也會有所幫助。隨著場景的增加,這種管理工作也會變得越來越繁瑣。
其次是「時間軸對齊」。字幕必須精準地對應到每個正在說出的詞彙。雖然你可以從語音服務獲得詞彙的時間點,但將每個時間點對應到每個字幕,再對應到每個場景的影格範圍,這項工作必須由你來完成。只要有一點點誤差,字幕就會在影片的其餘部分開始漂移。
第三是「狀態管理」。一個如此長的專案無法完全放入上下文視窗中。哪些場景已完成?哪些失敗了?哪些參考資料應該放在哪裡?一旦代理忘記這些資訊,它就會重複工作或跳過,而你則需要像保姆一樣,盯著一個記錄鏡頭狀態的試算表。
這些問題單獨來看都不難,但當它們結合在一起時,這些「黏合」工作就成了整個專案的核心。為了省略這些「黏合」工作,我們開發了 Framesail。它是一個長篇 AI 影片生成器,你可以透過單一 MCP 連線從 Claude Code 驅動它:Framesail 能確保你的角色和設定在每個鏡頭中保持一致,將字幕精準地對應到正確的詞彙,並追蹤每個場景的狀態,讓代理可以在新的會話中停止並繼續工作,而不會遺失進度。
你可以使用以下指令將 Framesail 加入 Claude MCP:claude mcp add --transport http framesail https://api.framesail.com/mcp --header "Authorization: Bearer YOUR_FRAMESAIL_KEY"。
如果你只是製作短片段,從頭開始建構堆疊是個不錯的選擇。但如果你想製作長的 YouTube 影片,那麼這些「黏合」工作將是真正的挑戰。