Skip to main content
POST
Import an official motion template as a motion asset
Copies the official template identified by template_id into a Motion asset owned by the calling principal.
Pricing (1 credit = $0.01): 1 credit per second of the source template’s duration, with a minimum of 1 credit. See Pricing and retention.

Request parameters

Send a JSON body. Send template_id in new integrations; unknown properties are ignored.

Response parameters

Returns 200 OK. Only id and status carry information here; name and created_at are populated from Get Motion. See Create Motion for the field-by-field definition of the full Motion object.

Examples

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

Body

application/json

template_uuid is an accepted alias for template_id; supply one of them. Unknown properties are ignored. Costs 1 credit per second of the source template's duration, with a minimum of 1 credit.

template_id
string
required

ID of the official Viggle motion template to copy into the caller's assets. Supply either this field or template_uuid.

Minimum string length: 1
template_uuid
string

Backward-compatible alias for template_id. Supply one identifier field, not both.

Minimum string length: 1
name
string

Optional display name for the imported Motion. When omitted, it defaults to Imported: followed by the first eight characters of the template ID.

model
enum<string>
default:V3_Preview

Render model associated with the imported motion. Choose V3_Preview or V4_BaseSG; V4_Preview is accepted as a backward-compatible alias for V4_BaseSG. Defaults to V3_Preview.

Available options:
V3_Preview,
V4_BaseSG,
V4_Preview

Response

Motion queued. Only id and status carry information here; name and created_at are populated from GET /v1/motions/{motion_id}.

A character or motion asset. Both resources share one wire shape.

progress is null in list responses. error is always null, including on a failed asset: read status to detect failure.

type reflects what was requested at creation. For characters it is render, vsplat, or all; for motions it is render, glb, or all. Assets created before type existed report render. vsplat and glb carry that extraction's own status — never download URLs, which come from GET /v1/characters/{character_id}/export or GET /v1/motions/{motion_id}/export instead — and are null unless type requested that extraction. On an all asset, the top-level status only reaches ready once both the 2D render and the 3D extraction have; if either fails, the top-level status is failed while the sub-object's own status still shows which one it was.

id
string
required

Public asset identifier. Character IDs normally begin with char_; Motion IDs normally begin with mot_.

Minimum string length: 1
status
enum<string>
required

Overall lifecycle of the asset. Use an asset for rendering or export only after the required capability becomes ready.

Available options:
queued,
processing,
ready,
failed,
cancelled
name
string
required

Display name supplied at creation or derived during import; it may be empty when a workflow does not accept a name.

progress
integer | null
required

Best-effort processing percentage from 0 through 100 on detail responses; null in list responses or when unavailable.

Required range: 0 <= x <= 100
capabilities
string[]
required

What the asset can be used for. video_render appears once the asset is ready.

created_at
string | null
required

ISO 8601 timestamp with a UTC offset, for example 2026-07-31T09:15:22+00:00.

completed_at
string | null
required

ISO 8601 timestamp with a UTC offset when all requested processing reached a terminal state; null while work is active.

error
object | null
required

Reserved top-level failure detail. It is currently always null; detect failure from status and inspect extraction sub-objects when applicable.

type
enum<string>
default:render
required

Work requested when the asset was created. render produces the 2D render-ready asset, vsplat/glb requests 3D output, and all requests both supported outputs.

Available options:
render,
vsplat,
glb,
all
vsplat
object | null
required

Character vsplat extraction status. Null for motions, and for characters whose type is render. The request parameters (model_precision, etc.) submitted at creation are not echoed back here — this is status only.

glb
object | null
required

Motion 3D animation extraction/generation status. Null for characters, and for motions whose type is render.