Media Generation
Generate Video
Generate video from text prompts (asynchronous).
POST
Generate Video
Generate video from a text prompt. This is an asynchronous endpoint — it returns a job ID immediately (HTTP 202) and the video is generated in the background.
AI-disclosure watermark. Every video returned from Theo carries a small, semi-transparent Theo logo in the bottom-right corner. This is a provenance signal that identifies the clip as AI-generated and is always applied (regardless of any branding preference). Expect +2–15 seconds of re-encode latency per clip.
Authentication
Requires a Bearer token. See Authentication.Request Body
Text description of the video to generate.
Target video duration (e.g.,
"5s", "10s", "15s").Visual style (e.g.,
"cinematic", "animation", "timelapse").Request Examples
Response (HTTP 202)
Unique video request ID (prefixed
vid_).Job ID for polling status.
Always
"queued" on creation.ISO 8601 timestamp.
Relative URL to poll for job status (e.g.,
/api/v1/jobs/{job_id}).Example Response
Polling for Results
Use the Get Job Status endpoint to check progress. Whenstatus is "completed", the result field contains the video URL.
Errors
| Status | Code | Description |
|---|---|---|
| 400 | missing_prompt | prompt is required |
| 401 | invalid_api_key | Missing or invalid API key |
| 503 | queue_unavailable | Video generation queue is not available — retry later |
Generate Video
