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)。
一般的なワークフロー
- 記述を書く – Manimの知識不要。プレーンな英語で。
- モデルを選択する – 高性能モデル(例:GPT‑4o)または低コストのオープンウェイトモデルを選択。
- コードを生成する – APIがLLMを呼び出し、Pythonスクリプトを受信。オプションでストリーミングで返す。
- レンダリングする – スクリプトをManimで実行。結果の動画を返す(またはAnimoがローカルに保存)。
- 反復する – プロンプトや生成されたコードを編集して再実行。
導入方法
- デモを試す: 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から直接取得。追加機能は一切推測されていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト