add_clips
Places media segments on a timeline. Each clip: mediaRef (from get_media, 'timeline:' to NEST another timeline as a clip, 'solid:#rrggbb' , 'motion:' for a MOTION composition (create_motion_composition) for a generated solid-colour matte, 'adjustment:' for an adjustment clip — no picture of its own, its effects/masks/opacity grade everything below it — or 'text:' for a title, restyled via set_clip_properties' text), atFrame (timeline position), sourceInSec/sourceOutSec (the segment of the source to use — align these with transcript words or sceneSamples), and optional trackId (from get_timeline) to target a specific same-kind track — without it clips land on V1/A1 with overwrite semantics. A spare empty track always exists above the highest used one, so V2/A2 is available before anything sits on it. Video sources with audio get a linked audio clip automatically (on the matching A track: V2 ⇒ A2). Returns the created clip ids in order. Frames are in the target timeline's fps.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| clips | Yes | [{mediaRef, atFrame, sourceInSec, sourceOutSec, trackId?}] — segments in playback order; trackId targets a specific track (default V1/A1). | |
| token | Yes | The session token `connect` returned. Pass it on every call — it says which browser to drive. | |
| projectId | Yes | Project id from get_projects. | |
| timelineId | Yes | Target timeline id from get_timeline. |