Skip to content

programmersd21/EfficientManimCloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎬 EfficientManim Cloud

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.

Streamlit Manim Google GenAI

✨ Features

  • 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.

🛠️ Prerequisites

Before running the project, ensure you have the following system dependencies installed (required by Manim):

System Dependencies (Linux/Debian)

sudo apt update
sudo apt install -y ffmpeg libcairo2-dev libpango1.0-dev \
    texlive texlive-latex-extra texlive-fonts-recommended \
    graphviz

Windows

  • Install FFmpeg.
  • Install MiKTeX or TeX Live for LaTeX support.
  • Install Manim following the official guide.

🚀 Getting Started

  1. Clone the repository:

    git clone https://github.com/your-username/EfficientManimCloud.git
    cd EfficientManimCloud
  2. Install Python dependencies:

    pip install -r requirements.txt
  3. Run the application:

    python -m streamlit run main.py

🖥️ Usage

  1. Configure API: (Optional) Enter your Google GenAI API key in the sidebar for AI assistance.
  2. Add Nodes: Use the sidebar to add Mobjects (like Circle, Square, Text) and Animations (like Create, FadeIn).
  3. Connect: Link your Animation nodes to the Mobject nodes they should act upon.
  4. Preview: Click 'Render Preview' to see the current state.
  5. Export: Click 'Render Video' to generate the final animation.

🧰 Tech Stack


Note: This project is currently in active development. Features and UI are subject to change.