π Create mathematical animations visually with the power of Python, AI, and Production-Grade Type Safety.
- Visual Editor: Drag-and-drop Mobjects and Animations with intuitive wiring
- Infinite Canvas: Pan and zoom freely to manage large node graphs
- Live Preview: Real-time static previews of individual nodes
- Smart Connections: Automatic wire validation and scene synchronization
- Manage multiple scenes per project in the Scenes tab
- Create, rename, delete, and switch between scenes β each with its own node graph
- Scene state auto-saved and restored when switching
- Select Mobject nodes β click Create VGroup in the VGroups tab
- VGroup code automatically generated:
group_1 = VGroup(circle_1, square_1) - Groups shown in expandable tree view
- Describe animations in plain English β AI generates Manim code
- AI code parsed into editable nodes with correct wiring
- Streaming responses with real-time feedback
- Gemini TTS Integration with multi-voice support (Zephyr, Puck, Fenrir, etc.)
- Auto-sync animation duration to audio length
- Clone any GitHub repository into
~/.efficientmanim/snippets/ - Browse
.pyfiles; double-click to load into AI panel as snippet - All cloned repos automatically repopulated on startup
- Top-5 most-used Mobjects + top-5 most-used Animations tracked per session
- Persisted to
~/.efficientmanim/usage.json - Double-click to instantly add to canvas
- Help β Edit Keybindingsβ¦ opens the keybindings editor
- Double-click any shortcut to change it
- Duplicate detection; changes persisted to QSettings
- Project name textbox in the top-right corner of the window
- Rename your
.efpfile without leaving the editor
- Bundled images, sounds, and videos included
- ZIP-based, cross-platform, easy to share
- Full dark mode with no white bleed-through
- Switch via the theme button in the corner or Settings
- QSS-based styling with ColorToken system
- 60+ Manim classes in 8 categories (Geometry, Text, Graphs, 3D, Animations, etc.)
- Search bar filters in real-time
- Double-click or drag to add node to canvas
- Full scene export to MP4/WebM
- Up to 4K resolution, 15β60 FPS, quality presets
Run python home.py to see the home screen with recent projects.
Run python main.py to skip the home screen and open the editor directly.
| Action | Shortcut |
|---|---|
| New Project | Ctrl+N |
| Open Project | Ctrl+O |
| Save Project | Ctrl+S |
| Save As | Ctrl+Shift+S |
| Exit | Ctrl+Q |
| Undo | Ctrl+Z |
| Redo | Ctrl+Y |
| Delete Selected | Del |
| Fit View | Ctrl+0 |
| Auto-Layout | Ctrl+L |
| Export Code | Ctrl+E |
| Copy Code | Ctrl+Shift+C |
| Toggle Theme | Ctrl+T |
| Edit Keybindings | Ctrl+, |
All shortcuts are editable via Help β Edit Keybindingsβ¦
- Python 3.10+
- FFmpeg β for video rendering (must be in PATH)
- Git β optional, for GitHub Snippet Loader
- LaTeX β optional, for local LaTeX rendering
git clone https://github.com/pro-grammer-SD/EfficientManim.git
cd EfficientManim
pip install -r requirements.txt
python home.py # Full experience with home screen
# or
python main.py # Open editor directlyManual install:
pip install manim PySide6 google-genai pydub requests numpy
Launch the application and initialize the workspace.
Start with a clean node canvas, ready for composition and design.
Quickly access recently opened projects and elements from the Recents panel.
Manipulate nodes interactively to refine workflows and structures.
Use the search tool to locate elements and components efficiently.
Access GitHub snippets directly for rapid code reuse and integration.
Select a snippet from GitHub to integrate seamlessly into your project.
Load and insert external code dynamically into the workspace.
Preview your work instantly for faster iteration and verification.
View the resulting output, demonstrating final rendering in the node canvas.
Made with lots of β€οΈππ by Soumalya a.k.a. @pro-grammer-SD
-
πΏ Legacy Discussion (v1): https://www.reddit.com/r/manim/comments/1qck0ji/i_built_a_nodebased_manim_ide_with_ai_assistance/
-
π― Latest Discussion (v2): https://www.reddit.com/r/manim/comments/1rhou29/efficientmanim_v2xx_major_update_with_mcp/
