Skip to main content
GET
Get a signed download URL for a motion's 3D animation extraction
Only meaningful for a Motion created with type glb or all, or generated from text via POST /v1/motions with application/json; a render-only Motion has nothing to export. This replaces the old, now-removed GET /v1/animations/{animation_id}. download_type is the skeleton choice itself — mixamo or metahuman — not a separate output format. There is no fbx, and both skeleton variants are always generated up front, so switching between them on the same motion_id never triggers new work or waits on a regeneration. The exported GLB works with Mixamo, MetaHuman, and other Unity-compatible animation workflows.

Request parameters

Response parameters

Returns 200 OK.
Request metahuman for the same Motion instead — no regeneration needed:

Examples

Download URLs are short-lived and re-signed on every read — request download_type again rather than caching the URL.

Next step

A text-generated Motion has no 2D render counterpart — only this export applies. A video-sourced glb/all Motion also keeps its video_render capability; use Render Video (from Character and/or Motion) with motion_id for that side once it’s ready.

Authorizations

Authorization
string
header
required

Server-side SDK clients use a project API key. Remote MCP clients use an OAuth access token. Never expose a project API key in browser code.

Headers

X-Request-Id
string

Optional caller-supplied correlation ID, up to 128 characters. The service returns the effective value in the response header for tracing and support.

Required string length: 1 - 128
X-Viggle-Source
string

Optional source-channel label, up to 128 characters, used to attribute traffic to an SDK, integration, product surface, or internal workflow.

Required string length: 1 - 128

Path Parameters

motion_id
string
required

Public Motion ID returned by motion creation or listing. It normally begins with mot_ and must identify a Motion owned by the caller.

Minimum string length: 1

Query Parameters

download_type
enum<string>

Selects which pre-generated skeleton rig to return as a signed GLB URL: mixamo for Mixamo-compatible rigs or metahuman for MetaHuman-compatible rigs.

Available options:
mixamo,
metahuman

Response

Current animation export state.

A motion's 3D animation extraction (video source) or generation (text source), for download. glb_url is populated only when the request carried a download_type, which is itself the skeleton choice — mixamo or metahuman — both generated up front, so switching between them on the same motion_id never triggers new work. There is no fbx. Download URLs are short-lived and re-signed on every read. Formerly AnimationResource, returned by the now-removed GET /v1/animations/{animation_id}.

id
string
required

ID of the Motion whose 3D animation export is represented.

Minimum string length: 1
status
enum<string>
required

Current lifecycle of the 3D animation extraction or generation. Download only when this is ready and glb_url is populated.

Available options:
queued,
processing,
ready,
failed,
cancelled
download_type
enum<string> | null
required

Echoes the requested download_type — also the skeleton variant selected.

Available options:
mixamo,
metahuman,
null
glb_url
string | null
required

Short-lived signed URL for the selected skeleton variant's GLB when the export is ready; otherwise null.

thumbnail_url
string | null
required

Reserved for response-shape compatibility and always null because Motion animation exports do not generate thumbnails.

created_at
string | null
required

ISO 8601 timestamp with a UTC offset. May be an empty string on a task that has not recorded one.

updated_at
string | null
required

ISO 8601 timestamp with a UTC offset for the latest 3D animation state update; null if unavailable.

error
object | null
required

Structured extraction or generation failure when status is failed; otherwise null.