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.
Request
This endpoint expects an object.
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.
aspect_ratiostringOptional
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.
created_atdatetimeOptional