Prepare to apply a change
prepare_apply_change, 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.
Prepare to apply a change waiting on a video's run (get_video's waitingOnYou names its runId and changeId): a proposed change, or a held note that would remake paid work. The preview says what it makes again and its price (quote), or on the meter its credits per step. Nothing is spent until it is confirmed. Show the person the preview. If the connection may spend, call confirm_spend with the confirmationId once they agree; otherwise send them the confirmUrl to confirm it in the studio. It expires in 15 minutes.
apiKeyAuthorizationBearer <token>An API key (prb_…) from Settings → Connections.
application/json- body
videoId*string^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidrunId*string^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidchangeId*string^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidThe tool's answer.
application/json- response
videoId*string^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidconfirmationId*string^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidexpiresAt*stringpreview*||||||confirmUrl*|nullcurl -X POST 'https://studio.probably.co/api/v1/tools/prepare_apply_change' \ -H "Authorization: Bearer $PROBABLY_API_KEY" \ -H 'Content-Type: application/json' \ -d '{ "videoId": "9c3d5e2f-8a14-4b67-b0d9-6e1f2a3c4d5e", "runId": "6f7a8b9c-0d1e-4f2a-9b4c-5d6e7f809102", "changeId": "7a8b9c0d-1e2f-4a3b-8c5d-6e7f80910213"}'{ "videoId": "9c3d5e2f-8a14-4b67-b0d9-6e1f2a3c4d5e", "confirmationId": "e7a1b2c3-d4e5-4f60-8172-93a4b5c6d7e8", "expiresAt": "2026-10-25T09:15:00.000Z", "preview": { "kind": "change", "steps": [ { "stage": "copy", "mark": "edited", "credits": null }, { "stage": "voiceover", "mark": "redone", "credits": null }, { "stage": "clips", "mark": "redone", "credits": null } ], "added": [], "quote": { "priceCredits": 473, "mostCredits": 1433, "pricingVersion": "2026-10-26.1", "lines": [ { "line": "voice", "credits": 28 }, { "line": "clips", "credits": 358 }, { "line": "finish", "credits": 87 } ], "corrections": { "rounds": [ { "line": "voice", "credits": 25 }, { "line": "clips", "credits": 270 }, { "line": "finish", "credits": 25 } ], "maxRoundsPerStage": 3, "maxRounds": 10, "maxCredits": 960 } }, "expectedCredits": null, "worstCredits": null, "availableCredits": 1840, "covered": true, "freeDraft": false, "sandbox": false }, "confirmUrl": null}