Automotion docs

Quickstart

Your first rendered video in five minutes — curl, Node, or Python.

Five minutes from zero to a rendered MP4. You need an API key — create one in the dashboard (keys are shown once; they look like am_live_…).

1. Write a movie document

A movie is scenes; scenes are elements. This one is a single 3-second portrait scene with a headline:

movie.json
{
  "schema": "v1",
  "preset": "9:16",
  "scenes": [
    {
      "id": "hello",
      "duration": 3,
      "background": "#0f172a",
      "elements": [
        {
          "id": "hello-text",
          "type": "text",
          "text": "Hello, Automotion!",
          "fontSize": 80,
          "animation": { "preset": "fade", "duration": 0.5 }
        }
      ]
    }
  ]
}

▶ Try it in the playground

Tip: set "draft": true at the top level while iterating — drafts render fast, low-res and watermarked, and cost half the credits.

2. Create the render

curl -X POST https://api.automotion.dev/v1/renders \
  -H "Authorization: Bearer $AUTOMOTION_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "movie": {
      "schema": "v1",
      "preset": "9:16",
      "scenes": [
        {
          "id": "hello",
          "duration": 3,
          "background": "#0f172a",
          "elements": [
            { "id": "hello-text", "type": "text", "text": "Hello, Automotion!" }
          ]
        }
      ]
    }
  }'

The API answers 201 with the render resource (status: "queued") and a Location: /v1/renders/{id} header. Send an Idempotency-Key header to make retries safe — replaying the same key + body returns the original render.

3. Poll until done

curl https://api.automotion.dev/v1/renders/$RENDER_ID \
  -H "Authorization: Bearer $AUTOMOTION_API_KEY"

Renders move queued → preparing → rendering → done (or failed, always with a catalog error attached). progress is 0–100 and never goes backwards. On paid plans you can skip polling entirely by passing a webhook_url — see Webhooks.

4. Where to next

On this page