Generation Templates
One-field presets for image and video generation. Apply product, edit, viral, cinematic, motion, or transform recipes by passing a template slug.
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 recommended model, a list of supported models, default parameters, and required input rules. Pass template: "<slug>" in the request body and EmpirioLabs applies the effect 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.
Use the generic endpoint for the full image and video catalog, or the modality-specific endpoints when you already know the generation type.
category: viral, cinematic, motion, transform, social, extend, product, edit, portraitmodality: video or imagemodel: only return templates that support a specific model slugfeatured: true to filter to featured templates onlyReturns 404 with code: "template_not_found" if the slug doesn’t exist.
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, the template’s recommended_model is used. If you do, most templates validate that it is in supported_models and return 400 template_model_unsupported otherwise. Templates with metadata.force_recommended_model: true are pinned to recommended_model for effect fidelity./v1/images/generations; video templates only apply to /v1/videos/generations.prompt (if any) is combined with the template’s built-in styling so the generated output matches both your request and the effect’s aesthetic. Send a short directional prompt; EmpirioLabs handles the rest.default_params from the template merge in only for keys you didn’t set explicitly.{ "image": true } means the call returns 400 template_missing_image if no image_url / image / images is provided.The response is the same async job envelope as a normal video generation:
Poll GET /v1/jobs/{job_id} until terminal.
/v1/videos/generations also accepts extend_from to continue a previous generation. EmpirioLabs handles the prior-clip wiring for you and uses a sensible continuity prompt unless you provide your own.
You can also pass a direct URL:
Extend can compose with templates:
Pass extend_from with any supported video model. If you omit model, EmpirioLabs picks a sensible default for the extend.