Wing900/ManimCat

EN: ManimCat: AI-generated math animations from natural language. High-quality Manim rendering with LaTeX support and auto-code fixing. 中: ManimCat:AI 数学动画生成器。支持描述即视频,内置 LaTeX 与代码纠错,让数学动效触手可及。

ManimCatとは?

ManimCatは、数学的なビジュアライゼーションを作成するための、ウェブベースのAI支援型ワークスペースです。自然言語のプロンプト(例: "級数 1/4+1/16+… の幾何学的証明を示す")を入力すると、バックグラウンドでLLMがシーンを設計し、適切なManim(アニメーション)またはmatplotlib(静的プロット)のコードを書き、コードを実行し、レッスンに埋め込めるビデオや画像を返します。

システムは主に2つの方法で動作します:

モード 使用する場面 機能
Workflowモード 簡単な画像や短いビデオが欲しい場合。 単一のリクエストがLLMに送信され、生成されたコードがレンダリングされ、結果がUIにストリーミングされます。
Agent (Studio)モード インタラクティブなマルチステップセッションが必要な場合 – ビジュアルの調整、レンダリングの確認、一連の関連図の作成など。 長期間続く「スタジオ」セッションが状態(タスク、実行、結果)を保持します。反復、エージェントへのコード変更依頼、レンダリングの承認、専用ワークスペースでの作業整理が可能です。

両モードとも2つのレンダリングエンジンをサポート:

  • Manim Community Edition – タイムラインベースのアニメーション用。
  • matplotlib – 静的チャートや教材用図(「Plot Studio」)用。

仕組み(高レベルアーキテクチャ)

User (browser) ──► React UI (Vite + Tailwind) ──► Express/TS backend
                                            │
                                            ├─► Bull + Redis queue
                                            │   (job scheduling, retries)
                                            ├─► OpenAI‑compatible LLM API
                                            │   (scene design → code generation)
                                            └─► Python runtime
                                                ├─► Manim CE (animation)
                                                └─► matplotlib (static)
  • フロントエンド – 最新のReactアプリ(React 19、Vite)で、クラシックな生成UI、Studioワークスペース、Plot Studioツールを表示します。
  • バックエンド – Node/Expressサービスで、生成リクエストを受け入れ、RedisバックアップのBullキューにジョブをプッシュし、Server-Sent Eventsを介してステータス更新をストリーミングします。
  • レンダリング – PythonコンテナがManimまたはmatplotlibを実行し、LaTeXをコンパイルし、ffmpegを使用してビデオ/オーディオファイルを生成します。
  • 状態と永続化 – オプションのSupabaseテーブルがセッション履歴を保存できます。それ以外はすべてメモリ/Redisに存在します。
  • デプロイメント – Docker(またはDocker Compose)はローカルで動作します。シングルコンテナイメージ(wingflow/manimcat)はHugging Face Spacesにデプロイできます。

クイックスタート

# Clone and install the Node side
npm install
cd frontend && npm install

# Run locally (frontend + backend)
npm run dev   # opens http://localhost:3000

Dockerをお好みの場合:

docker pull wingflow/manimcat
docker run -p 7860:7860 wingflow/manimcat

UIでプロンプトを入力し、ビデオまたは画像を選択し、生成の進行状況を確認できます。


誰に役立つか?

  • 教師・教育者 – Manimコードを書かずに、カスタムのその場限りの数学アニメーションを求める方。
  • 学生 – 入力した概念の視覚的な説明を求める方。
  • コンテンツクリエイター(YouTuber、MOOC) – 数学重視のビジュアルを迅速にプロトタイプする必要がある方。
  • 研究者 – 科学的ビジュアライゼーションのためのAI駆動のコード生成を実験している方。

制限事項とメンテナンスノート

  • 作者は趣味のメンテナーであるため、問題やPRへの対応時間が遅い場合があります。
  • Studioモードはまだ発展途上です。アニメーション重視の「Manim Studio」は、Plot Studioほど機能が充実していません。
  • LLM部分には、OpenAI互換モデル(または他のプロバイダー)へのアクセスが必要です。プロジェクトは設定フックを提供しますが、モデルは同梱されていません。
  • レンダリングされたビデオの永続ストレージには外部ボリュームの処理が必要です – そうでないと再ビルドで削除されます。

ライセンス

AGPL‑3.0‑or‑later。manim-video-generator(MIT)からのサードパーティコードは、書き直されるか、元の帰属表示の下に保持されます。


要約: ManimCatは、自然言語の数学プロンプトをManimとmatplotlibを使用してアニメーションまたは静的ビジュアルに変換する、AI拡張されたデュアルモードのウェブアプリであり、反復的で協力的な作成のためのより豊かな「Studio」体験を提供します。

関連

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