Skip to content

Limits

Limits apply per account. All the keys on one account share them.

Endpoint Per minute Per hour Per day
POST /v1/render 3 30 100
POST /api/webhooks/hooks 10 60 200

Every render also counts toward the account’s overall render limit of 5 per minute, 60 per hour and 300 per day. That limit is shared with renders started in the app, so a busy team in the app leaves less room for the API.

Requests are counted in fixed windows of one minute, one hour and one day. When you go over, you get 429 with code: "RATE_LIMITED" and the number of seconds to wait, in retryAfter or details.retryAfter:

{ "error": "Rate limit exceeded", "retryAfter": 37, "code": "RATE_LIMITED" }

GET /v1/me and GET /v1/job/{id} have no rate limit today. Poll a job every few seconds, not in a tight loop, or use webhooks instead.

Your plan sets how many renders can run at the same time. Renders started in the app count too. When every slot is busy, POST /v1/render returns 429 with code: "CONCURRENT_LIMIT". Nothing is queued for you: wait for a running job to finish, then send the request again.

  • Each render spends credits from the account’s balance. If there are not enough, the render is refused with 402 (NO_CREDITS or INSUFFICIENT_CREDITS) before it starts.
  • One render cannot cost more than a fixed per-render limit. A render over it is refused with 413 REQUEST_COST_TOO_HIGH. Use fewer scenes, shorter scenes or a lower quality.
  • Each plan has a monthly usage limit. When it is reached, renders are refused with 402 ABUSE_CAP_EXCEEDED until the month resets or the plan changes.
  • Each plan has a storage allowance for finished videos. When the library is full, renders are refused with 402 STORAGE_FULL.

See Account and billing for your plan’s allowances.

For POST /v1/render:

Field Limit
brief 1 to 4,000 characters
scene_plan 1 to 12 scenes
scene prompt 1 to 2,000 characters
scene script up to 2,000 characters
scene duration 3 to 10 seconds
duration_sec 5 to 120 seconds
title up to 200 characters
brand_name up to 80 characters
category up to 60 characters
language 2 to 10 characters
brand_colors up to 12 colours, 32 characters each
brand_logo_url, product_image_url up to 5,000,000 characters (enough for a data URI)
Idempotency-Key header first 80 characters are used

For webhooks:

Item Limit
Webhooks per account 25
webhook_url up to 2,000 characters, public http(s) only
description up to 200 characters
Step Limit What happens
Planning from a brief about 60 seconds 502 PLAN_FAILED, planning credits refunded.
A render about 1 hour The job is marked failed and its credits are refunded.
A webhook delivery 10 seconds per attempt The delivery is retried, up to 3 attempts.