Skip to main content
Motion 3D extracts a 3D skeletal animation from a driving video — this is the 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

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

Poll 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.