Set video clip
set_video_clipRepoint an existing video layer at a different uploaded clip — keeps the layer's id, position, size, animations, styles, and trim window; only the source mp4 changes. The clip must already be uploaded (the editor's Add video); pass the filename the upload returned, and its name as the label. Use this to swap a video layer's source WITHOUT losing its keyframes.
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": {
"elementId": "<elementId>",
"clip": "<clip>",
"projectId": "<projectId>"
},
"name": "set_video_clip"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| clip | Yes | The uploaded clip's id: the `filename` its upload returned. | |
| name | No | Optional label people see for the layer: pass the upload's returned `name`. Omit to keep the current label; null or an empty string clears it. | |
| elementId | Yes | Video layer id, video.<id>. | |
| projectId | Yes | Opaque project id (a v4 UUID, from list_projects/create_project). Selects which existing project this call mutates. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | Whether the call succeeded. | |
| data | No | The payload, shaped by the tool. | |
| note | No | What to do next when not ready. | |
| error | No | Why it failed. | |
| status | No | For cache-backed readers: whether the answer was ready. | |
| editorUrl | No | Opens this project in the editor. |