render_video_timeline
Edit assets the user already has into ONE finished video — sequence clips, add transitions, overlay
text or logos, layer audio. This is editing, not generating new content.
Estimate with `estimate_video_timeline_price` first. The render is asynchronous; check the returned
`generation_id` with `get_generation_run`.
Pass `timeline_object_id` whenever that board timeline already exists — one you placed with
`create_canvas_timeline` or read with `read_canvas_timelines` — so the render updates it in place
instead of placing a duplicate. It is the one input `estimate_video_timeline_price` does not take,
so add it back on top of the arguments you estimated with. Omit it only when no board timeline
exists yet.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
workspace_idrequired | string (uuid) | — | The user's workspace id. |
session_id | string (uuid) | — | The Session ID to attach the results to. |
session_name | string | — | Creates a new session with this name. One of `session_name` or `session_id` must specified, but not both. |
templaterequired | TimelineTemplate | — | Timeline layout designed in the editor. Tracks, items, timing, and slot references. |
tracks | TimelineTemplateTrack[] | — | Ordered list of tracks in the timeline. Composited in reverse order (Track 1 is on top). Do not overlap items within the same track; use multiple tracks for overlapping content. |
idrequired | string | — | Unique identifier for the track. |
namerequired | string | — | User-facing name of the track. |
itemsrequired | any[] | — | Ordered list of items on this track. |
transitions | any[] | — | Transitions on the seams between adjacent items on this track. |
disabled | boolean | false | Whether the track is excluded from rendering. |
fps | integer≤120, >0 | 30 | Frames per second of the output video. |
width | integer2–7680 | 1920 | Width of the output video, in pixels. Must be even. |
height | integer2–4320 | 1080 | Height of the output video, in pixels. Must be even. |
codec | string | h264 | Video codec for encoding the output. Only h264 is supported. |
crf | integer0–51 | 18 | Constant Rate Factor controlling output quality. Lower values produce higher quality. |
max_duration_in_seconds | number≤120, >0 | — | Maximum allowed duration of the rendered video, in seconds. |
playback_rate | number≤4, >0 | 1 | Global playback speed multiplier. 1.0 = normal, 2.0 = double speed, 0.5 = half speed. |
videos | object | — | Slotted video assets. Each slot name matches a slot reference in the timeline template. |
images | object | — | Slotted image assets. Each slot name matches a slot reference in the timeline template. |
audios | object | — | Slotted audio assets. Each slot name matches a slot reference in the timeline template. |
timeline_object_id | string (uuid) | — | The board timeline this render writes to. Pass it whenever that timeline already exists on the board: the template alone does not identify it, so an id-less render places a second timeline beside the existing one. Omit it only when no board timeline exists yet. |