Skip to main content
GET
/
api
/
render
/
{job_id}
Get Job Status
curl --request GET \
  --url https://apis.viggle.ai/api/render/{job_id} \
  --header 'Authorization: Bearer <token>'
{
  "job_id": "job_abc123xyz",
  "status": "queued",
  "mode": "<string>",
  "checkpoint": "<string>",
  "progress_pct": 60,
  "cdn_url": "<string>",
  "mask_cdn_url": "<string>",
  "error_code": "<string>",
  "error_message": "<string>",
  "chunks": [
    {}
  ],
  "created_at": "2023-11-07T05:31:56Z",
  "completed_at": "2023-11-07T05:31:56Z"
}
Check job status. Returns immediately. Poll every 3-5 seconds until complete or failed. When complete, use the cdn_url field to download the final video.
This endpoint does not require authentication. You can poll job status without an API key.

Response fields

Key fields in the response:
FieldDescription
statusCurrent job status: queued, processing, complete, or failed
progress_pctEstimated progress percentage (0-100)
checkpointCurrent pipeline stage: ref_done, dri_done, bg_done, render_done
cdn_urlDirect URL to download the final video (available when status is complete)
error_codeStructured error code when status is failed (e.g. CS-UORC01-009)
error_messageHuman-readable error description when status is failed

Polling examples

import requests
import time

job_id = "job_abc123xyz"
url = f"https://apis.viggle.ai/api/render/{job_id}"

while True:
    data = requests.get(url).json()
    print(f"Status: {data['status']} ({data.get('progress_pct', 0)}%)")

    if data["status"] == "complete":
        print(f"Video ready: {data['cdn_url']}")
        break
    elif data["status"] == "failed":
        print(f"Error {data.get('error_code')}: {data.get('error_message')}")
        break

    time.sleep(3)

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

job_id
string
required

Response

Job status

job_id
string
Example:

"job_abc123xyz"

status
enum<string>
Available options:
queued,
processing,
complete,
failed,
cancelled
mode
string | null

The render mode used (e.g. full_pipeline, preprocessed, fast)

checkpoint
string | null

Current processing stage within the pipeline

progress_pct
number | null

Estimated progress percentage (0-100)

Example:

60

cdn_url
string<uri> | null

CDN URL to download the final video (available when status is complete)

mask_cdn_url
string<uri> | null

CDN URL for the alpha/mask video (transparent mode only). White = character, black = background. Use with cdn_url for compositing.

error_code
string | null

Structured error code (e.g. CS-UORC01-002) when status is failed

error_message
string | null

Human-readable error description when status is failed

chunks
object[]

Always an empty array in v2. Retained for backward compatibility.

created_at
string<date-time> | null

Timestamp when the job was created

completed_at
string<date-time> | null

Timestamp when the job completed