Extract Motion (dynamic-fbx)
Extract an animation from a motion video
animation.glb + animation.fbx. Send it as multipart/form-data.
task_id immediately and does not block. Poll Get Extract Task until status is complete.State machine: queued → processing → complete | failedmultipart/form-data — no URL or storage path is required.Parameters
Send asmultipart/form-data.
Pricing
Motion extraction is billed by input video duration: 5 credits per second, rounded up to the whole second. Credits are reserved when the task is created, settled when the task completes successfully, and automatically refunded if the task fails. Insufficient balance returns402 CS-UORC01-008.
Idempotent retries
Thetask_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 anerror_code:
error_code and your task_id.
Examples
Next Steps
After creating the task, poll Get Extract Task every 5-10 seconds. Whenstatus is complete, read the signed download links from result (glb_url, fbx_url).Authorizations
API key passed as Bearer token
Body
Input video file (motion source). MP4, MOV, WebM, etc.
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).
"ext_0f9e8d7c6b5a4332"
Whether to enable motion smoothing.
Target frame rate. Must be > 0. Omit to skip resampling.
30
Response
Extract task created
Task id. Use it to poll GET /api/extract/{task_id}.
"ext_a1b2c3d4e5f60718"
Extract task kind.
static_bin, dynamic_fbx "static_bin"
Internal processing identifier. Clients can ignore it — poll with task_id.
"uorc-extract-ext_a1b2c3d4e5f60718"
"queued"

