Generation Templates
One-field presets for image and video generation. Apply product, edit, viral, cinematic, motion, or transform recipes by passing a template slug.
Templates are pre-curated “creative effect” recipes for /v1/images/generations and /v1/videos/generations. Each template ships a canonical prompt, a recommended model, a list of supported models, default parameters, and required input rules. Pass template: "<slug>" in the request body and EmpirioLabs blends the recipe with whatever else you provide, picks the best supported model for you, and forwards the call to the worker.
The same template catalog powers the Templates button in the playground.
List templates
Use the generic endpoint for the full image and video catalog, or the modality-specific endpoints when you already know the generation type.
List video templates
Filters
category:viral,cinematic,motion,transform,social,extend,product,edit,portraitmodality:videoorimagemodel: only return templates that support a specific model slugfeatured:trueto filter to featured templates only
Response shape
List image templates
Fetch a single template
Returns 404 with code: "template_not_found" if the slug doesn’t exist.
Generate a video with a template
Add template: "<slug>" to a normal /v1/videos/generations call. You must provide whatever the template requires (required_inputs), usually a reference image.
Behavior:
- Model selection: if you don’t pass
model, the template’srecommended_modelis used. If you do, most templates validate that it is insupported_modelsand return 400template_model_unsupportedotherwise. Templates withmetadata.force_recommended_model: trueare pinned torecommended_modelfor effect fidelity. - Modality check: image templates only apply to
/v1/images/generations; video templates only apply to/v1/videos/generations. - Prompt blend: your
prompt(if any) is combined with the template’s canonical prompt. Default blend puts your text first for specificity, the canonical second for style baseline. Per-templateprompt_strategycontrols this. - Default params:
default_paramsfrom the template merge in only for keys you didn’t set explicitly. - Required inputs:
{ "image": true }means the call returns 400template_missing_imageif noimage_url/image/imagesis provided.
Generate an image with a template
The response is the same async job envelope as a normal video generation:
Poll GET /v1/jobs/{job_id} until terminal.
Extend a prior video
/v1/videos/generations also accepts extend_from to continue a previous generation. The prior video is forwarded as a reference_video and EmpirioLabs uses a sensible continuity prompt unless you provide your own.
You can also pass a direct URL:
Extend can compose with templates:
Extend works on every video model
Two strategies, picked automatically based on the model you choose:
If you don’t pass model, EmpirioLabs defaults to seedance-2-0-pro for extend.
