> ## Documentation Index
> Fetch the complete documentation index at: https://veniceai-mintlify-ce69695c.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate Limits

> Venice API rate limits by tier, the headers that expose capacity, and handling 429s.

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:

<CardGroup cols={2}>
  <Card title="View Your Limits" icon="gauge" href="/api-reference/endpoint/api_keys/rate_limits?playground=open">
    Interactive playground
  </Card>

  <Card title="Rate Limit Logs" icon="history" href="/api-reference/endpoint/api_keys/rate_limit_logs?playground=open">
    See which requests hit limits
  </Card>
</CardGroup>

```bash theme={null}
curl https://api.venice.ai/api/v1/api_keys/rate_limits \
  -H "Authorization: Bearer $VENICE_API_KEY"
```

## Default Limits

### Text and Embedding Models

Text and embedding models are grouped into four sizes. Each model card on the [Models page](/models/text) displays its size badge. Every embedding model is XS.

| Size | Requests/min | Tokens/min | Partner requests/min | Partner tokens/min |
| :- | -: | -: | -: | -: |
| XS | 500 | 5,000,000 | 500 | 10,000,000 |
| S | 150 | 3,000,000 | 300 | 6,000,000 |
| M | 100 | 2,000,000 | 200 | 4,000,000 |
| L | 100 | 2,000,000 | 150 | 3,000,000 |

<Note>
  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`](/api-reference/endpoint/api_keys/rate_limits) for the authoritative per-model limits on your key.
</Note>

### Image and Audio Models

| Type | Requests/min | Partner requests/min |
| :- | -: | -: |
| Image, upscale, inpaint | 20 | 60 |
| Speech and transcription | 60 | 120 |

### Video and Music Models

Video, music, and voice-changer jobs are not rate limited. They are billed per generation against your credit balance, so cost rather than a request ceiling is the practical constraint. Price a job first with [`POST /video/quote`](/api-reference/endpoint/video/quote), [`POST /audio/quote`](/api-reference/endpoint/audio/quote), or [`POST /audio/voice-changer/quote`](/api-reference/endpoint/audio/voice-changer/quote).

## Handling Errors

Failed requests (500, 503, 429) should be retried with exponential backoff.

For 429 errors specifically, check the `x-ratelimit-reset-requests` header for the exact Unix timestamp when you can retry. Most HTTP libraries have built-in retry mechanisms that handle this automatically.

### Error Budgets

Two further limits protect the API against clients that retry into a wall. Both are counted per model per API key over a rolling 30 seconds, and both return `429`:

| Budget | Threshold | Applies to |
| :- | -: | :- |
| Failed requests | 50 per 30s | All endpoints |
| Unsupported feature requests | 200 per 30s | `/chat/completions`, `/responses` |

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](/api-reference/endpoint/api_keys/rate_limit_logs) as `FAILED_REQUESTS` or `UNSUPPORTED_FEATURE_REQUESTS`.

Both return a `customMessage` naming the threshold that tripped:

```
Too many failed attempts (> 50) resulting in a non-success status code. Please wait 30 seconds and try again. See https://docs.venice.ai/api-reference/rate-limiting for more information.
```

These responses set `x-ratelimit-remaining` and `x-ratelimit-resets` instead of the per-window headers below.

## Response Headers

Every response includes these headers:

| Header | Description |
| :- | :- |
| `x-ratelimit-limit-requests` | Max requests allowed in current window |
| `x-ratelimit-remaining-requests` | Requests remaining in current window |
| `x-ratelimit-reset-requests` | Unix timestamp when window resets |
| `x-ratelimit-limit-tokens` | Max tokens allowed per minute |
| `x-ratelimit-remaining-tokens` | Tokens remaining in current minute |
| `x-ratelimit-reset-tokens` | Seconds until token limit resets |

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. See [Crypto RPC](/api-reference/endpoint/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: [api@venice.ai](mailto:api@venice.ai).

Partner tier limits can be adjusted based on your specific needs.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.