Skip to main content
Base URL:
All endpoints require Authorization: Bearer YOUR_API_KEY.

Request and response conventions

Public ID formats

IDs are opaque values generated by Viggle. Preserve them exactly as returned; do not construct, shorten, or strip their prefixes. There is no separate avatar_/anim_ ID family — 3D vsplat and glb extraction are now tracked on the owning Character/Motion itself (type, vsplat, glb) and downloaded via /export, not through their own resources. video_id on the Videos endpoints accepts render_, vid_, and anim_ prefixed IDs — a Render, an H3 generation, and a character-animation generation are all read back as the same unified video resource. An img_ image generation is not a video; read it back with Get Image. A scn_ scene task is read back with Get Scene Task; its ID embeds your sessionId, so keep it whole.

Success and error responses

Creation endpoints return 200 OK (or, for the draft-based render flow, 202 Accepted) with an asynchronous resource in queued state. A resource status request can return 200 OK with status: "failed"; always inspect both the HTTP status and the response body.
See Errors and recovery for the full code vocabulary and how to use retryable/remediation.

Resources

Code examples

Go, JavaScript, Python, and cURL requests for the current V1 endpoints.
H3 Video Generation (POST /v1/videos) generates a Viggle-optimized MiniMax H3 video with native audio on every clip. quality=low generates faster, for quicker iteration; quality=high produces higher-fidelity output — both tiers are billed at the same $0.01 per generated second at 480p/768p/1080p/2k, rising to $0.05 per generated second at 4k. See Generate Video (from Text) and Pricing and retention. The same endpoint’s character-animation mode uses a separate backend: a driving video is required; image-only requests are not supported. Image usage depends on enhance_mode and ordered target tags. It reserves 1 credit ($0.01) per second of measured driving-video duration, rounded up. See Using Viggle-Animate.

Resource model

V1 separates reusable content from work performed on that content: Direct image and motion_video inputs on POST /v1/renders are one-time inputs. They do not create a Character or Motion that appears in an asset list. Create an asset explicitly when it needs to be reused.

Endpoint index

Conventions

  • Requests that upload media use multipart/form-data, or the draft-based flow’s direct-upload PUT URLs.
  • IDs are resource-prefixed, such as char_... and render_....
  • Characters and Motions use queued, processing, ready, and failed; Renders may also reach cancelled — but a client cannot request cancellation, only observe it.
  • Error responses use { "error": { "code", "message", "retryable", "request_id", "details", "remediation" } }. Internal worker and pipeline codes are never exposed.