apply_layout
Arranges clips into a screen layout by writing ordinary transform + crop values (first clipId → first cell). layout: full | side-by-side | top-bottom | pip-top-left | pip-top-right | pip-bottom-left | pip-bottom-right | grid-2x2 | main-sidebar | three-up. mode 'fit' letterboxes each source in its cell, 'cover' fills the cell and crops the overflow (bias 0–1 picks the surviving part; 0.5/0.5 = centre). Replaces the clips' geometry animation. The clips should overlap in time on different tracks — a layout of clips that never share a frame arranges nothing visible.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bias | No | Cover-crop bias 0–1 per axis (default 0.5/0.5). | |
| mode | No | fit | cover (default fit). | |
| token | Yes | The session token `connect` returned. Pass it on every call — it says which browser to drive. | |
| layout | Yes | Layout id (see description). | |
| clipIds | Yes | Clips to arrange, in cell order. | |
| projectId | Yes | Project id from get_projects. | |
| timelineId | Yes | Timeline containing the clips. |