Price a swap video
Measures a library video and returns what swapping its person for a persona costs at the given quality. Nothing is charged. Pass the returned credits to POST /personas/{id}/videos with type: swap and the same quality, which refuses with PRICE_CHANGED if the price is different. replace does not change the price.
VIDEO_DURATION_OUT_OF_RANGE and VIDEO_UNSUPPORTED (format, size or resolution) follow video_limits of GET /personas/catalog for that quality; a video refused at standard may still fit high.
Authorization
apiKey In: header
Query Parameters
The media_id from POST /personas/sources/upload, or any video already in the library.
standard follows the persona's traits and is the cheapest, up to video_limits.standard.max_seconds. high also follows the persona's photos, keeps the face closest to them and takes longer videos, at a higher price; prefer it for personas made from face photos.
"standard"Value in
- "standard"
- "high"
What of the video's main person becomes the persona: head changes only the head and hair and keeps the body and outfit, person replaces the whole person, body and outfit included.
"head"Value in
- "head"
- "person"
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/personas/swap/quote?media_id=string"{ "media_id": "string", "quality": "standard", "replace": "head", "seconds": 0, "credits": 0}Upload a reference photo POST
Sends one photo of a real person as `multipart/form-data`, to make a persona that looks like them. Only the user's own face, as an adult, is allowed: `own_face_adult` must be `true` and is the user's statement of that. JPEG, PNG, WebP or HEIC up to 10 MB. A close, sharp photo of the face gives the most faithful result. Pass the returned `id` in `face_ids` of `POST /personas` within 24 hours. Up to 6 photos per persona.
Upload a source video POST
Starts the upload of the video whose person will be swapped for a persona. Returns a `media_id` and a presigned PUT URL: PUT the raw bytes to `upload_url` with the same `Content-Type`, then call `POST /personas/sources/upload/complete`. MP4 or MOV only, within `video_limits` of `GET /personas/catalog`. The video goes to the workspace library and counts toward its storage. A video already in the library needs no upload: use its id as `media_id`.