Base URL
Authentication
All API requests require an API key passed in theX-API-Key header.
Endpoints
Upload Endpoints
Upload Media File
Upload video file (multipart/form-data)
Upload from URL
Upload video from URL (application/json)
Text Generation Endpoints
Generate Text
Generate text (requires media_id)
From URL
Upload from URL and generate text
From File
Upload file and generate text
Audio Generation Endpoints
Generate Audio
Generate audio track (requires media_id)
From URL
Upload from URL and generate audio
From File
Upload file and generate audio
Video Generation Endpoints
Generate Video
Generate video (requires media_id)
From URL
Upload from URL and generate video
From File
Upload file and generate video
Results Endpoint
Get Results
Poll for job results and download outputs
Quick Example
Supported Languages
52 Languages
52 Languages
English (US, GB, AU, IN) • Spanish (ES, US) • French (FR, CA) • German • Italian • Portuguese (BR) • Japanese • Korean • Chinese • Arabic • Hindi • Bengali • Bulgarian • Croatian • Czech • Danish • Dutch (NL, BE) • Estonian • Finnish • Greek • Gujarati • Hebrew • Hungarian • Indonesian • Kannada • Latvian • Lithuanian • Malayalam • Marathi • Norwegian • Polish • Punjabi (India) • Romanian • Russian • Serbian (Cyrillic) • Slovak • Slovenian • Swedish • Swahili • Tamil • Telugu • Thai • Turkish • Ukrainian • Urdu • Vietnamese
Video Categories
14 Categories
14 Categories
Auto • Educational Lecture • Educational Kids • Government Meeting • Documentary • Narrative Story • Social Media • Tutorial/How-To • Vlog • Commercial/Advertisement • News • Entertainment • Home Video • Video Call
Output Formats
| Format | Description |
|---|---|
json | Structured data with timestamps |
vtt | WebVTT subtitle format |
edl | Edit Decision List for video editors |
video | Complete MP4 with audio descriptions |
Error Codes
| Code | Description |
|---|---|
400 | Bad request - invalid parameters |
401 | Unauthorized - invalid API key |
403 | Forbidden - plan restriction or input limit |
404 | Not found - media or job not found |
409 | Conflict - media is not ready for generation or upload verification failed |
415 | Unsupported media type - uploaded media is not a valid video |
429 | Too many requests - rate, queue, concurrency, or plan limit exceeded |
500 | Internal server error |
Common Error Payloads
| Error | HTTP Status | Description |
|---|---|---|
no_video_stream | 415 | The uploaded file contains audio only or otherwise has no video stream. Upload a file with at least one video stream. |
video_too_long | 403 | The submitted video exceeds the maximum duration allowed by the current plan. |
file_too_large | 403 | The submitted file exceeds the maximum file size allowed by the current plan. |
upload_not_ready | 409 | Returned in the code field when generation is requested for media whose upload verification is still in progress. Retry shortly. |
upload_failed | 409 | Returned in the code field when generation is requested for media whose upload verification failed. Re-upload the media and try again. |
plan_limit_exceeded | 429 | The current team allocation has been exhausted. |
concurrency_limit_exceeded | 429 | Too many concurrent submissions are being validated for the current team. Retry after a short delay. |
queue_limit_exceeded | 429 | Too many jobs are already queued for the current team allocation. Wait for some jobs to complete before submitting more. |
rate_limit_exceeded | 429 | Too many requests for the current team allocation. Retry after the returned delay. |
Rate Limits
Limits are enforced per team across all API keys. Enterprise plans can request custom allocations; contact support if you need higher throughput.Rate Limit Exceeded Response
When you exceed the rate limit, you’ll receive a429 Too Many Requests response:
retry_after field indicates how many seconds to wait before retrying.
Need Help?
Support
Email our team
Dashboard
View usage

