到了 2024 年,自動化影片製作的團隊——AI 生成的社群短片、個人化廣告變體、產品導覽——需要一個能大規模渲染的程式框架,但每個選項作為依賴項都不合格。Revideo 創辦人最初使用的 MoviePy 無法在瀏覽器中預覽,因此測試一項變更就得等上好幾分鐘才能完成渲染。Remotion 很強大,但僅提供原始碼,企業使用需付費授權;而 Motion Canvas 如其維護者所述,刻意設計為獨立編輯器,而非可嵌入的函式庫。

他們的做法是分支。Revideo 採用了 Motion Canvas 基於 canvas 的動畫模型,將其轉變為影片優先的 TypeScript 函式庫:場景是一個生成器函式,其 yield 推進時間,同一個場景透過 React 播放器在瀏覽器中即時預覽,而無頭渲染 API 可在任何執行 Node 和無頭瀏覽器的環境中產出影片檔案或渲染端點。渲染可拆分到多個平行 worker 上執行,音訊會同步並匯出,核心零依賴,整個專案採用 MIT 授權。

影響最深遠的設計選擇在 README 中明確說明:場景就是純 TypeScript,因此 Claude 或 Codex 可以從提示詞產出一個場景。無需學習 DSL、無需釐清授權、無需拖曳時間軸——場景就是程式碼,而這正是程式設計代理所撰寫的內容。2024 年 6 月 11 日的 Show HN 獲得 298 分和 76 則留言,到 2026 年 9 月,該儲存庫顯示約 4,000 顆星、209 個分支和 1,143 次提交,該引擎也驅動著創辦人自家的渲染服務 Midrender。

讓場景成為純 MIT TypeScript,可由 AI 撰寫

MIT 授權移除了 Remotion 的付費企業授權在開發者與生產使用之間設下的障礙。

生成器函式將時間線性化,因此場景從上到下閱讀,對人類和語言模型而言都比以幀索引的元件樹更容易撰寫。

Canvas 渲染加上無頭 API 意味著同一個專案可在瀏覽器中預覽,並在任何 Node 主機上渲染,因此該格式能嵌入網頁應用和無伺服器管線。

保持引擎開源同時銷售受管理的平行渲染,為 Revideo 提供了漏斗:開發者採用免費格式,當他們需要規模時,Midrender 便收費。

一個格式之所以勝出,在於消除依賴摩擦——授權、預覽迴圈、專有 DSL——以及在於能同時被機器和人撰寫;把格式免費送出,對擴展渲染收費。

2024 年 6 月的發布討論串獲得 298 分和 76 則留言,創辦人說明了從 Motion Canvas 分支、選擇不建構於 Remotion 之上,以及計畫對受管理的渲染而非框架收費。兩年後,重點轉向 AI 撰寫——「場景就是純 TypeScript,因此 Claude 或 Codex 可以從提示詞產出一個場景」——該儲存庫顯示 4,000 顆星、209 個分支和 1,143 次提交,並有文件和在 Google Cloud Run 上的範例部署。使用者在該引擎上建構了網頁影片編輯器和行銷管線;Midrender 執行於同一份程式碼。

追溯依據

參考來源

  1. midrender/revideo: Create Videos with Code GitHub · github.com
  2. Show HN: Revideo - Create Videos with Code Hacker News · news.ycombinator.com ·