Probably
Docs

Change a video's cut

patch_composition, in Changes: A connection or key that may make changes. None spends credits; prepare_* and stage tools (research, brainstorm, write_script, review, generate_clip, voice, storyboard) prepare paid work for confirm_spend.

POST
/api/v1/tools/patch_composition

Apply typed edits, in order, to a delivered video's cut at the version read_composition gave: trim, split, insert, remove, move, duplicate, freeze, replace, speed, reframe, motion, opacity, colour, backdrop, captions, text, image, cutaway, transition, audio, mute, duck, add-sound, music, cut-words, remove-pauses, format and duration, at most 20 in one call. They land together as one change or not at all: a refused edit, a cut changed since that version, or a file outside this video's Space changes nothing. Nothing is generated and no credits are spent; the video renders again on its own and changes once that succeeds, and those renders are limited each day (30 for an organization). The person can go back in the studio, or by asking Looky to undo it.

Authorization

apiKey
headerAuthorizationBearer <token>

An API key (prb_…) from Settings → Connections.

Request Body

application/json
  1. body
videoId*string
Formatuuid
line?string
Formatuuid
expectedVersion*integer
Range0 < value <= 9007199254740991
edits*array<|||||||||||||||||||||||||||>
Items1 <= items <= 20

Response Body

The tool's answer.

application/json
  1. response
version*integer
Range0 < value <= 9007199254740991
summary*string
changes*array<string>

What the edits changed, in words.

warnings*array<string>
timeline*

What's on screen when, by track and clip, with any problems, in plain words.

curl -X POST 'https://probably.co/api/v1/tools/patch_composition' \  -H "Authorization: Bearer $PROBABLY_API_KEY" \  -H 'Content-Type: application/json' \  -d '{  "videoId": "3524e86f-1bba-489a-bf6b-386ea1abbac0",  "expectedVersion": 1,  "edits": [    {      "kind": "trim",      "clipId": "string"    }  ]}'
{  "version": 1,  "summary": "string",  "changes": [    "string"  ],  "warnings": [    "string"  ],  "timeline": {    "property1": null,    "property2": null  }}