marcelo-earth/generative-manim

🎨 GPT for video generation ⚡️

Generative Manim – AI駆動のアニメーション作成

何であるか

  • プレーンな英語のプロンプトを入力すると、大規模言語モデル(LLM)が対応する Manim Pythonコードを生成し、それを動画にレンダリングするオープンソースツールキット。
  • Manimレンダラー自体が決定論的な検証者であるというアイデアに基づいている:生成されたコードは正しいアニメーションを生成するか、クラッシュするかのどちらかであり、これは訓練における報酬信号として利用可能。

主要コンポーネント

コンポーネント 目的
LLM → Manimコードエンジン 自然言語プロンプトをManimスクリプトに変換するモデルラッパー群(GPT‑4o、Claude、Gemini、Featherless経由のオープンウェイトモデル、LiteLLMパススルーなど)。
API RESTスタイルのAnimation Processing Interface。プロンプトを受け取り、モデルを選択し、生成を実行し、レンダリング済み動画(またはRaw Pythonコード)を返す。
Webデモ generative-manim.vercel.app でホスト。ブラウザ上でエンドツーエンドのフローを確認可能。
Animoデスクトップアプリ 同じパイプラインのパッケージ化されたローカルレンダリング版。プライバシー保護とクラウドコストゼロを実現。
トレーニングパイプライン Qwen 2.5‑Coder 7B、DeepSeek‑Coder V2 Lite、CodeLlama 7Bなどのオープンウェイトモデルを、3段階プロセス(Supervised Fine-Tuning → Direct Preference Optimization → Group Relative Policy Optimization)で微調整するためのオープンソーススクリプト。Manimレンダラーが報酬として使用される。
ベンチマークスイート 任意のManimコードを生成するモデルの再現可能な評価(pass@k、レンダリングベーススコア、構造的チェック)を提供。

主な機能

  • プロンプトからアニメーションまで:"A ball falls, bounces, and turns into a star" のような一文を入力すると、再生可能な動画が即座に生成される。
  • 複数のモデルバックエンド:OpenAI、Anthropic、Google Gemini、Moonshotの公式サポートに加え、FeatherlessやLiteLLM経由でオープンウェイトモデルも利用可能。
  • Animoによるローカルレンダリング:コードや動画をアップロードする必要なし。すべてユーザーのマシン上で実行。
  • エクスポート可能なコード:生成されたManimスクリプトは提供されるため、編集・バージョン管理・再利用が可能。
  • オープンソーストレーニング:独自のコード生成モデルをトレーニングするためのスクリプトと、実行可能なManimコードを生成する頻度を測定するベンチマークを提供。
  • コミュニティリソース:ディスカッション用のDiscord、カレントされたManim Awesome Skillsリポジトリ、詳細なデプロイドキュメント(Docker/Render)。

一般的なワークフロー

  1. 記述を書く – Manimの知識不要。プレーンな英語で。
  2. モデルを選択する – 高性能モデル(例:GPT‑4o)または低コストのオープンウェイトモデルを選択。
  3. コードを生成する – APIがLLMを呼び出し、Pythonスクリプトを受信。オプションでストリーミングで返す。
  4. レンダリングする – スクリプトをManimで実行。結果の動画を返す(またはAnimoがローカルに保存)。
  5. 反復する – プロンプトや生成されたコードを編集して再実行。

導入方法

  • デモを試す: https://generative-manim.vercel.app にアクセスし、プロンプトを入力。
  • ローカルでAPIを実行:
    git clone https://github.com/360macky/generative-manim.git
    cd generative-manim/api
    # OpenAI/Anthropic/GoogleのAPIキーを設定
    export OPENAI_API_KEY=…
    uvicorn main:app --reload   # docs/cloud-deployment.mdに記載の通りDockerも利用可
    
  • Animoを使用する: https://animo.video からデスクトップアプリをダウンロード、インストール、そしてサーバーなしで作成を開始。
  • 独自モデルをトレーニングする: training/ のREADMEを参照。5,000以上のプロンプト-コードペアを使ってQwen 2.5‑Coder 7Bを微調整し、ベンチマークを実行する方法が記載。

誰が恩恵を受けるか

  • 教育者・コンテンツクリエイター:Manimを学ぶ必要なしに、素早く説明用アニメーションを作成できる。
  • 開発者:決定論的で視覚的な報酬を持つコード生成ベンチマークを探している人。
  • 研究者:LLM駆動プログラミングに興味があり、出力が自動検証可能(レンダリング済み動画)な分野に注目している人。
  • 学生:自然言語から生成されたアニメーションで物理や数学の概念を視覚的に探求したい人。

コミュニティとサポート

  • Discord: https://discord.gg/SNdbPU2AMM
  • GitHubでIssueとPull Requestを歓迎します。
  • 賛助:現在はThe Astronomical Software Companyが支援しています。

上記のすべての情報はリポジトリのREADMEから直接取得。追加機能は一切推測されていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト