GPT IMAGE 2.5 | WAN 3.0 | SEEDANCE 2.5 IS NOW LIVE!

GENERATE YOUR VIDEOS WITH UNLIMITED SEEDANCE 2.5 TODAY.

NO EXTRA SUBSCRIPTION
REVIRAL
Get API key
Browse API docs

Errors

Errors

Was this page helpful?

Handle stable HTTP statuses and machine-readable error codes without exposing secrets or raw internal failures.

HTTP status codes

400
Malformed JSON or invalid full-render body
401
Missing, invalid, or revoked key
402
Insufficient credits
404
Model or owned job not found
409
Price lock changed or idempotency key conflict
413
file_too_large or conversation_too_large
415
unsupported_type: only JPG, PNG, WebP, MP4, MP3, and WAV are accepted
422
validation_error; reference failures use details[].code = invalid_reference, reference_image_count, reference_image_required, reference_image_size, reference_video_count, reference_video_size, reference_video_too_long, reference_video_unsupported, reference_audio_count, reference_audio_needs_visual, reference_audio_size, or reference_audio_unsupported
429
Rate limit exceeded; read Retry-After
502
Generation, upload storage, or status service unavailable
503
Catalog or rate limiter temporarily unavailable
504
Start timed out; retry with the same idempotency key and body

Error envelope

Every endpoint except the five listed below returns this shape on error.

JSON example
{
  "error": {
    "code": "validation_error",
    "message": "Request validation failed",
    "details": [
      {
        "field": "durationSec",
        "message": "Duration is not available for this model.",
        "code": "invalid_choice"
      }
    ]
  },
  "docs": "/docs/api"
}

Legacy envelope (render, characters, media-search)

POST /api/v1/render's own key check, and every response from GET/POST /api/v1/characters, GET/DELETE /api/v1/characters/{id}, and POST /api/v1/media-search, use this older shape instead: an ok: false flag, a short string error code, an optional human-readable message or detail, and the same docs field.

JSON example
{
  "ok": false,
  "error": "invalid_body",
  "message": "name: Required",
  "docs": "https://reviral.ai/api/v1/render"
}

Operational updates

Check API status before escalating a temporary 502 or 503.