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 separateavatar_/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 return200 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.
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-uploadPUTURLs. - IDs are resource-prefixed, such as
char_...andrender_.... - Characters and Motions use
queued,processing,ready, andfailed; Renders may also reachcancelled— 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.

