Probably
Docs

Prepare a new video

prepare_video, 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/prepare_video

Create a video from a brief, with its attachments and settings, as a draft, and prepare its first run. Nothing is spent: the preview says its price (quote, when work is charged at fixed prices) and whether the organization's credits cover it, and confirming starts it. 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. Pass a new requestKey; repeating one returns the same draft and confirmation.

Authorization

apiKey
headerAuthorizationBearer <token>

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

Request Body

application/json
  1. body
spaceId*string
Formatuuid
brief*string
Length10 <= length <= 20000
name?string
Length1 <= length <= 120
objective?string
Default"retention"
Value in"reach""retention""follows""clicks""conversions"
platform?|string
aspect?string
Default"portrait"
Value in"portrait""square""landscape"
lengthSeconds*number

How long the video runs, in seconds, which its scenes divide and its price counts

Value in15304560
motion?string
Default"text-only"
Value in"text-only""reference"
format?string

The format to make it in, by its ID from list_formats; without one, the Space's default

Lengthlength <= 64
mode?string

autonomous decides for the person and goes on, taking the recommended answer to any question; interactive asks first: it waits at its one question, its script, its storyboard, its listen and its pilot (get_video's waitingOnYou, answered with answer_question_choice, approve_script, approve_storyboard, approve_listen, approve_pilot and the like)

Default"autonomous"
Value in"autonomous""interactive"
voice?string
Default"studio"
Value in"studio""seedance"
cutaways?string

B-roll laid over what's said, which its price counts: off leaves it out; without it, as the format has it

Value in"on""off"
captions?
attachments?array<||>
Itemsitems <= 45
requestKey*string
Match^[\w.:-]+$
Length8 <= length <= 64

Response Body

The tool's answer.

application/json
  1. response
videoId*string
Formatuuid
confirmationId*string
Formatuuid
expiresAt*string
preview*||||||
confirmUrl*|null
curl -X POST 'https://probably.co/api/v1/tools/prepare_video' \  -H "Authorization: Bearer $PROBABLY_API_KEY" \  -H 'Content-Type: application/json' \  -d '{  "spaceId": "a330a273-e64a-4183-aedb-f3152797a9a5",  "brief": "stringstri",  "lengthSeconds": 15,  "requestKey": "stringst"}'
{  "videoId": "3524e86f-1bba-489a-bf6b-386ea1abbac0",  "confirmationId": "40b00753-949e-4f8e-a4cc-6b64ed5887e1",  "expiresAt": "string",  "preview": {    "kind": "run",    "fits": true,    "availableCredits": 0,    "freeDraft": true,    "quote": null,    "sandbox": false  },  "confirmUrl": "http://example.com"}