manage_timelines
Manage project timelines (sequences). The working target is the default for reads/edits; the user's view may differ. Exports require an explicit full timeline UUID.
Pass a full timelineId to preview_timeline, inspect_item, find_transcript, manage_markers, split_item, detach_audio, edit_track, submit_export, or each edit_item entry to target one call without changing the working target or user's view. Use switch to retarget later calls; legacy clients also change the user's view.
Actions:
list: all timelines and which is the working target.
create: fresh timeline with a default video track, to build from the Media Pool. Composition inherits the working timeline; override with width/height or ratio ("W:H" such as "16:9", "9:16", "4:5"; short side 1080 px). Create several in one call via timelines (array of {name, ratio, width, height}).
duplicate: full copy of timelineId (tracks, items, markers, captions incl. word-level edits), to start from existing content (versions, cut-downs); its script is immediately editable.
switch: make timelineId the working target for later calls. A hidden timeline can't be selected; restore it first (update hidden=false).
update: rename (name), resize (width/height/ratio), and/or hide/restore (hidden) timelineId, defaulting to the working timeline. On resize, fit "contain" keeps everything visible, "cover" fills the frame. Hiding keeps the data but removes the tab.
delete: remove timelineId, or several atomically via timelineIds. A project keeps at least one timeline.
create/duplicate make the new timeline the working target (batch create: the last entry); pass activate=false to keep the current one. Name collisions auto-suffix "(2)". Use ratio OR width/height; custom dimensions must omit ratio.
Returns JSON timeline objects: {id, name, width, height, active, hidden}. All timeline IDs are full UUIDs; pass the listed id directly to submit_export.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"action": "<action>"
},
"name": "manage_timelines"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fit | No | update: how existing items adapt to a new canvas size. "contain" keeps everything visible, "cover" fills the frame. | |
| name | No | Timeline name for create/duplicate; new name for update | |
| ratio | No | Aspect ratio for create/update as "W:H" with positive whole numbers from 9:64 to 64:9, e.g. "16:9", "9:16", "1:1", "4:5", "21:9". The short side becomes 1080 px (16:9 is 1920x1080, 4:5 is 1080x1350). For any other size, pass width/height instead. | |
| width | No | Composition width in pixels for create/update | |
| action | Yes | list, create, duplicate, switch, update, or delete | |
| height | No | Composition height in pixels for create/update | |
| hidden | No | update: true hides the timeline (its tab disappears for everyone but data is kept; restorable), false restores it. The last visible timeline cannot be hidden. | |
| activate | No | create/duplicate: false to keep the current active timeline. Defaults to true. | |
| projectId | No | Project for this call (full ID or unambiguous prefix). Explicit-timeline calls never change the target of later calls; legacy project selection applies otherwise. | |
| timelines | No | create: specs for creating several timelines in one call; each entry takes name/ratio/width/height and inherits unset composition from the active timeline. Top-level activate applies to the last entry. | |
| timelineId | No | Target full timeline UUID from action=list (required for duplicate/switch; delete takes this or timelineIds; optional for update, which defaults to the working timeline) | |
| timelineIds | No | delete: several full timeline UUIDs from action=list, removed atomically in one call. |