EfficientManim Cloud is a web-based, node-centric editor for Manim, built with Streamlit. It allows users to visually construct mathematical animations by connecting Mobjects and Animations, providing a more intuitive workflow than writing raw Python code.
- Visual Node Editor: Map out your scene logic using a node-based interface. Connect objects to animations seamlessly.
- AI Assistant: Leverages Google's GenAI to assist in script generation and solving complex Manim logic.
- Instant Preview: Render low-quality single frames (PNG) to verify your scene's layout without waiting for full video renders.
- Full Video Rendering: Export high-quality MP4 videos with customizable FPS and quality settings.
- Auto-Code Generation: Automatically translates your visual graph into clean, executable Manim Python code.
- Live Logging: Real-time console logs within the UI to track rendering progress and debug errors.
Before running the project, ensure you have the following system dependencies installed (required by Manim):
sudo apt update
sudo apt install -y ffmpeg libcairo2-dev libpango1.0-dev \
texlive texlive-latex-extra texlive-fonts-recommended \
graphviz- Install FFmpeg.
- Install MiKTeX or TeX Live for LaTeX support.
- Install Manim following the official guide.
-
Clone the repository:
git clone https://github.com/your-username/EfficientManimCloud.git cd EfficientManimCloud -
Install Python dependencies:
pip install -r requirements.txt
-
Run the application:
python -m streamlit run main.py
- Configure API: (Optional) Enter your Google GenAI API key in the sidebar for AI assistance.
- Add Nodes: Use the sidebar to add Mobjects (like Circle, Square, Text) and Animations (like Create, FadeIn).
- Connect: Link your Animation nodes to the Mobject nodes they should act upon.
- Preview: Click 'Render Preview' to see the current state.
- Export: Click 'Render Video' to generate the final animation.
- Framework: Streamlit
- Animation Engine: Manim Community Edition
- AI Integration: Google Generative AI
- Graphing: Graphviz (for dependency visualization)
- Environment: Python 3.9+
Note: This project is currently in active development. Features and UI are subject to change.