/api_keys/rate_limits API endpoint is the canonical way to fetch your current limits. You can check your exact limits anytime:
View Your Limits
Interactive playground
Rate Limit Logs
See which requests hit limits
Default Limits
Text and Embedding Models
Text and embedding models are grouped into four sizes. Every embedding model is XS.Some models run on dedicated or third-party infrastructure and carry limits that do not map to these four sizes. Call
GET /api_keys/rate_limits for the authoritative per-model limits on your key.Image and Audio Models
Video and Music Models
Video, music, and voice-changer queue and retrieve requests are subject to per-account request limits. Handle429 responses with backoff, and poll retrieve endpoints at a modest interval rather than in a tight loop. Jobs are billed per generation against your credit balance, so price a job first with POST /video/quote, POST /audio/quote, or POST /audio/voice-changer/quote.
Handling Errors
Failed requests (500, 503, 429) should be retried with exponential backoff. For 429 errors on inference endpoints, thex-ratelimit-reset-requests header gives the latest time, as a Unix timestamp in milliseconds, by which the request window has fully cleared. Waiting until then is always safe; retrying earlier may also succeed.
Error Budgets
Two further limits protect the API against clients that retry into a wall. Both are counted per model per API key, and both return429. Failed requests are counted in fixed 30-second windows:
The second budget counts requests that ask a model for a feature it does not support — for example requesting vision or tool calling from a model without that capability. Exceeding either budget appears in rate limit logs as
FAILED_REQUESTS or UNSUPPORTED_FEATURE_REQUESTS.
The response body’s error field names the threshold that tripped. For the failed-request budget it reads:
Response Headers
Inference responses (chat completions, responses, image, audio, and embeddings) include these headers. They are not sent on models, API key, billing, or x402 routes, and the same applies to thex-venice-balance-* headers.
The failed-request budget has its own headers, sent on every response to a request made with an API key, including
401 responses:
The
/crypto/rpc/{network} endpoint uses its own limits and its own X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers, which are set only on 429 responses. Unlike the millisecond headers above, X-RateLimit-Reset is a Unix timestamp in seconds. See Crypto RPC for details.