manim-video-generator  by rohitg00

Generate complex mathematical animations from natural language descriptions

Created 1 year ago
263 stars

Top 96.8% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

This project addresses the generation of mathematical animations from natural language descriptions. It leverages OpenAI's GPT models and the Manim rendering engine to automate the creation of complex visualizations, benefiting researchers, educators, and power users by simplifying the process of bringing abstract mathematical concepts to life.

How It Works

The application employs an event-driven architecture powered by the Motia framework. An API endpoint (POST /api/generate) accepts natural language concepts, triggering a pipeline of asynchronous steps: AnalyzeConcept, GenerateCode (using AI or templates), RenderVideo (via Manim CLI), and StoreResult. This design promotes decoupled, independently scalable steps with built-in observability via Motia Workbench, enhancing robustness and maintainability over traditional synchronous approaches.

Quick Start & Requirements

  • Prerequisites: Node.js 18+, Python 3.10+, Manim Community Edition, FFmpeg, LaTeX distribution (texlive).
  • Installation: Clone the repository, run npm install, copy and configure .env with OPENAI_API_KEY, and execute npm run generate-types.
  • Run: Start the development server with npm run dev.
  • Links: Manim Documentation, Motia Documentation.

Highlighted Details

  • Skills System: Extensible with specialized modules like math-visualizer, animation-composer, visual-storyteller, and motion-graphics for advanced animation capabilities.
  • Style Presets: Supports customizable visual styles including "3blue1brown", "minimalist", and "neon".
  • Refinement API: Enables iterative improvement of generated animations via a dedicated API endpoint.
  • Broad Topic Support: Covers a wide range of mathematical subjects from basic theorems to complex calculus and linear algebra.
  • Showcase: Features impressive examples of generated animations for complex analysis, 3D calculus, and linear algebra transformations.

Maintenance & Community

Created by Rohit Ghumare, the project is built upon Manim Community, Motia, and OpenAI. Development insights can be gained using Motia Workbench. No specific community channels like Discord or Slack are detailed in the README.

Licensing & Compatibility

The project is released under the MIT License, generally permitting commercial use and integration into closed-source projects, subject to the license terms.

Limitations & Caveats

The setup requires installing several specific software dependencies (Node.js, Python, Manim, FFmpeg, LaTeX). Reliance on the OpenAI API for code generation introduces potential costs and rate limits. The quality of AI-generated code may necessitate manual refinement, and the project primarily serves as a demonstration of the Motia framework's capabilities.

Health Check
Last Commit

3 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
13 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.