Concurrency Limits
Concurrent jobs include any asynchronous generation in progress: Video Agent sessions, avatar video renders, and video translations. Exceeding the limit returns
429 Too Many Requests with a Retry-After header — see the rate_limit_exceeded error.
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.
Pagination
Most list endpoints use cursor-based pagination with alimit parameter and next_token for the next page.
Rate Limiting
All endpoints enforce rate limits. When exceeded, the API returns429 Too Many Requests with a Retry-After header indicating the number of seconds to wait before retrying. See rate_limit_exceeded for the error shape and recommended backoff strategy.
