Generate a video

Always async. Returns a `job_id` and polling URL immediately; poll `GET /v1/jobs/<job-id>` for the final video URL. Video jobs typically complete in 1–15 minutes; 4K-tier video can take 30+ minutes. ### Templates and Extend Two optional fields ride alongside the normal video gen payload: - `template: "<slug>"` applies a pre-curated creative effect (canonical prompt + recommended model + default params). Browse video templates with `GET /v1/videos/templates` or all generation templates with `GET /v1/templates`. - `extend_from: { job_id | video_url }` continues a prior video. Works on every supported video model; EmpirioLabs handles the model-specific wiring for you.

Authentication

AuthorizationBearer

Pass your EmpirioLabs API key as a bearer token. The Anthropic-style x-api-key header is also accepted on every endpoint.

Request

This endpoint expects an object.
modelstringOptional
promptstringOptional
templatestringOptional

Optional template slug. When provided, the canonical prompt blends with your prompt, the recommended model is chosen if you don’t pass one, and default params merge for any key you didn’t supply. Validation 400s if the chosen model is not in template.supported_models. See GET /v1/videos/templates.

extend_fromobjectOptional

Continue a prior video. Pass exactly one of job_id (any prior async job from this account) or video_url (an http(s) URL to a video). Works with every supported video model; EmpirioLabs handles the model-specific wiring for you.

resolutionstringOptional
aspect_ratiostringOptional
durationintegerOptional
generate_audiobooleanOptionalDefaults to true
imagestringOptionalformat: "uri"

Reference image URL for image-to-video modes.

image_urlstringOptionalformat: "uri"

Alias for image. Accepted on any image-to-video model.

imageslist of stringsOptional

Multiple input images. On a model that supports reference-to-video, two or more images are treated as reference images; a single image behaves like image.

reference_imageslist of stringsOptional
Reference images for reference-to-video, on models that support it. The subjects are carried into a new scene rather than used as the first frame, so this cannot be combined with `image`. Per-model limits (how many references, and the maximum resolution when references are used) are listed on the model page and in `GET /v1/models/{model}`.
modestringOptional

Generation mode on models that expose one, for example t2v, i2v, or r2v. Defaults to auto, which picks the mode from the inputs you send. See the model page for the values a given model accepts.

Response

Job created. Poll the jobs endpoint for the result.
job_idstringOptional
statusenumOptional
poll_urlstringOptional
created_atdatetimeOptional