Get started
manimotion turns a topic into a narrated lecture video. Send a prompt like “Explain Bayes theorem with a medical test”, and a few minutes later you get an MP4 with a script, voice-over and animated visuals timed together.
Quickstart→
From zero to your first MP4 in about five minutes.
SDKs→
Official JavaScript and Python libraries. One call per video.
Models→
Every supported model, what each plan includes, and how to pick.
Bring your own key→
Use your OpenRouter, Anthropic, OpenAI or Gemini key to unlock every model.
Making a video takes a few minutes, so the API works in two steps instead of one long request:
POST /video/request with your prompt. You get a job_id back right away.GET /video/status/{job_id} every few seconds. The message field says what’s happening (“Planning the lesson…”, “Generating narration…”).status is completed, video_url points to the MP4 in your storage bucket.| Concept | What it means |
|---|---|
| API key | Your chalk_live_sk_v1_… key from Settings → API keys. Sent in the x-api-key header. Keep it on your server. |
| Storage | Finished videos upload to your S3-compatible bucket (Cloudflare R2, AWS S3, MinIO…). See Storage. |
| Model | The AI model that writes the lesson. Your plan includes a set of models; see Models. |
| Your own key | Connect your own AI provider key to use any model on any plan. See Bring your own key. |
| Style | math for equations and graphs, graphics for charts and timelines, or auto. See Styles. |
The whole API is four endpoints on https://api.manimotion.dev:
| Method | Path | Purpose |
|---|---|---|
| POST | /video/request | Start a video |
| GET | /video/status/{job_id} | Progress, then the video URL |
| GET | /models | Models you can use |
| GET | /health | Is the API up? (no key needed) |
Here’s what creating a job looks like. Use the tabs to switch language; the JSON underneath is the response.
curl -sS -X POST "$MANIMOTION_API/video/request" \
-H "Content-Type: application/json" \
-H "x-api-key: $MANIMOTION_KEY" \
-d '{
"prompt": "Explain Bayes theorem with a medical testing example",
"style": "auto"
}'{
"job_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "queued",
"cached": false,
"video_url": null,
"eta_seconds": 150,
"eta_display": "~2–3 min",
"message": "Queued…",
"tier": "tier2",
"model": "anthropic/claude-haiku-5.5",
"key_source": "platform"
}