timeline.batch
Apply SEVERAL timeline edits in ONE call — one version check, one result, one undo step, all-or-nothing (if any op fails nothing is applied and the error names the failing op). ALWAYS prefer this over repeated single-edit calls whenever you have two or more timeline edits to make (e.g. trimming five clips, setting speed on several, crossfading a run then closing gaps): it costs one round-trip instead of one per edit. Ops run in order against the live state, so a later op sees the result of an earlier one (e.g. close_gaps, then add_transitions on the now back-to-back clips). Each op is the same as the matching timeline.* tool, minus projectId/expectedVersion/actor: move_item, trim_item, set_speed, set_volume, set_transform, close_gap, close_gaps, add_transition, add_transitions, remove_transition, remove_transitions, update_transition_duration. (Creating, splitting, duplicating and deleting clips are not batchable — use their own tools.) Max 50 ops.
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": {
"projectId": "<projectId>",
"expectedVersion": "<expectedVersion>",
"ops": "<ops>"
},
"name": "timeline.batch"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ops | Yes | ||
| projectId | Yes | ||
| expectedVersion | Yes |