Skip to main content
Using an AI agent? Copy the docs link for full API context:
https://docs.viggle.ai/llms-full.txt

Rendering modes

Send an image + video in one request.
On-demand renders cost 1 credit/second of output video. No separate character charge.
import requests, time
API_KEY, BASE = "YOUR_API_KEY", "https://apis.viggle.ai"
h = {"Authorization": f"Bearer {API_KEY}"}
job = requests.post(f"{BASE}/api/render", headers=h, files={
    "ref_image": open("character.png", "rb"),
    "driving_video": open("dance.mp4", "rb"),
}).json()
while True:
    s = requests.get(f"{BASE}/api/render/{job['job_id']}").json()
    if s["status"] == "complete": break
    time.sleep(3)
video = requests.get(s["cdn_url"])
open("output.mp4", "wb").write(video.content)

On-Demand Guide

Render options, polling, and error handling

Model

V3_Preview (default) or V4_Preview. Pass model on character preprocess, scene preprocess, and render requests. Characters and scenes are bound to the model they were preprocessed with and can only be used in renders with the same model.

Quick start

Get your API key

Create one in the Viggle Dashboard.

Pick a mode

Use the Rendering modes tabs: On-Demand (fastest first render), Preprocessed (~3x faster at scale), or Import Templates.

Render

POST /api/render — poll GET /api/render/{job_id} every 3-5s until complete, then use cdn_url to download.

Resources

Discord Community

Support and discussions

API Reference

Full endpoint documentation

Pricing

1 credit/sec — about $0.01/sec