/api_keys/rate_limits endpoint returns the current limits for each model on your key:
View Your Limits
Interactive playground
Rate Limit Logs
See which requests hit limits
Limits by Model Type
Text, Embedding, and Image Models
Text, embedding, and image models (including upscale and inpaint) each have their own limits. In the/api_keys/rate_limits response, data.rateLimits has one entry per model, and each entry’s rateLimits lists an amount for each limit type: RPM (requests per minute), TPM (tokens per minute), or RPD (requests per day). To check a single model:
x-ratelimit-* response headers.
Speech and Transcription Models
Every speech and transcription model allows 60 requests per minute, or 120 on a Partner key.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.
Partner Tier
Partner keys have their own limits for each model. CallGET /api_keys/rate_limits with a Partner key to see them.
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.