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.
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}
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}
{"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.

