Overview
ManimGX is a statically typed animation engine for creating 2D and 3D videos through a Python API compatible with Manim Community Edition. A Rust and wgpu core handles rendering, while native exports use H.264 encoding.
It is designed for both developers and coding agents, with documentation, examples, an API reference, and agent-readable setup material.
Key Features
- Combines surfaces, meshes, moving cameras, text, equations, and plots in the same scenes.
- Supports keyword arguments and animation chains familiar to Manim CE users.
- Typesets text and mathematics with LaTeX or Typst input without requiring a separate LaTeX installation.
- Synchronizes animations with spoken words through its speech API.
- Provides scene inspection for storyboards and 2D layout checks at selected times or animation endings.
- Runs Python scenes in a browser worker and renders them with WebGPU, without a render server.
How to Use
ManimGX installs with pip on macOS, Linux, and Windows and requires Python 3.13 or newer. Fonts, typesetting, and video encoding are included. A scene is defined in Python and rendered to an MP4 with the command-line renderer.
Browser projects can install the package through npm. In that environment, Pyodide executes Python in a Web Worker while WebGPU renders the scene.
Performance and Compatibility
Published benchmarks cover five 1080p60 scenes on an Apple M4 Pro. The project reports rendering 36.2 seconds of video in 3.08 seconds, including the path from launch to finished MP4.
The engine targets the Manim CE API, and dedicated migration documentation explains behavioral differences for existing scenes. Linux wheels also bundle a CPU-based Vulkan renderer for systems without a suitable GPU.
Licensing
The project’s own code is MIT licensed. Native wheels include x264 and are distributed as GPL-3.0-or-later as a whole, while bundled components retain their respective licenses.