generate_clips
Render UGC video scenes as ad-ready clips, metered per second of video (the estimate shows the exact price before anything renders). Pass 3 to 6 scenes (5 to 8 seconds each, one action per scene, spoken lines at most 20 words; empty spoken_line for silent characters). Consecutive scenes pack into single TAKES of up to 15 seconds, one generation each. HOW CHARACTER IDENTITY WORKS, read carefully: all characters are described in TEXT (avatar_id resolves to its persona brief; or write the persona field yourself, covering one character or a whole ensemble). The video model rejects every image that contains a person, so no photo can anchor a face. Text keeps a character IDENTICAL only WITHIN a take; ACROSS takes it preserves the look and styling but the exact face can drift, and neither avatar_id nor persona prevents that. Structure your script so scenes where the same character must be recognizably identical sit adjacent and fit one take (15s or less); treat cross-take appearances as different shots of a matching character, and review the result. reference_image_urls (up to 9 https images) keeps real products or props on-model in every take; these images must contain no people. Without confirm, it validates the contract and returns the per-scene price estimate in EUR, and makes nothing. With confirm=true it starts the metered render and returns a job_id: rendering runs in the background over a few minutes, so poll clips_status with that id to get per-scene clip URLs plus the uncut takes. Paid plans only.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | seedance-2.0 (default, highest quality) or seedance-2.0-fast (same generation, faster and cheaper). | bytedance/seedance-2.0 |
| aspect | No | Output aspect ratio | 9:16 |
| scenes | Yes | 3 to 6 scenes in order. Adjacent scenes sharing a character land in the same take when their combined length allows it. | |
| confirm | No | Set true to start the metered render. Returns a job_id to poll with clips_status. | |
| persona | No | Alternative to avatar_id: describe the recurring character or the full ensemble (several characters) in words. Same limits: identity holds within a take, not across takes. Ignored when avatar_id is present. | |
| avatar_id | No | Avatar id from generate_avatar (starts with av_). Its persona brief describes the recurring character in text; identity holds within a take only, not across takes. | |
| reference_image_urls | No | Up to 9 https image URLs of products or props to keep on-model in every take. No people in these images. |