VoiceStudioDocs

Errors and retries

What each status means and what to do about it.

Errors are JSON with a detail field. Rely on the status and retry headers; keep detail for logs and user-facing hints.

StatusMeaningWhat to do
400Invalid input, unknown engine, or bad routingFix the request or pick an available engine
401Missing or wrong PIN or API keySend the credential
403The caller can't use a local or admin routeUse loopback or an allowed route
409A required model or state is missingInstall the recommended model, or resolve the conflict
422The body failed validationFix field names, types or ranges
429The GPU queue is fullWait for Retry-After, then retry
500Unexpected engine or server failureLog detail; retry only if it is safe
503Engine loading or generation is briefly unavailableHonor Retry-After
504A guarded transcription or generation timed outRetry once; shorten the work if it repeats

Retrying

Retry 429, retryable 503 and 504 with bounded exponential backoff. VoiceStudio may send:

Retry-After: 30
X-OmniVoice-Retryable: true

Don't retry 400, 401, 403 or 422 automatically. A 409 needs a model install or another explicit change first.

For dubbing and batch jobs, resume from the job's status after a dropped connection instead of uploading the media again.

On this page