Generate video
generate_videoRender a RAW video clip from a text prompt and return its served mp4 URL. Edit an existing video by providing a transformation instruction and the source clip URL.
Instructions
Render a RAW video clip from your own prompt and return its served mp4 URL. For finished brand ADS prefer render_ad (it runs the Studio quality pipeline — composited text, clean speech, end card, music); use this for raw/experimental clips or precise manual control. ONE generation = one continuous clip up to the model’s longest listed duration (seedance-2 goes to 15s single-pass with a full multi-beat arc — never assume a generic 8–10s cap); durationSeconds must be one of the model’s durations from hermoso_capabilities. Renders take 1–3 min. refImage anchors the opening frame; ttsScript adds a voiceover. Pass refVideo (a clip URL) to EDIT an existing video instead of generating from scratch — the omni engine transforms that clip per your prompt, inheriting the source clip’s canvas + length (aspectRatio/durationSeconds are ignored for an edit). Spends credits (Starter plan is video-blocked server-side).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | video model id from hermoso_capabilities. Naming one is a DELIBERATE pick — the server asks before ever swapping it (no silent fallback); omit it to let the router pick | |
| prompt | Yes | the video prompt / shot description (for a refVideo edit, this is the transformation instruction) | |
| refImage | No | local path or URL to anchor the first frame | |
| refVideo | No | URL of an existing video to EDIT rather than generate from scratch — the omni engine accepts a raw clip and transforms it per your prompt, inheriting the SOURCE clip’s canvas (aspect ratio) and length (aspectRatio/durationSeconds are ignored for an edit). Omit to generate a fresh clip. | |
| ttsVoice | No | voice name, e.g. Rachel / George | |
| musicMood | No | licensed music-bed mood (e.g. upbeat / cinematic) — omit for no music bed | |
| ttsScript | No | voiceover script to speak | |
| resolution | No | '720p' default; '480p' = cheap fast draft pass, '1080p'/'4k' = premium final delivery (more credits) | |
| aspectRatio | No | default '9:16' | |
| durationSeconds | No | clip length in seconds |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | the raw job result payload (e.g. images[] for carousel template ads) | |
| url | No | the served URL of the finished media (absent/null while still rendering) | |
| jobId | No | the render job id — poll get_job with this id to resume or inspect | |
| model | No | the product-facing label of the model that rendered it | |
| stillRendering | No | true when the render is still in progress — keep polling get_job with jobId |