Communitygithub.com

Video Forge

使用程式碼製作精美影片:旁白、動態字幕、螢幕錄製、縮放、遮罩、3D 與可重用庫。適用於宣傳片、解說影片、展示與編輯。

Video Forge 是什麼?

Video Forge 是一個強大的 AI 技能,專為開發者與 AI 代理設計,用於透過程式碼建立可編輯的專案與完成的影片。它整合了多種工具,包括 HTML/GSAP、React、FFmpeg、螢幕錄製、SVG、精靈圖、影片素材、音訊與 3D,讓使用者能為每個場景選擇最合適的渲染引擎。此技能的核心工作流程是「黃金路徑」:通過編輯一個 JSON 故事板檔案來控制所有佈局、字型適配與旁白時序,然後執行自動化腳本(如 `run.py`)來處理語音合成、字幕生成、場景渲染、音訊混合與最終匯出。它支援多種平台(如 Claude Code、Cursor 等 CLI 環境),並內建了豐富的元件庫(如 HyperFrames、Remotion、FFmpeg 與 Blender 輔助工具),可根據工作類型路由到對應的參考文件。Video Forge 強調驗證與迭代:每個影格必須可隨機存取、無時鐘依賴,並在最終輸出前檢查時長、解析度與音訊。它不依賴私有 MCP、特定模型或付費服務,所有依賴項(如 Python 環境與音訊模型)均可透過專案內建腳本一次性準備。

相容平台~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/jazzautomations/video-forge/tree/main

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Video Forge 是做什麼的?

製作一個可編輯的專案與一部完整的影片。善用工具箱中的各種工具:HTML/GSAP、 React、FFmpeg、螢幕錄製、SVG、精靈圖、影片素材、音訊以及 3D。為每個場景選擇合適的工具; 保留既有專案的引擎。視覺內容透過程式碼創作,或從現有素材中取得。 請勿使用生成式影片/影像或虛擬頭像模型。允許使用旁白合成與語音轉錄等音訊工具。

路徑相對於此目錄,無論安裝在何處皆適用。此技能不需要使用私有 MCP、特定代理/模型、 作者的個人目錄或付費服務。

黃金路徑 — 若要製作完整的影片,請嚴格按照此步驟執行

請勿探索程式碼、手動創作素材或手動調整像素。程式碼負責所有佈局、 字型適配與旁白時序的計算。您只需要在一個小型 JSON 檔案中編輯文字與參數。 依序執行以下四個步驟:

# 1. 一次性準備本機環境(專案本機的 Python + 音訊模型)
python3 <skill-dir>/scripts/setup_environment.py --out .video-forge-tools --audio

# 2. 複製隨附的故事板;僅編輯其中的文字/秒數/顏色/元件。
#    使用 Write 重寫整個檔案 — 切勿進行精確比對或局部編輯。
cp <skill-dir>/assets/storyboard-production.json ./storyboard.json

# 3. 驗證,然後渲染為 MP4。run.py 是唯一的進入點:它會自動選取已準備好的
#    直譯器與模型路徑,並依序執行語音→字幕→場景→音效→渲染→檢查。
python3 <skill-dir>/scripts/build_project.py ./storyboard.json --check
python3 <skill-dir>/scripts/run.py ./storyboard.json --out ./film
#    run.py 會持續執行直到 MP4 完成。若中途中斷,請使用相同的命令加上 --resume
#    來繼續(不要從頭開始)。若您的 bash 呼叫超時,請加上 --background 並使用
#    production_job.py status 輪詢。

# 4. 驗證實際的檔案
python3 <skill-dir>/scripts/verify_video.py ./film/out/final.mp4 --require-audio

弱模型的規則:故事板 JSON 是您唯一需要編輯的內容。請勿使用系統的 python3 來 呼叫 produce.py/build_project.py 以製作完整影片 — 務必透過 run.py 執行。 請勿編輯 .tsx/.py 原始檔來變更大小、佈局或文字;請改以故事板參數傳入。 若標題或卡片顯示錯誤,請變更其 JSON 值,而非程式碼 — 佈局計算是確定性的,且已符合影格尺寸。

從最小但足夠的上下文開始

閱讀 workflow。從需求摘要與提供的品牌/參考資料中推斷預設值。 僅針對缺乏決策的素材提問。對於新專案,請儲存 DESIGN.md 與 STORYBOARD.md: 每個場景包含一個目的、時長、渲染器、素材、鏡頭移動與音訊提示。 在混合渲染器之前,先統一尺寸與影格率。

對於完整的宣傳片/教學片,預設使用上述的生產方案,而非舊式的靜默四種測試。 閱讀 production direction 並從 assets/storyboard-production.json 開始。 scripts/run.py 負責執行整個計畫:語音、逐字字幕、連貫的場景、音效、 渲染與匯出檢查(它會使用準備好的直譯器為您呼叫 produce.py)。 若本機缺少音訊依賴項,scripts/setup_environment.py --out .video-forge-tools --audio 會準備一個專案本機的 Python 並回報模型路徑。此設定可在不同的編碼環境中重複使用; 它不需要作者的私人環境。請參閱 production-direction.md。

遵循此路徑時,請從需求摘要與生產範例開始;直接執行驗證器與製作者, 而非逐一檢查每個實作或預先檢查每個依賴項。製作者會回報缺少的工具 與具體的修復步驟。僅在觀察到錯誤需要診斷時才閱讀其原始碼。

驅動模型負責選擇訊息與場景參數;經過驗證的程式碼則提供 工藝與正確性。請勿將「它填寫了一個 JSON」視為端到端的生產測試。

