Concurrency Limits
Concurrent jobs include any asynchronous generation in progress: Video Agent sessions, avatar video renders, and video translations. Burst applies to avatar video renders and video translations, each with its own pool of extra slots. Exceeding the limit returns
429 Too Many Requests with a Retry-After header — see the rate_limit_exceeded error.
Burst
Enterprise workspaces run above their included slots on demand instead of buying a higher permanent cap. Turn it on under Capacity → Concurrency in Usage, pick an extra cap of up to 50 workflows, and only the workflows that run above the included slots bill at 1.5× your contract rate. Burst workflows are tagged in the Activity tab. See Burst Concurrency for how slots are assigned and billed.Endpoint Limits
Video Generation Input
Resources provided toPOST /v3/videos must meet these limits. Invalid resources will cause render failures with download_failed.
Requirements:
- Resource URLs must be publicly accessible (no authentication required).
- The file extension must match the actual file format.
- Files must not be corrupted or malformed.
Avatar Input
- Script text: Maximum 5,000 characters.
- Audio input: Maximum 10 minutes (600 seconds).
Video Agent Input
- Prompt: 1–10,000 characters.
- File attachments: Up to 20 files. Supported types: image (PNG, JPEG), video (MP4, WebM), audio (MP3, WAV), and PDF.
- Files can be provided as an
asset_id(fromPOST /v3/assets), an HTTPS URL, or base64-encoded content. See Upload Assets.
Asset Upload (POST /v3/assets)
- Maximum file size: 32 MB. The same limit applies to files provided by URL. For larger files, use the direct upload flow (
POST /v3/assets/direct-uploads) — its per-upload cap is returned asmax_bytesin the initialize response. - Supported types: Image (PNG, JPEG), video (MP4, WebM), audio (MP3, WAV), and PDF.
Text-to-Speech Input (POST /v3/voices/speech)
- Text length: 1–5,000 characters.
- Speed multiplier: 0.5× to 2.0×.
- Input type: Plain text, with
<break time="1s"/>pause tags supported for pacing.
Output Video Specifications
- Frame rate: 25 fps for videos containing avatars.
- Resolution: Width and height must each be between 128 and 4,096 pixels. Default output is 1080p.
- Aspect ratio: 16:9 or 9:16.
- Maximum scenes: 50 per video.
- Maximum duration: 30 minutes per scene.
The cap is per scene. An
avatar or image request to POST /v3/videos renders a single scene, so 30 minutes is also its whole-video maximum. The multi-scene modes — studio videos and templates — run as long as the sum of their scenes, provided each scene stays within 30 minutes. A scene over the cap fails during rendering.Pagination
Most list endpoints use cursor-based pagination with alimit parameter and next_token for the next page.
Rate Limiting
Request-rate limits apply per user and per endpoint path, and depend on your plan and the type of endpoint. Requests to a path that contains an ID, such asGET /v3/videos/{video_id}, are counted separately for each ID.
The Enterprise column applies to workspaces on an Enterprise API plan. Enterprise workspaces can also ask their account team for custom limits on specific endpoints.
Endpoints with fixed limits
These endpoints have the same limit on every plan:When you exceed a limit
The API returns429 Too Many Requests with the rate_limit_exceeded error. The error message names the limit you hit, and the response includes these headers:
The text-to-speech model endpoints return
Retry-After only. Wait at least Retry-After seconds, then retry with exponential backoff.
