Communitygithub.com

RayMorTwinkle/anytomanim

從任何主題、文本、論文或儲存庫生成附有旁白的3Blue1Brown風格解說影片——透過「anytomanim」CLI工具鏈。音訊優先流程:旁白驅動動畫時間軸,確保語音與畫面節拍級同步。當用戶要求將概念製作成影片、將論文動畫化、製作教學或產出3b1b風格短片時使用。

anytomanim 是什麼?

AnyToManim 是一套專門製作 3Blue1Brown 風格解說影片的 CLI 工具鏈,採用「音訊優先」的架構設計。其核心機制是先合成旁白音訊,再根據音訊時長精確驅動動畫時間軸,確保語音與視覺效果達到節拍級同步。此工具鏈支援 pipx 安裝,並提供完整的規範文件(如 WORKFLOW.md、SCRIPT.md、STORYBOARD.md 等)引導 AI 代理從撰寫簡報、節拍表、故事板到場景程式碼的創作流程。主要工作階段包含:使用 export-guides 匯出規範、依序撰寫 brief.md 與 beats.json、透過 storyboard 進行視覺規劃、以 tts 合成旁白、編寫基於 NarratedScene 的場景 Python 檔、依照品質參數渲染影片,最後進行組裝與字幕嵌入。支援中文與英文,內建多種語音選項(baihua、moli、milo),也可自訂語音,並提供 draft 模式讓開發者在無 API 金鑰的情況下進行本地迭代。此工具特別適合需要將學術論文、程式碼倉庫或任何複雜概念轉化為高品質教育動畫影片的開發者與教育創作者。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/RayMorTwinkle/AnyToManim/tree/HEAD/skills/anytomanim

在你喜歡的 AI 中提問

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

說明文件

AnyToManim — 適用於有旁白 3b1b 風格影片的 CLI 工具鏈

本產品為命令列工具,而非 API 封裝。你(主機代理)負責創意階段——根據套件內附的規範文件撰寫簡報、節拍表、故事板及場景程式碼。CLI 負責所有確定性工作:TTS、時長測量、渲染、拼接。

安裝與檢查

pipx install anytomanim          # 或在虛擬環境中執行:pip install -e .
anytomanim doctor                # 回報缺少的依賴項與修正建議

工作流程——匯出規範並遵循執行

anytomanim export-guides ./guides   # WORKFLOW/DIGEST/SCRIPT/SCENE_GUIDE + 結構定義

接著遵循 guides/WORKFLOW.md:

  1. 根據 DIGEST.md 撰寫 brief.md
  2. 根據 SCRIPT.md(+ beats-schema.json)撰寫 beats.json。務必先閱讀 SCRIPT.md:旁白必須連貫,而非列舉。
  3. 閱讀 ORCHESTRATION.md,然後根據 STORYBOARD.md 撰寫 storyboard.json。開啟你選定卡片對應的可執行範例。執行 anytomanim storyboard storyboard.json --beats beats.json 並修正錯誤。
  4. anytomanim tts --beats beats.json —— 合成每個節拍,並將 audio_file 與實際 audio_seconds 寫回(重新執行後僅重新處理有變更的節拍)
  5. 根據 SCENE_GUIDE.md 撰寫 scenes/*.py(使用 NarratedScene + MiMoService(beats_file=...),搭配 with self.voiceover(beat="b01") as tr)。遵循故事板;從對應的 recipes/ 開始。
  6. anytomanim render scenes/X.py --quality ql —— 出錯時修正並重試
  7. anytomanim preview <mp4> —— 檢閱 sheet.png 與每個節點的報告(重疊、超時、凍結節拍、內容過少、空白頻段、固定標頭、故事板未提及的階段變更);修正並重新渲染直到乾淨為止
  8. 使用 --quality qh 渲染,anytomanim assemble a.mp4 b.mp4 -o final.mp4,anytomanim subtitles beats.json --mux final.mp4

無需金鑰/無成本迭代:ANYTOMANIM_TTS=draft(使用本機語音)。

anytomanim run "<topic>" 也存在——一個嵌入式 LLM 參考驅動程式,用於自動化批次評估(需要 LLM API 金鑰;互動式代理應改用指南驅動流程)。

合約

  • beats.json 是介面——公開的中間表示(旁白 + 視覺 + audio_seconds)。
  • 音訊優先同步:合成 → 測量 → 每個 run_time 源自 tr.duration,渲染時會精確重播這些 wav 檔案。絕不發明時長。
  • 乾淨的渲染不代表完成——每次都要查看預覽表。
  • 連續性優先。在一個物體離開前,先問它是否能變成下一個物體。淡出並重繪是最後的手段。
  • 盡可能繪製關係,而不是將其寫成標籤。
  • 語音:--voice baihua|moli|milo;透過 assets/voice/<name>.mp3 + voices.json 條目複製自己的語音。支援中文 + 英文。
  • 請參閱儲存庫中的 examples/ 以獲取完整的端到端運行範例。

相關技能