compose_video
Combine 2 to 20 video scenes into a single final clip server-side. Supports optional soundtrack, subtitles, and voiceover with automatic format normalization.
Instructions
Stitch 2–20 finished video scenes into ONE final clip server-side (scenes are normalized to a common frame/fps, concatenated, optional soundtrack replaces scene audio). Pass request_id of your COMPLETED video generations (or media.clipia.ai URLs). Returns request_id (cmp_*) — poll with wait_generation until COMPLETED, then output.video.url is the final mp4. Typical full-video flow: generate_scenario → generate_video per scene → compose_video.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scenes | Yes | Scenes in playback order. Each item: {request_id} of a COMPLETED video generation (or a previous compose), or {video_url} from media.clipia.ai. Optional duration_seconds trims (shorter) or freeze-extends (longer) the scene. | |
| audio_url | No | Optional: soundtrack https URL on media.clipia.ai (alternative to audio_request_id). | |
| normalize | No | Re-encode scenes to a common format before concat (keep true unless all scenes come from the same model with identical settings). | |
| subtitles | No | Optional burned-in subtitles (styled, bottom-centered). Timings are relative to the FINAL stitched video. | |
| resolution | No | 1080p | |
| aspect_ratio | No | Frame of the final video; scenes are letterboxed to fit. | 9:16 |
| voiceover_url | No | Optional: narration https URL on media.clipia.ai (alternative to voiceover_request_id). | |
| audio_request_id | No | Optional: a COMPLETED audio/music generation to use as the soundtrack (replaces scene audio, loudness-normalized, fade-out). | |
| voiceover_request_id | No | Optional: a COMPLETED audio generation used as narration — mixed OVER the soundtrack (music ducks to 25%) or over scene audio (ducks to 30%). |