New Composition
new_compositionCreate a NEW composition (a new video) inside a project — a project is a workspace that holds many videos. Returns { compositionId, format, etag }. Pass an optional name and format (aspectRatio/fps/resolution); format defaults to the project's compositionFormat. The first composition becomes the project's active default. To author it, seed with apply_composition then compose({ fromComposition: true }) — your authored graphics ride as locked clips, carried verbatim; to render a specific one, pass its compositionId to create_render. (For a reframed sibling in another aspect, use derive_composition.)
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>",
"body": "<body>"
},
"name": "new_composition"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /projects/:id/compositions body — create a new video (composition) in the project. `format` defaults to the project's compositionFormat when omitted. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| etag | No | The strong ETag of the empty composition, for If-Match on its first write. | |
| format | No | ||
| compositionId | No | The new composition's id: `composition_id` for apply_composition, `compositionId` for preview_frame and create_render. |