Cut.ProDocs
Personas

Create a persona video

Starts a video with a saved persona. type picks the kind of video; today the only one is swap, which keeps the scene, camera, motion and sound of a library video and replaces its main person with the persona. quality (default standard) and replace (default person) pick how; quote and create with the same quality. version_id picks which of the persona's versions to use, the current one when left out. Charged per second of the source, even on a workspace with unlimited usage, and refunded automatically if it fails.

Price it first with GET /personas/swap/quote and send that credits: when the server measures a different price it refuses with 409 PRICE_CHANGED and the right one in extra, so nothing is ever charged above what was confirmed.

Responds 202. Poll GET /personas/{id}/videos/{videoId} every 10 seconds until ready or failed; the result also lands in the library with an edit_id for POST /renders and POST /posts. VIDEO_IN_PROGRESS means this persona is already working on the same version with the same video.

Authorization

apiKey
X-Api-Key<token>

In: header

Path Parameters

id*string

Request Body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

POST
/personas/{id}/videos
curl -X POST "https://example.com/personas/string/videos" \  -H "Content-Type: application/json" \  -d '{    "type": "swap",    "media_id": "string",    "credits": 0  }'
{  "id": "string",  "status": "processing",  "credits_charged": 0}