xAI capacity is shared by a team and checked per model. Plan for request bursts and token throughput separately, then use measured usage and a bounded retry policy to keep work predictable.
How xAI limits work
xAI documents requests-per-second enforcement derived from the minute request budget, plus tokens-per-minute limits. A team cannot consume a full minute of requests in a single burst. Official documentation.
Smooth the admission of work across all workers that share the team and model. A throttle inside one web process cannot see the traffic created by another process, a notebook or a background job. Use a shared queue or limiter when they must respect the same capacity.
Budget the request before admitting it. The full assembled prompt and expected generated work matter more than the visible user message. Keep enough operational headroom for uneven arrival patterns and controlled retries, and measure how much queued work remains.

Limits by tier and model
| Model or scope | Tier | Metric | Limit | Notes | Source |
|---|---|---|---|---|---|
grok-4.20-0309-non-reasoninggrok-4.20-0309-non-reasoning | Tier 0 | RPM | 2,220 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-0309-non-reasoninggrok-4.20-0309-non-reasoning | Tier 0 | TPM | 10,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.20-0309-reasoninggrok-4.20-0309-reasoning | Tier 0 | RPM | 2,220 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-0309-reasoninggrok-4.20-0309-reasoning | Tier 0 | TPM | 10,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.20-multi-agent-0309grok-4.20-multi-agent-0309 | Tier 0 | RPM | 540 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-multi-agent-0309grok-4.20-multi-agent-0309 | Tier 0 | TPM | 2,500,000 | Published tokens per minute. | Official source ↗ |
grok-4.3grok-4.3 | Tier 0 | RPM | 2,220 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.3grok-4.3 | Tier 0 | TPM | 10,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.5grok-4.5 | Tier 0 | RPM | 9,000 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.5grok-4.5 | Tier 0 | TPM | 50,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.6grok-4.6 | Tier 0 | RPM | 9,000 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.6grok-4.6 | Tier 0 | TPM | 50,000,000 | Published tokens per minute. | Official source ↗ |
grok-build-0.1grok-build-0.1 | Tier 0 | RPM | 2,220 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-build-0.1grok-build-0.1 | Tier 0 | TPM | 10,000,000 | Published tokens per minute. | Official source ↗ |
grok-imagine-imagegrok-imagine-image | Tier 0 | RPM | 360 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-image-2.0grok-imagine-image-2.0 | Tier 0 | RPM | 360 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-image-qualitygrok-imagine-image-quality | Tier 0 | RPM | 360 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-videogrok-imagine-video | Tier 0 | RPM | 600 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-video-1.5grok-imagine-video-1.5 | Tier 0 | RPM | 600 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-0309-non-reasoninggrok-4.20-0309-non-reasoning | Tier 1 | RPM | 3,000 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-0309-non-reasoninggrok-4.20-0309-non-reasoning | Tier 1 | TPM | 15,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.20-0309-reasoninggrok-4.20-0309-reasoning | Tier 1 | RPM | 3,000 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-0309-reasoninggrok-4.20-0309-reasoning | Tier 1 | TPM | 15,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.20-multi-agent-0309grok-4.20-multi-agent-0309 | Tier 1 | RPM | 720 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-multi-agent-0309grok-4.20-multi-agent-0309 | Tier 1 | TPM | 3,700,000 | Published tokens per minute. | Official source ↗ |
grok-4.3grok-4.3 | Tier 1 | RPM | 3,000 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.3grok-4.3 | Tier 1 | TPM | 15,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.5grok-4.5 | Tier 1 | RPM | 10,320 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.5grok-4.5 | Tier 1 | TPM | 53,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.6grok-4.6 | Tier 1 | RPM | 10,320 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.6grok-4.6 | Tier 1 | TPM | 53,000,000 | Published tokens per minute. | Official source ↗ |
grok-build-0.1grok-build-0.1 | Tier 1 | RPM | 3,000 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-build-0.1grok-build-0.1 | Tier 1 | TPM | 15,000,000 | Published tokens per minute. | Official source ↗ |
grok-imagine-imagegrok-imagine-image | Tier 1 | RPM | 720 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-image-2.0grok-imagine-image-2.0 | Tier 1 | RPM | 720 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-image-qualitygrok-imagine-image-quality | Tier 1 | RPM | 720 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-videogrok-imagine-video | Tier 1 | RPM | 1,200 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-video-1.5grok-imagine-video-1.5 | Tier 1 | RPM | 1,200 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-0309-non-reasoninggrok-4.20-0309-non-reasoning | Tier 2 | RPM | 4,500 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-0309-non-reasoninggrok-4.20-0309-non-reasoning | Tier 2 | TPM | 25,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.20-0309-reasoninggrok-4.20-0309-reasoning | Tier 2 | RPM | 4,500 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-0309-reasoninggrok-4.20-0309-reasoning | Tier 2 | TPM | 25,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.20-multi-agent-0309grok-4.20-multi-agent-0309 | Tier 2 | RPM | 1,080 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-multi-agent-0309grok-4.20-multi-agent-0309 | Tier 2 | TPM | 6,200,000 | Published tokens per minute. | Official source ↗ |
grok-4.3grok-4.3 | Tier 2 | RPM | 4,500 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.3grok-4.3 | Tier 2 | TPM | 25,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.5grok-4.5 | Tier 2 | RPM | 12,480 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.5grok-4.5 | Tier 2 | TPM | 60,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.6grok-4.6 | Tier 2 | RPM | 12,480 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.6grok-4.6 | Tier 2 | TPM | 60,000,000 | Published tokens per minute. | Official source ↗ |
grok-build-0.1grok-build-0.1 | Tier 2 | RPM | 4,500 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-build-0.1grok-build-0.1 | Tier 2 | TPM | 25,000,000 | Published tokens per minute. | Official source ↗ |
grok-imagine-imagegrok-imagine-image | Tier 2 | RPM | 1,500 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-image-2.0grok-imagine-image-2.0 | Tier 2 | RPM | 1,500 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-image-qualitygrok-imagine-image-quality | Tier 2 | RPM | 1,500 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-videogrok-imagine-video | Tier 2 | RPM | 2,340 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-video-1.5grok-imagine-video-1.5 | Tier 2 | RPM | 2,340 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-0309-non-reasoninggrok-4.20-0309-non-reasoning | Tier 3 | RPM | 7,500 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-0309-non-reasoninggrok-4.20-0309-non-reasoning | Tier 3 | TPM | 45,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.20-0309-reasoninggrok-4.20-0309-reasoning | Tier 3 | RPM | 7,500 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-0309-reasoninggrok-4.20-0309-reasoning | Tier 3 | TPM | 45,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.20-multi-agent-0309grok-4.20-multi-agent-0309 | Tier 3 | RPM | 1,860 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-multi-agent-0309grok-4.20-multi-agent-0309 | Tier 3 | TPM | 11,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.3grok-4.3 | Tier 3 | RPM | 7,500 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.3grok-4.3 | Tier 3 | TPM | 45,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.5grok-4.5 | Tier 3 | RPM | 18,720 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.5grok-4.5 | Tier 3 | TPM | 74,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.6grok-4.6 | Tier 3 | RPM | 18,720 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.6grok-4.6 | Tier 3 | TPM | 74,000,000 | Published tokens per minute. | Official source ↗ |
grok-build-0.1grok-build-0.1 | Tier 3 | RPM | 7,500 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-build-0.1grok-build-0.1 | Tier 3 | TPM | 45,000,000 | Published tokens per minute. | Official source ↗ |
grok-imagine-imagegrok-imagine-image | Tier 3 | RPM | 3,000 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-image-2.0grok-imagine-image-2.0 | Tier 3 | RPM | 3,000 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-image-qualitygrok-imagine-image-quality | Tier 3 | RPM | 3,000 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-videogrok-imagine-video | Tier 3 | RPM | 4,740 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-video-1.5grok-imagine-video-1.5 | Tier 3 | RPM | 4,740 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-0309-non-reasoninggrok-4.20-0309-non-reasoning | Tier 4 | RPM | 12,480 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-0309-non-reasoninggrok-4.20-0309-non-reasoning | Tier 4 | TPM | 85,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.20-0309-reasoninggrok-4.20-0309-reasoning | Tier 4 | RPM | 12,480 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-0309-reasoninggrok-4.20-0309-reasoning | Tier 4 | TPM | 85,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.20-multi-agent-0309grok-4.20-multi-agent-0309 | Tier 4 | RPM | 3,360 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.20-multi-agent-0309grok-4.20-multi-agent-0309 | Tier 4 | TPM | 21,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.3grok-4.3 | Tier 4 | RPM | 12,480 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.3grok-4.3 | Tier 4 | TPM | 85,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.5grok-4.5 | Tier 4 | RPM | 30,000 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.5grok-4.5 | Tier 4 | TPM | 100,000,000 | Published tokens per minute. | Official source ↗ |
grok-4.6grok-4.6 | Tier 4 | RPM | 30,000 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-4.6grok-4.6 | Tier 4 | TPM | 100,000,000 | Published tokens per minute. | Official source ↗ |
grok-build-0.1grok-build-0.1 | Tier 4 | RPM | 12,480 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-build-0.1grok-build-0.1 | Tier 4 | TPM | 85,000,000 | Published tokens per minute. | Official source ↗ |
grok-imagine-imagegrok-imagine-image | Tier 4 | RPM | 6,000 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-image-2.0grok-imagine-image-2.0 | Tier 4 | RPM | 6,000 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-image-qualitygrok-imagine-image-quality | Tier 4 | RPM | 6,000 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-videogrok-imagine-video | Tier 4 | RPM | 9,480 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
grok-imagine-video-1.5grok-imagine-video-1.5 | Tier 4 | RPM | 9,480 | Normalized from published requests per second ×60; the per-second gate still applies. | Official source ↗ |
Last verified · Source ↗
The console shows the team’s current tier and model-specific settings. Public tables help explain the structure, but the selected team’s configuration is the reference for its own application. Official documentation.
Check the metric and window on each row. Text token throughput and media request capacity describe different resources. A missing value should be verified at the source before scheduling a workload that depends on it.
Keep the team, model identifier and observed timing with your operational logs. This makes a capacity report actionable: it can distinguish several simultaneous short calls from one large request, instead of attributing every delay to the provider’s general service status.
How to move up a tier
Text and embedding tiers are tied to cumulative qualifying spend and can advance automatically. Voice and Imagine capacity have a separate increase process. Use the current console or provider contact route for a workload that needs additional capacity. Official documentation.
Describe peak arrival rate, prompt shape, expected output, concurrency and acceptable queue time when requesting an increase. Include actual observations from a controlled run. A larger cap helps only when the application can manage its increased throughput and corresponding cost.
Review xAI pricing alongside the capacity request. Keep the application budget and queue controls even after approval so a programming error does not turn newly available throughput into unnecessary spending.
Reading limit headers and 429 responses
A rate rejection is reported as HTTP 429 on the REST interface. Retain any returned timing information and the actual diagnostic; do not assume header names copied from another compatible provider exist here. Official documentation.
All consumed token categories count toward xAI TPM, including cached prompt tokens and reasoning. Cache savings therefore do not imply equivalent token-throughput relief. Official documentation.
Store the first rejection before retrying. If the last attempt succeeds, you still need that earlier evidence to explain latency and tune scheduling. Distinguish the provider’s response from a proxy or client timeout.
Retry strategy the provider recommends
xAI’s limits guide recommends exponential backoff for rate errors. The native client also has automatic behavior for selected transport failures, so account for that layer before adding application retries. Official documentation.
The Python SDK documents retries for UNAVAILABLE and provides a channel option to disable them. Choose one coherent attempt budget rather than multiply independent retry loops. Official documentation.
Add jitter and an overall deadline suited to the task. If the deadline expires, stop scheduling retries, preserve the task state and show a clear next action. Do not repeatedly retry a malformed request, forbidden model or exhausted account funding.
Batch/async options that bypass limits
Batch is an asynchronous processing interface for eligible workloads. It has its own documented request and model constraints, so it should not be described as unrestricted capacity. Official documentation.
Separate offline evaluation work from interactive traffic. Persist each submitted job identifier and map returned results back to your own task identifiers. Make failure and cancellation states explicit, especially when a job contains more than one independent item.
A deferred completion can be accepted while its result is still queued. Acceptance is not proof of completed generation; wait for the documented result state before marking the application task finished. Official documentation.
The xAI errors guide explains the difference between rejected work and accepted work still waiting for its result.
Use the AI API cost calculator to turn the model and workload you are considering into an estimate.
Last verified · Source ↗
Frequently asked questions
Why am I limited despite staying below a minute request total?
Do cached tokens stop counting toward TPM?
Does a higher spending budget increase every media limit?
Should my retry code wrap native automatic retries?
Does accepted deferred work mean the answer is ready?
Sources
Last verified · Source ↗