Type a topic and pick a length, and a few minutes later you have a narrated, animated explainer video with captions timed to the word. Nobody storyboarded it, wrote a script, or placed an element by hand.
The rule
Most AI video tools hand the model a blank canvas: write code, generate pixels, hope it renders. Canvas Motion splits the job by who can safely be wrong. The AI directs, and the exact work is done by code a person wrote and tested.
| The AI decides | Hand-built code does |
|---|---|
| What each scene shows, and which layout | Draws every component, pixel-exact |
| Which components, filled with which data | Animates them, frame by frame |
| Which color theme | Renders the finished video |
Every agent’s only output is data slotted into a fixed script format, never code and never pixels. An AI that writes its own rendering code can write something that does not compile or looks wrong in a way nobody catches. An AI that only chooses and fills data against a format already proven to render cannot write broken render code. The worst it can do is pick a poor chart. Novelty is capped by design, and so is that risk.
Research
Turns the topic into a teaching syllabus: what must be covered, and in what order.
Hands over: a JSON script (data only).
Direct
Blocks out every scene: which layout, which components, which color palette.
Hands over: a JSON script (data only).
Write + draw
A scriptwriter and a visual architect work the same scenes in parallel, one on words and one on visuals, never touching each other’s part.
Hands over: a JSON script (data only).
Merge + check
Stitches both halves of every scene together, checks that nothing important was skipped and the scene data is well formed, and locks the final script. This is where a malformed answer is caught and repaired.
Hands over: a JSON script (data only).
Narrate
A speech service turns the locked script into voice, then transcribes that audio back with word-level timestamps, so captions match what was actually said. Optional, and no language model is involved.
Hands over: a JSON script (data only).
Render
A video renderer (Remotion, in headless Chrome) reads the finished JSON and draws each hand-built component frame by frame into an mp4.
Hands over: a JSON script (data only).
Click a stage. Shaded stages use AI; the rest is ordinary code or a speech service. The planner never imports React and the renderer never calls a model, so any stage can be swapped, a model, a voice vendor or the renderer, as long as the JSON shape holds.
A fixed vocabulary
The “camera” is about 59 pre-built, hand-animated components: bar charts, architecture diagrams, code blocks, and mostly algorithm visualizers such as sorting, graph traversal and recursion trees. One registry is the single source of truth. Each entry keeps four things in lockstep, and the catalog the AI plans against is generated from it:
BulletList: { component, schema, catalogEntry, planningMetadata }If a component is not in the list, the AI cannot summon it. The catalog leans toward teaching topics, and that is a limit as well as a choice.
Two bugs that taught something
- Constrained is not the same as well formed. A scene’s data came back as a list instead of the expected structure, which broke every scene in that video until the pipeline learned to accept either shape. A tightly scoped task still needs a safety net downstream, not only a good prompt.
- Measure, don’t estimate. Ask for 60 seconds and an early version could return several minutes, because it trusted the model’s guess at how long the narration would take. Now, once real narration audio exists, every scene re-syncs to its actual length. Captions follow the same rule: the generated audio is transcribed back with word-level timestamps, so they match what was actually said and not the script.
Where it stands
| Capability | Status |
|---|---|
| Topic to finished, narrated mp4 | Done |
| Word-timed captions | Done |
| Any aspect ratio | Done |
| Swappable AI backend, cloud or local | Done |
| Custom theme and private knowledge | Not yet |
| Long-form video | Not yet |
The hard bet, an AI that plans reliably without touching the render code, works end to end. What is not true yet is that this is a shippable, tested product: it is a research and demo build.
Next
- Long-form video. Requests up to 30 minutes are accepted, but every agent plans the whole video in one pass. A full course module likely needs generation in per-chapter batches to hold quality at length.
- Private knowledge. Turning a client’s own design doc or wiki page into a video that explains it correctly needs retrieval over documents, and constraining the AI to say only what the source supports. That is the bigger lift.