A web-based tool for generating mathematical animations using Manim, Flask, and OpenAI. Create beautiful mathematical visualizations with simple text prompts.
- Generate mathematical animations from text descriptions
- Modern, responsive web interface
- Real-time code preview with syntax highlighting
- Support for various mathematical concepts
- Easy-to-use example prompts
- Docker support for easy deployment
- Clone the repository:
git clone https://github.com/rohitg00/manim-video-generator.git
cd manim-video-generator
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables:
cp .env.example .env
# Edit .env with your OpenAI API key
- Run the application:
python app.py
- Visit
http://localhost:5000
in your browser
- Build the Docker image:
docker build -t manim-generator .
- Run the container:
docker run -p 5000:5000 -v $(pwd)/media:/app/media manim-generator
- Ensure your mathematical concepts are clearly described
- Complex animations may take longer to generate
- Supported topics include:
- Basic geometry and algebra
- Calculus concepts
- 3D visualizations
- Matrix operations
- Complex numbers
- Differential equations
Here are some examples of complex mathematical animations generated using our tool:
This animation demonstrates complex number transformations, showing how functions map points in the complex plane. Watch as the visualization reveals the geometric interpretation of complex operations.
A sophisticated 3D visualization showing multivariable calculus concepts. The animation illustrates surface integrals and vector fields in three-dimensional space, making abstract concepts tangible.
This animation brings differential equations to life by visualizing solution curves and phase spaces. Watch how the system evolves over time, revealing the underlying mathematical patterns.
Experience linear transformations in action! This visualization demonstrates how matrices transform space, showing concepts like eigenvectors, rotations, and scaling in an intuitive way.
These examples showcase the power of our tool in creating complex mathematical visualizations. Each animation is generated from a simple text description, demonstrating the capability to:
- Render sophisticated 3D scenes with proper lighting and perspective
- Create smooth transitions between mathematical concepts
- Visualize abstract mathematical relationships
- Handle multiple mathematical objects with precise timing
- Generate publication-quality animations for educational purposes
- Python 3.10+
- FFmpeg
- Cairo
- LaTeX (for mathematical typesetting)
- OpenAI API key
- Created by Rohit Ghumare
- Powered by Manim Community
- Special thanks to:
- 3Blue1Brown for creating Manim
- Sevalla for support and inspiration
- The Manim Community for their excellent documentation and support
This project is open source and available under the MIT License.
-
LaTeX Errors
- Ensure you have a complete LaTeX distribution installed
- Check for syntax errors in mathematical expressions
-
Rendering Issues
- Verify FFmpeg installation
- Check Cairo dependencies
- Ensure sufficient system resources
-
API Rate Limits
- Monitor OpenAI API usage
- Implement appropriate rate limiting
- Consider using API key rotation for high traffic
- User authentication system
- Save and share animations
- Custom animation templates
- Batch processing
- Advanced customization options
- API endpoint for programmatic access
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
If you encounter any issues or have questions, please:
- Check the Common Issues section
- Search existing GitHub issues
- Create a new issue if needed
Made with ❤️ using Manim, Flask, and OpenAI