API
API overview
Errors and limits

Errors and limits

Application errors return an error object:

json

{
  "error": {
    "message": "Human-readable description",
    "type": "invalid_request_error",
    "param": "input",
    "code": "unsupported_tags"
  }
}

Error types

TypeCondition
invalid_request_errorAuthentication, invalid input, or a missing resource
billing_errorInsufficient credit or a spending limit
rate_limit_errorRequest-per-minute or concurrency limit
server_errorServer response with status 500 or higher

Common error codes

CodeMeaning
invalid_api_keyKey is missing, invalid, expired, or revoked
invalid_languageLanguage is not supported
model_not_foundModel ID is unknown
unsupported_tagsInput contains an inline performance tag
transliteration_unavailableHTTP 503: enabled transliteration worker is unavailable
rate_limit_exceededRequests-per-minute limit was reached
concurrency_limit_exceededConcurrent request limit was reached
insufficient_creditsAccount balance cannot cover the request
spending_limit_exceededProject or key spending cap was reached

Pydantic field validation returns a detail array instead of the application envelope. Each item identifies the invalid location, value, and validation message.

Project limits

New projects default to 60 requests per minute and 4 concurrent requests. Project settings may override both values. Limit failures return HTTP 429 with rate_limit_error and the matching code.

Use x-request-id from a speech response when tracing a completed or partially completed request.

Return to the API overview