Skip to main content
Describe a motion in text, submit it as JSON, and poll the returned Motion until the generated glb is ready. No source video is required — this is a separate, flat-priced path from the Motion 3D glb extraction, which is billed by source-video duration instead. Set VIGGLE_API_KEY and run the example below as-is — it needs no other input.

What you need

  • An API key from the Viggle Dashboard, exported as VIGGLE_API_KEY
  • A motion prompt between 1 and 400 characters

Create, poll, and export the Motion

The create request returns immediately with a Motion whose status is normally queued. Poll GET /v1/motions/{motion_id} every five seconds until it becomes ready or failed — there is no cancelled state for a Motion. When ready, call GET /v1/motions/{motion_id}/export?download_type=glb — the response returns all three rig variants at once: mixamo_url, metahuman_url, and metahuman_body_url. Use download_type=fbx instead for the same three rigs baked as FBX files. All three rigs, in both formats, are generated together, so switching download_type never waits on new work. Each URL is a signed link, valid for 1 hour and re-signed on every call. GLB works with Mixamo, MetaHuman, and other Unity-compatible animation workflows; FBX is the same rig/animation for pipelines that expect that format instead. Not sure which rig to pick? mixamo_url is a generic 50-joint skeleton you’ll retarget onto your own character; metahuman_url/metahuman_body_url matches a Viggle vsplat Character’s rig 1:1, so it needs no retargeting at all. See Export 3D Motion for the full comparison, including the 441-joint (facial) vs. 86-joint (body-only) variants. See Pricing and retention — Text-to-Motion is a flat $0.10 (10 credits) per request, independent of duration_seconds.

Create Motion (from Text)

See every JSON request and Motion response field.