Skip to main content
POST
Extract Character (static-bin)
Upload a single image and get back a 3D character bin (character_stripped.bin). Send it as multipart/form-data, and if you like, we’ll render a default-view thumbnail too.
Asynchronous task. This endpoint returns a task_id immediately and does not block. Poll Get Extract Task until status is complete.State machine: queuedprocessingcomplete | failed
Binary upload. Send the raw file directly as multipart/form-data — no URL or storage path is required.
Image formats: PNG, JPG/JPEG, and WebP are accepted. Images larger than 4K are automatically downscaled.

Parameters

Send as multipart/form-data.

Pricing

Character extraction (one 3D character) costs 25 credits. Credits are reserved when the task is created, settled when the task completes successfully, and automatically refunded if the task fails. Insufficient balance returns 402 CS-UORC01-008.

Idempotent retries

The task_id form field is optional. Supplying your own task_id enables idempotent retries: re-creating with the same task_id returns 409 CS-UORC01-015. If omitted, the server generates one (format ext_ + 16 hex chars).

Response

workflow_id is an internal processing identifier — clients can ignore it and poll using task_id.

Error Handling

If the request fails, the response includes a structured error with an error_code:
Common error codes for this endpoint: See Error Codes for the full list. When contacting [email protected], include the error_code and your task_id.

Examples

Next Steps

After creating the task, poll Get Extract Task every 5-10 seconds. When status is complete, read the signed download links from result (stripped_bin_url, and render_output_urls when render_thumbnail was set).

Authorizations

Authorization
string
header
required

API key passed as Bearer token

Body

multipart/form-data
images
file
required

Input image file (currently a single image). PNG, JPG, WebP, etc.

model
enum<string>
default:v4_gaussian

Extraction model.

Available options:
v4_gaussian,
v4_mobile
task_id
string

Optional client-supplied task id for idempotent retries. Reusing an existing id returns 409. If omitted, the server generates one (format ext_ + 16 hex chars).

Example:

"ext_a1b2c3d4e5f60718"

render_thumbnail
boolean
default:false

Whether to also render a default-view thumbnail.

render_source
enum<string>
default:full

Thumbnail render source.

Available options:
pkl,
full,
stripped
render_rest
boolean
default:false

Render rest pose (skip skinning).

Response

Extract task created

task_id
string

Task id. Use it to poll GET /api/extract/{task_id}.

Example:

"ext_a1b2c3d4e5f60718"

kind
enum<string>

Extract task kind.

Available options:
static_bin,
dynamic_fbx
Example:

"static_bin"

workflow_id
string

Internal processing identifier. Clients can ignore it — poll with task_id.

Example:

"uorc-extract-ext_a1b2c3d4e5f60718"

status
string
Example:

"queued"