type=glb path of POST /v1/motions. When it’s ready, request the glb with ?download_type=mixamo (or metahuman) from Export 3D Motion. The exported GLB works with Mixamo, MetaHuman, and other Unity-compatible animation workflows. See the Motion Quickstart for the render-ready 2D path instead, or Text-to-Motion to generate a 3D animation from a text prompt with no source video.
Set VIGGLE_API_KEY and run the example below as-is — it uses a Viggle-hosted sample video, so you don’t need to prepare your own motion video first.
What you need
- An API key from the Viggle Dashboard, exported as
VIGGLE_API_KEY
The examples below reference a placeholder sample asset URL (
https://assets.viggle.ai/samples/motion.mp4). Swap in your own motion_video/motion_video_url, or Viggle’s published sample asset once available.Create, poll, and export the Motion
Response
GET /v1/motions/{motion_id} every five seconds. When status is ready, request GET /v1/motions/{motion_id}/export?download_type=mixamo; glb_url then points to the generated animation — it’s a signed link, valid for 1 hour and re-signed on every call. Request download_type=metahuman on the same motion_id for the other rig — both skeletons are pre-generated, so this never waits on new work. There is no fbx output.
See Pricing and retention for how the glb extraction is billed by source-video duration.
Create Motion (from Video)
See every request and response field.

