Skip to main content
GET
Get a signed download URL for a character's vsplat extraction
Only meaningful for a Character created with type vsplat or all; a render-only Character has nothing to export. This replaces the old, now-removed GET /v1/avatars/{avatar_id}. vsplat_url and thumbnail_url are populated on different conditions, not both gated by download_type:
  • vsplat_url is populated only when the request carries download_type=vsplat, and is re-signed on every call.
  • thumbnail_url is unconditional — it’s a default output of the extraction, populated whenever one was rendered (that is, the Character was created with render_thumbnail=true; see Create Character), independent of download_type and even if it’s omitted entirely. It’s not something you opt into via a request parameter.
There is no glb output for a Character export. download_type only ever accepts vsplatglb is a Motion-only extraction; see Export 3D Motion (for 3D/game engines) for that.

Request parameters

Response parameters

Returns 200 OK. Requested with download_type=vsplat on a Character that was also created with render_thumbnail=true — both URLs come back together:
The same Character requested with no download_type at all — vsplat_url withholds, thumbnail_url still doesn’t:

Examples

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

Next step

The 2D render side of this same Character (capabilities: ["video_render"]) is independent of the vsplat export above — use Render Video (from Character and/or Motion) with character_id 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

character_id
string
required

Public Character ID returned by character creation or listing. It normally begins with char_ and must identify a Character owned by the caller.

Minimum string length: 1

Query Parameters

download_type
enum<string>

Selects the signed output URL to populate. Use vsplat after extraction is ready; omit it when only checking status or retrieving the thumbnail.

Available options:
vsplat

Response

Current vsplat export state.

A character's vsplat extraction, for download. vsplat_url is populated only when the request carried download_type=vsplat. thumbnail_url is unconditional — a default output of the extraction, populated whenever one was rendered, independent of download_type. Download URLs are short-lived and re-signed on every read. Formerly AvatarResource, returned by the now-removed GET /v1/avatars/{avatar_id}.

id
string
required

ID of the Character whose vsplat export is represented.

Minimum string length: 1
status
enum<string>
required

Current lifecycle of the vsplat extraction. Download only when this is ready and vsplat_url is populated.

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

Echoes the requested download_type; vsplat selects the signed asset URL, while null means no downloadable artifact was explicitly requested.

Available options:
vsplat,
null
vsplat_url
string | null
required

Short-lived signed URL for the .vsplat asset when download_type=vsplat and extraction is ready; otherwise null.

thumbnail_url
string | null
required

Short-lived signed URL for the standard extraction thumbnail when one was generated; independent of download_type, otherwise null.

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 extraction-state update; null if unavailable.

error
object | null
required

Structured extraction failure when status is failed; otherwise null.