Skip to main content
A Motion is a reusable driving action from a video, or a 3D animation generated from a text prompt. It is not a background scene. Use a Motion’s mot_... ID as motion_id when creating a Render. All endpoints on this page require Authorization: Bearer YOUR_API_KEY. Field-by-field detail lives on the split reference pages: Create from Video, Create from Text, Import, List, Get, Delete, Export.

Create a Motion from video

POST /v1/motions The request body carries one of two shapes, by Content-Type. multipart/form-data creates a Motion from a driving video: For type=glb or all, the request also accepts enable_smoothing, target_fps, and task_id. Reusable Motion thumbnails are generated internally from the source video. See Create Motion (from Video) for exact behavior.

Create a Motion from text

The same POST /v1/motions endpoint accepts application/json to generate a Motion from a text prompt. This request is always type: glb and replaces the old, now-removed POST /v1/animations/generate. It costs a flat 10 credits, independent of duration_seconds — a different rate from the per-second glb extraction above:

Import a Motion template

POST /v1/motions/import Imports a Motion from a Viggle template. Send a JSON request body. Costs 1 credit per second of the source template’s duration, with a minimum of 1 credit.
template_id takes precedence when both template fields are sent. Send only the preferred template_id in new integrations.

Get a Motion

GET /v1/motions/{motion_id}

List Motions

GET /v1/motions Returns the most recently created active Motions for the current account, newest first, capped at 100 with no cursor.

Delete a Motion

DELETE /v1/motions/{motion_id}

Export a Motion’s 3D animation

GET /v1/motions/{motion_id}/export Only meaningful for a glb/all Motion, or one generated from text. download_type is the skeleton itself — mixamo or metahuman — both pre-generated, so either can be requested without regenerating. There is no fbx.

Motion response fields

All Motion endpoints return the same resource shape as Characters, plus a glb sub-object: id, status, name, progress, capabilities, type, glb, created_at, completed_at, and error. glb is {status, skeletons, error} when type requested an extraction/generation, otherwise null; skeletons is empty until ready, then [mixamo, metahuman]. A Motion ID looks like mot_550e8400-e29b-41d4-a716-446655440000; preserve it exactly.

Endpoint response rules