Introduction

Lumina is the animation engine for the AI era: declarative by design, GPU-capable by architecture, and runnable everywhere humans and machines need motion.

You write a JSON scene file — objects, their properties, and a timeline of keyframes — and Lumina evaluates that timeline, applies easing, and rasterizes the result to video or to a live canvas. There is no imperative API to misuse and no GUI to learn. Because a scene is pure data, an LLM can write one, a validator can check it, and the engine renders it deterministically: same input, same pixels.

Why it exists

Existing animation tools each have a structural mismatch with how software is built today:

  • Imperative APIs require stateful reasoning that LLMs hallucinate.
  • CPU-bound renderers struggle with complex math scenes.
  • No single format runs both offline (video) and online (interactive).
  • LaTeX/math rendering is usually bolted on as an afterthought.

Lumina addresses these with one coherent architecture: a declarative, validated, open JSON format (LSF); a backend-agnostic renderer (CPU tiny-skia + GPU Vello); first-class text/LaTeX; image/SVG/GIF compositing; and a headless server for programmatic use.

What you can build

  • Educational math/physics explainers rendered to MP4.
  • Live, interactive visualizations embedded in the browser via the JS SDK.
  • AI-generated animations validated and rendered server-side or from Python.

Read on to get started in about a minute.