Skip to main content
A Character is a reusable representation of the person in an image. Create it once, wait for it to become ready, and pass its char_... ID to a Render. type additionally selects whether a 3D vsplat is extracted from the same image. All endpoints on this page require Authorization: Bearer YOUR_API_KEY. Field-by-field detail lives on the split reference pages: Create, List, Get, Delete, Export.

Create a Character

POST /v1/characters Creates an asynchronous Character resource. Send multipart/form-data.
Pricing (1 credit = $0.01): type=render is 1 credit. type=vsplat is 25 credits (30 with enhance=true, which replaces the price rather than adding to it — enhance has no effect and isn’t billed for type=render). type=all bills for both: 26 or 31 credits. See Pricing and retention.
Provide exactly one image source: image or image_url. Supported uploaded image types are PNG, JPEG, and WebP. For type=vsplat or all, the request also accepts model_precision, filter_low_quality, joint_set, render_thumbnail, and task_id. joint_set (full, expression, or body; defaults to body) selects the rig the vsplat is skinned to — a Motion used to drive the Character must be extracted on the same joint_set. The caller only decides whether a thumbnail is needed; its source and pose are internal implementation details. See Create Character (from Image) for constraints and defaults.
To also extract a 3D vsplat, add type=vsplat (or all to keep the render too — see Create Character (from Image) for the extraction-only fields).

Get a Character

GET /v1/characters/{character_id}
Poll this endpoint until status is ready before using the ID in a Render. A ready Character exposes video_render in capabilities. On a vsplat/all Character, check vsplat.status for the extraction’s own progress.

List Characters

GET /v1/characters This endpoint has no query parameters. It returns the most recently created active Characters for the current account, newest first, capped at 100 with no cursor.

Delete a Character

DELETE /v1/characters/{character_id}
Returns {"status": "deleted"}. A missing Character, an ID with the wrong prefix, or a Character owned by another account returns 404.

Export a Character’s vsplat

GET /v1/characters/{character_id}/export Only meaningful for a vsplat/all Character. Add download_type=vsplat to populate the vsplat URL — that’s the only accepted value; there is no glb output for Characters (that’s a Motion-only extraction). thumbnail_url populates on its own, independent of download_type, whenever the Character was created with render_thumbnail=true.

Character response fields

Endpoint response rules