Or jump from this list on a smaller screen.
This is a page from the Audivra documentation. Developer exports — index: http://127.0.0.1:3000/docs/llms.txt, full corpus: http://127.0.0.1:3000/docs/llms-full.txt, OpenAPI: http://127.0.0.1:3000/docs/openapi.json, Postman: http://127.0.0.1:3000/docs/postman.json. Press ⌘K to search docs.
Errors
HTTP status codes, JSON error bodies, and recovery steps for the Audivra API — 401 auth, 402 quotas, 429 rate limits, 502 inference failures.
Quick reference
Audivra returns JSON { error } or { detail } bodies. Integrators hitting metered mobile networks should handle 402 and 429 with backoff — see limits & quotas.
Unauthorized
Missing, malformed, or revoked API key / session.
Payment required
Insufficient monthly credits, routing credits, or prepaid wallet for overages.
Too many requests
Per-API-key rate limit exceeded.
Bad gateway
Upstream inference, local worker, or API gateway unavailable.
All HTTP status codes
| Status | Name | When |
|---|---|---|
| 400 | Bad request | Empty text, invalid plan at checkout, missing voice_id where required. |
| 401 | Unauthorized | No Authorization header, wrong sk_live_ prefix, revoked key, or expired session. |
| 402 | Payment required | Character/video quota exhausted on hard-cap plans; routing wallet empty on POST /api/v1/generate; voice clone blocked on free tier. |
| 403 | Forbidden | Internal worker routes without x-worker-secret; admin-only surfaces; batch generate on Free Trial. |
| 404 | Not found | Unknown job_id, avatar_id, or clone UUID. |
| 409 | Conflict | Voice clone still training; avatar video not completed yet. |
| 429 | Too many requests | More requests than the plan bucket allows in a rolling 60-second window. Paid generate/avatar/dub/batch use 100 req/min; other routes and Free Trial use 60. |
| 502 | Bad gateway | INFERENCE_URL down, local worker unhealthy, Modal/RunPod webhook failed. |
| 503 | Service unavailable | Stripe webhooks called without STRIPE_WEBHOOK_SECRET; optional services disabled; dashboard signup on a serverless host without Supabase. |
400 Bad request
Empty text, invalid plan at checkout, missing voice_id where required.
{ "error": "text is required" }Recovery: Fix the request body and retry. Validate against OpenAPI examples.
402 Payment required
Character/video quota exhausted on hard-cap plans; routing wallet empty on POST /api/v1/generate; voice clone blocked on free tier.
{ "error": "Credit quota exceeded (12000/12000). Top up PAYG wallet at /app/billing." }Recovery: Upgrade at /app/billing, enable overages on Creator/Developer, or top up prepaid wallet. Check limits on the limits reference page.
403 Forbidden
Internal worker routes without x-worker-secret; admin-only surfaces; batch generate on Free Trial.
{ "error": "Forbidden" }Recovery: Use a user API key for public routes. Worker routes require WORKER_SECRET header.
404 Not found
Unknown job_id, avatar_id, or clone UUID.
{ "error": "Job not found" }Recovery: Poll the job_id returned by POST /api/v1/generate. List voices via GET /api/v1/voices.
409 Conflict
Voice clone still training; avatar video not completed yet.
{ "error": "Voice clone still training" }Recovery: Poll GET /api/voices/clone until status is ready. Poll GET /api/v1/jobs/{id} for video.
429 Too many requests
More requests than the plan bucket allows in a rolling 60-second window. Paid generate/avatar/dub/batch use 100 req/min; other routes and Free Trial use 60.
{ "error": "Rate limit exceeded (60 requests/minute). Retry shortly." }Recovery: Backoff and retry after Retry-After. Use POST /api/v1/generate/batch on paid plans instead of bursting single generates.
502 Bad gateway
INFERENCE_URL down, local worker unhealthy, Modal/RunPod webhook failed.
{ "error": "Local worker failed" }Recovery: Retry with forceCloud on generate, or route to gpu_cluster. Self-host: verify npm run inference.
Auth details: Authentication · OpenAPI error schemas: OpenAPI reference