The project's README from github.com/academa-labs/manimgx. As one markdown file: README.md.
Blazingly fast 3D animation engine for agents, compatible with Manim CE's API.
Powered by Rust and wgpu. Install with a prompt or pip. Run in the browser.
Documentation · Quickstart · Examples · API Reference
36.2 seconds of video, rendered in 3.08 seconds. Across five scenes at 1080p60 on an Apple M4 Pro, ManimGX is 90.6× faster than ManimCE, 11.5× faster than ManimGL, and 18.7× faster than Blender Workbench, from launch to finished MP4. How it was measured: the scenes, the settings and every run.
All engines use the fastest encoding preset available. Lower is better.
Compare the same scene. Linked rings at 2.5 seconds, rendered by each engine.
| ManimGX | ManimCE | ManimGL | Blender Workbench | Blender EEVEE |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
With a prompt. Paste into Claude Code, Codex, or Cursor. Your agent handles setup:
Follow https://manimgx.academa.ai/llms.txt.
Install ManimGX, make a 3D animation of the solar system, and open it.
With pip. Install on macOS, Linux or Windows with Python 3.13+:
pip install manimgx
Fonts, typesetting and video encoding are included. For editor setup and a guided first animation, follow the Quickstart.
Save this as scene.py:
import manimgx as m
class Hello3D(m.ThreeDScene):
def construct(self) -> None:
self.set_camera_orientation(phi=65 * m.DEGREES, theta=-45 * m.DEGREES)
self.begin_ambient_camera_rotation(rate=0.5)
cube = m.Cube(side_length=3, fill_opacity=0.3, stroke_width=2)
self.play(m.Create(cube), run_time=2)
self.wait(4)
Render it:
manimgx render scene.py
You get Hello3D.mp4, a 1080p60 video:
An API for 3D video in the age of agents. Your agent writes Python using Manim CE's API. ManimGX's Rust + wgpu engine renders the MP4, blazingly fast.
.animate chains included.npm install manimgx. Pyodide runs
Python in a Web Worker; WebGPU renders the scene.
Embed a scene with no render server.manimgx inspect: storyboards and 2D layout checks, at play endings or times you choose.self.say().manimgx.academa.ai has the guides, rendered examples with source code, and API reference:
For agents, llms.txt provides setup instructions and links to the documentation as Markdown.
Grant Sanderson created Manim. ManimGX targets the API of Manim Community Edition, the widely used community-maintained fork.
The Rust renderer uses wgpu for native GPU rendering and WebGPU in the browser. Its 3D lighting is adapted from Google's Filament: physically based materials, image-based lighting, ambient occlusion, bloom and AgX tone mapping. Typst typesets text and math, with mitex translating LaTeX input to Typst. x264 encodes native video exports as H.264; FFmpeg decodes imported audio, using libopus for Opus.
Pyodide runs Python scenes in a browser worker. Linux wheels bundle Mesa's lavapipe for Vulkan rendering on the CPU when no suitable GPU is available.
ManimGX is an open-source project by Academa, created by Abdullah Geduk and Sina Atalay. We welcome contributions from the community.
Questions, bug reports and feature requests start with an issue. To contribute, read Contributing and the Developer Guide.
Everyone participating follows the Code of Conduct. Report vulnerabilities privately through the security policy.
ManimGX's own code is MIT-licensed. Native wheels include x264 and are GPL-3.0-or-later as a whole.
Bundled components retain their licenses: see the third-party notices, Linux renderer notices, and the Noto and Noto CJK font licenses.
This software uses code of FFmpeg licensed under
LGPL-2.1-or-later.
Complete source, including FFmpeg, is in manimgx-X.Y.Z-source.tar.xz on each
GitHub release.