預設為優先重用模式:搜尋目錄,選取已示範的元件, 填入其已宣告的 props,渲染一個簡短的證明,然後進行組合。 當代理遇到困難或需要建立評估時,請閱讀 model-scaffolding。 當目錄確實不符合需求時,才適合編寫自訂程式碼。

在發明動畫之前先搜尋實際程式碼

python3 <skill-dir>/scripts/catalog.py 'character'
python3 <skill-dir>/scripts/catalog.py 'caption'
python3 <skill-dir>/scripts/catalog.py 'terminal'

對於符合入門範本標題/角色/螢幕/3D 詞彙的簡要需求,讓 模型使用 assets/storyboard.schema.json 來填寫 assets/storyboard-example.json:

python3 <skill-dir>/scripts/build_project.py ./storyboard.json --check
python3 <skill-dir>/scripts/build_project.py ./storyboard.json --out ./my-video

編譯器只會寫入專案及其所選場景需要的依賴項。 使用實際的預設值,而非自行發明一個結構。對於完整的影片,請使用 黃金路徑(run.py),而非停留在這個僅有靜默骨架的步驟。 它會準備實際的語音、將腳本對齊到測量後的 ASR 時間範圍、將字幕時間 帶入渲染、製作音軌並匯出聯絡表。

請參閱 library catalog。隨附的原始碼與上游授權:

  • library/vendor/rendercomp/:50 個程式碼繪製的場景、排版、轉場、圖表 與 SVG 角色。每個元件都匯出預設值、影格率與時長。
  • library/vendor/curvable/:14 個參數化的發佈影片場景;在使用元件前檢查 選用的著色器/字型/WASM 依賴項。
  • library/vendor/onda/:元件、Zod 結構、轉場與組合輔助函式。 透過結構解析預設值;保留相對匯入並載入主題/字型。
  • library/vendor/ffmpeg/:可執行的本機 Python 編輯輔助工具:剪輯、合併、 縮放/重新構圖、像素化/模糊、動態字幕、調色、混合、靜音、匯出與品質檢查。
  • library/vendor/blender/:可執行的無頭 Blender 輔助工具,用於檢查、 場景組合、轉換、最佳化、烘焙與渲染。需要 Blender。

請勿一次閱讀所有庫。UPSTREAM.json 記錄了來源,LICENSE 保留了上游條款。 它們的程式碼不會因為被收錄而自動經過測試。

根據工作類型決定路徑

工作閱讀 / 使用
HTML 動畫、GSAP、註冊區塊HyperFrames
React 組合 / 資料批次Remotion、參數
素材編輯、調色、速度、音訊、最終組合FFmpeg
擷取瀏覽器/桌面、游標攝影機、縮放、檢查螢幕錄製
角色、插圖、3D 素材角色、素材來源
程序化幾何、攝影機、燈光、材質、骨架3D
旁白、逐字時間、動態字幕、音效音訊與字幕、音效設計
工具比較與混合引擎計畫路由

對於下載的剪輯/素材,請使用 media pipeline。 對於動畫決策,請使用 motion principles。 查閱 research 以了解已研究的技能/庫及其適用原因。 查閱 external libraries(以及 research/libraries-catalog.json) 以獲得經過授權審查的路由圖:哪些可以安全地打包,哪些需要引用。 HyperFrames 註冊表是另一個重複使用的來源;在建立效果之前先查詢它。 使用安裝的 --help;其合約可能與今天的上游技能不同。

驗證是生產的一部分

在製作動畫之前先建立主角影格。每個影格必須能夠以任意順序 來回搜尋:不允許使用時鐘、未設定種子的亂數、即時網路依賴或 自動動畫迴圈。HyperFrames 使用已註冊的暫停時間軸;Remotion 使用影格。 渲染代表性的影格並檢視它們;檢查入場、停留、剪輯邊界、 字幕變化與結尾。修正裁切、無法閱讀的文字、靜音與音訊同步問題。

當被要求提供影片時,請匯出完整的檔案。靜止畫面不算完成。

python3 <skill-dir>/library/vendor/ffmpeg/scripts/probe.py final.mp4 --json
python3 <skill-dir>/scripts/verify_video.py final.mp4 --require-audio
python3 <skill-dir>/library/vendor/ffmpeg/scripts/look.py final.mp4 --tiles 3x2

檢測並解碼最終匯出檔。確認計畫時長、尺寸/影格率與音訊。 實際檢查聯絡表。當有播放功能時,試聽音訊;若僅能進行技術性的音訊檢查,請說明。 遮罩需要在攝影機變換後檢查每個相關區間,並在音訊包含機密時進行消音處理。

交付可播放的影片、可編輯的專案、實際檢查結果以及任何真實的依賴限制。 保留原始檔案。除非請求授權,否則請勿發佈/上傳、花費點數或安裝系統軟體。 既有的授權依然有效。

模型與證據紀律

使用結構化計畫、小型候選清單、結構預設值與可執行的輔助工具,來減少 較弱模型需要自行發明的決策。將具體的錯誤回報給模型,並變更最小的失敗部分。 閱讀 evaluation 以了解配對的強/弱模型測試。 在未經測量的情況下,請勿聲稱與較強模型具有同等效能。復原狀態應存在於專案中, 而非存在於一個龐大的提示中。

我們自己的程式碼採用 MIT 授權。引擎/素材/語音保留各自的授權。 選用工具僅在需要時才安裝。請研究 Katana 參考工作流程,但切勿假設 Higgsfield 的代管模型是本機程式碼渲染器,或桌面版 Katana 具有 CLI。

相關技能