API

Engines

Two render engines, one API. Pass engine on POST /video/request, or leave it on auto.

Which engine?

engineBest for
autoDefault. Router picks based on the prompt.
manimMath, physics, LaTeX, graphs, geometric proofs
remotionCharts, timelines, cards, typography-heavy explainers

auto

Use this unless you already know. Wrong forced engines waste time — Remotion struggling with a 12-step derivation, or Manim fighting a dashboard layout.

manim

  • Equations that transform step by step
  • Coordinate planes, vectors, graphs
  • Geometry / trigonometry demos
manim.sh
curl -sS -X POST "$MANIMOTION_API/video/request" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $MANIMOTION_KEY" \
  -d '{
    "prompt": "Derive the quadratic formula with TransformMatchingTex steps",
    "engine": "manim"
  }'
RESPONSEresponse.json
{
  "job_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "queued",
  "cached": false,
  "video_url": null,
  "engine": null
}

remotion

  • Bar / line charts that grow with narration
  • Timelines and process diagrams
  • Card stacks, comparisons, UI-style explainers
remotion.sh
curl -sS -X POST "$MANIMOTION_API/video/request" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $MANIMOTION_KEY" \
  -d '{
    "prompt": "Compare HTTP vs WebSockets with a clean timeline of use cases",
    "engine": "remotion",
    "duration": 60
  }'
RESPONSEresponse.json
{
  "job_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "queued",
  "cached": false,
  "video_url": null,
  "engine": null
}

Examples worth stealing

Full request fields → API reference.