Communitygithub.com

raymond9703/AgentMotion

一句話出片・純程式碼影片生成統一框架(AgentMotion)。用程式碼逐幀繪製並渲染出 MP4 —— 無素材、無 AI 影片模型、幀 = f(t) 完全確定性。當用戶要「用程式碼做影片」「做一支動畫/講解片/宣傳片/數據影片/風格目錄片」「逐幀繪製動畫」「把數據變成可分享影片」「不知道用什麼風格/技法」時使用。統一調度兩種渲染後端(零素材 HTML Canvas / React+Remotion)、15 種商用級風格配方與完整品檢循環。不適用於編輯現有影片檔,也不適用於擴散模型影片生成(Wan/Hunyuan/LTX)。

AgentMotion 是什麼?

AgentMotion 是一個純程式碼影片生成統一框架,專為開發者與 AI 代理設計。它的核心理念是「每一幀都是幀號的純函數:frame = f(t)」,透過完全確定性的渲染方式,避免隨機性與狀態累積,確保多 worker 平行渲染與逐幀自檢的可靠性。框架支援兩種渲染後端:零素材的 HTML Canvas(適合短片、插畫風格)以及 React + Remotion(適合數據驅動、批次個人化、字幕燒錄等複雜場景),並提供 15 種商用級風格配方。標準工作流程包括讀題、分鏡、搭建骨架、自檢後渲染(使用 scripts/render.mjs)、兩輪目檢(分鏡符合度與導演輪),最終交付 MP4 與可播放的 HTML 檔案。AgentMotion 尤其適合用程式碼製作動畫、講解片、宣傳片或數據影片,但不用於編輯現有影片或擴散模型生成。它依賴 Node 18+、ffmpeg 與 Playwright,並透過內建腳本與抑制翻車規則(如純函數、手繪線條避免抖動、繪製順序顯式由後往前)來確保渲染品質與穩定性。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add raymond9703/AgentMotion

在你喜歡的 AI 中提問

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

說明文件

AgentMotion — 純程式碼影片生成統一框架

把「一句話」變成一支全部由程式碼繪製出來的 MP4。本技能是編排層:它幫你選後端、選風格、走流程、過品檢;具體繪製知識在 references/ 與 styles/。

核心不變量(所有後端共用)

每一幀都是幀號的純函數:frame = f(t)。 不用 Math.random()(用種子隨機)、不用 Date.now()、不用 rAF 累積狀態。這是確定性渲染、平行出幀、逐幀自檢能成立的前提。違反它,渲染和預覽就會對不上。

第一步:選後端(決策樹)

場景後端參考
短片(≤60s)、零外部素材、插畫/手繪/風格化單檔案 HTML Canvasreferences/backends.md §1
數據驅動、批次個人化(一條數據一支片)、字幕/旁白燒錄、3D/圖表元件生態React + Remotionreferences/backends.md §2
網頁裡直接播放的互動動畫(不需要 MP4)單檔案 HTML,交付 HTML 而非渲染references/backends.md §3

拿不準就選 Canvas 單檔案:依賴最少、agent 最容易一遍寫對。

第二步:選風格

查 styles/recipes.md(15 種商用級風格:調色盤 / 核心技法 / 運動規律 / 避坑)。用戶說不出風格時,讓他挑或按主題推薦;兩支不同的片子預設不複用同一套視覺與配樂。

第三步:標準工作流(不要中途停下問)

  1. 讀題:從用戶輸入推斷片型(故事/講解/盤點/循環/數據片)、時長(預設 15-20s)、畫幅(預設 1920×1080;數據分享片用 1080×1920)。字幕語言跟隨用戶輸入語言。
  2. 分鏡:先定 BPM 與段落數據(SECTIONS/SHOTS/EVENTS),畫面與配樂都讀同一份時間數據,音畫天然對齊(references/storyboard.md)。
  3. 搭骨架:從 templates/starter.html 複製(Canvas 後端),替換調色盤與世界繪製。保持契約:頁面暴露 window.C2V = { fps, frames, width, height, draw(frame) },draw 是純函數。
  4. 自檢後渲染(順序不能反):
node scripts/render.mjs film.html sheet.jpg --sheet 1          # 1幀/秒 拼圖, stepping off cuts
node scripts/render.mjs film.html still.png --stills 0,90,300  # 指定時刻靜幀
node scripts/env-check.mjs                                      # 環境體檢
node scripts/render.mjs film.html out.mp4 --audio music.mp3     # 全片渲染(可選配樂)
node scripts/probe.mjs out.mp4 1920x1080 30                     # 斷言編碼參數
  1. 目檢兩輪(references/qc.md):① 分鏡符合度——在每個鏡頭的動作節拍處截幀,對照分鏡行核對;② 導演輪——看 contact sheet,評節奏/景別多樣性/死幀/每個動作是否有聲音。至少兩輪,改哪幀只重渲哪幀。
  2. 交付:MP4 + HTML(HTML 可在瀏覽器直接播放)。結尾一兩句提供可變更項:換風格、換配樂、改時長。

Remotion 後端的渲染與驗證用 npx remotion still → 目檢 → npx remotion render(見 references/backends.md §2)。

防翻車規則(最高頻失敗)

  • 純函數。任何狀態累積都會導致平行渲染錯幀。
  • 手繪線條要「沸騰」不要「抖動」:wobble 種子每 4 幀一換(≈7.5 次/秒),每幀一換讀起來是雜訊。
  • 身體用橢圓與圓角矩形,少用多邊形讀起來像路牌。
  • 繪製順序顯式從後往前,多數「臉被擋住」是畫序問題。
  • 文字永不碰撞:給文字塊與關鍵物體佔位(claim),交付前逐幀查版面。
  • 切點與動作點落在節拍上,且響度跳變 ≤+6dB,否則讀起來像驚嚇(references/audio.md)。

檔案地圖

檔案內容
scripts/render.mjs確定性渲染核心:MP4 / 靜幀 / contact sheet,多 worker 平行
scripts/env-check.mjs / probe.mjs環境體檢 / MP4 編碼斷言
templates/starter.html幀=f(t) 骨架:契約、種子隨機、緩動、相機、節拍
styles/recipes.md15 種風格程式碼級配方
references/*.md工作流 / 分鏡 / 技法 / 品檢 / 配樂 / 後端選型
examples/hello-drop.html可立即執行的最小範例

依賴

Node 18+、ffmpeg(PATH 可達)、Chrome 或 Edge;npm i playwright-core(在你的專案目錄裝,不是本技能目錄)。

相關技能