auto stud
APIVideo Rendering API

Render finished video
straight from your code

One POST queues a render on our workers and a signed webhook hands you the mp4. No ffmpeg to install, no GPU to rent, no queue to babysit.

POSThttps://autostud.ai/api/v1/actions/renders.create

Three calls, timeline to mp4

Create the video once, then render it as many times as you need.

  1. 1

    Create the video

    A video holds the timeline: layers, audio, subtitles, format. Create one in a single call, or reuse one your team built in the editor.

    export AUTOSTUD_API_KEY="sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    
    # A video is the timeline. Create one, or skip this step and reuse
    # a video your team already built in the editor.
    curl -X POST https://autostud.ai/api/v1/actions/videos.create \
      -H "Authorization: Bearer $AUTOSTUD_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "video_name": "Launch teaser",
        "video_format": "portrait",
        "video_lang": "en"
      }'
  2. 2

    Queue the render

    Point renders.create at the video id, override whatever this job needs, and it goes to a worker straight away. The response is the job, not the file.

    # The Idempotency-Key makes this call safe to retry: send it twice
    # and you get the same render back, never a second job.
    curl -X POST https://autostud.ai/api/v1/actions/renders.create \
      -H "Authorization: Bearer $AUTOSTUD_API_KEY" \
      -H "Content-Type: application/json" \
      -H "Idempotency-Key: launch-teaser-v3" \
      -d '{
        "video_id": "0f4c8b71-2d95-47a3-9e6c-15b8ad7f3c20",
        "render_settings": {
          "quality": "high"
        }
      }'
  3. 3

    Take the mp4

    render.completed arrives with the output URL. If your stack prefers polling, read the renders back filtered on the video id instead.

    # Register once. Every render reports itself from then on.
    curl -X POST https://autostud.ai/api/v1/webhooks \
      -H "Authorization: Bearer $AUTOSTUD_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "url": "https://your-app.com/hooks/autostud",
        "events": ["render.started", "render.completed", "render.failed"],
        "description": "Rendering"
      }'
    # The signing secret comes back once, in this response. Store it.

What a render takes

Two fields to start one, one header to make it safe to retry, one id to follow it.

video_id

The video to render. Everything about the composition already lives on it.

render_settings

Optional overrides for this job: format, quality, the range of frames you want.

Idempotency-Key

A header. Send the same key twice and you get the first render back, never a duplicate.

render_id

Returned by the call and carried by every webhook, so a finished mp4 always points back at the job that asked for it.

What comes out

Renders are H.264 mp4 in whatever format the video is set to. Vertical for TikTok and Reels, square for a feed, landscape for YouTube: the same timeline, a different output.

portrait 9:16square 1:1landscape 16:9mp4 / H.264

Stop polling

A render takes minutes, not milliseconds. Register one webhook and three events tell you when a worker picked the job up, when the file is ready, and when something broke.

render.startedrender.completedrender.failed

Questions developers ask first

How long does a render take?

Minutes, scaling with the length of the video and the number of layers. The call returns as soon as the job is queued, so nothing in your app blocks on it.

What does a render cost?

Renders are billed in credits and the ledger is readable over the API. A key can be scoped to renders:read alone, so a dashboard can watch spend without being able to start a job.

Is it safe to retry a failed call?

Yes. Send an Idempotency-Key header and a repeated call returns the original render instead of queueing a second one, the same guarantee every execute action on the API gives you.

Where is the file hosted?

On our CDN, and the URL sits on the render record and in the render.completed payload. Download it and store it yourself if you need it forever.

Ready to create?

Start generating viral videos in minutes. No credit card required for the free trial.

Secure payments
Instant access
Cancel anytime