Skip to main content
Rate limits vary by model and tier. The default limits below are a useful reference, but the /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. Handle 429 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, the x-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 return 429. 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 the x-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.

Partner Tier

Partner limits are listed alongside the defaults in the tables above. If you’re consistently hitting your rate limits and your usage patterns show sustained demand over time, reach out to discuss partner access: [email protected]. Partner tier limits can be adjusted based on your specific needs.