Scaling, Quotas & Capacity Planning

Long-Context Requests Consume TPM Disproportionately Fast

The 1M-token context window is a genuine capability leap — and a quota trap. One giant request can spend what would otherwise serve hundreds of ordinary ones.

Claude 3P 101 · Updated July 2026 · Unofficial guide

Claude Fable 5, Opus 4.8 and 4.7, Sonnet 5, and several earlier models offer a 1M-token context window by default on all four platforms — no beta header, and on the Claude API no long-context price premium either. But rate limits are denominated in tokens per minute, and a rate limit does not care whether a million tokens arrive as one request or as five hundred. Everything in a request counts toward the window and the meter: system prompt, every message, tool definitions, documents, and the generated output.

The arithmetic is brutal

Consider the Claude API's documented Start-tier limit of 2,000,000 input tokens per minute for the Opus and Sonnet 5 classes (a published figure, subject to change). A single request carrying a 900k-token context consumes 45% of that minute's entire input budget. Two such requests in the same minute and the organization is effectively done — a third long request, or a burst of ordinary chat traffic sharing the same per-model limit, gets a 429. The same 2M ITPM serves a thousand 2,000-token requests. One workload shape is a firehose; the other is a garden sprinkler; the quota system sees only tokens.

This is why long-context work deserves its own line in capacity planning rather than being averaged into overall traffic. An "average request size" of 10,000 tokens that is really 990 requests at 2,000 tokens plus 10 requests at 800,000 tokens will produce rate-limit behavior no average predicts.

Platform mechanics that make it sharper

Bedrock's current surface reserves before it runs. On the bedrock-mantle endpoint, admission control reserves your input tokens plus your requested max_tokens against the input-TPM quota when the request is admitted, returning the unused portion only after completion. A 900k-token request with a 64k max_tokens therefore locks up nearly a million tokens of quota for its entire (long) processing time. On the Claude API, by contrast, max_tokens has no rate-limit cost — output counts only as it is actually generated.

Vertex AI prices long context differently. Google's pricing page states that when a query's input context is 200K tokens or longer, all tokens — input and output — are charged at long-context rates. On the Claude API the full 1M window is billed at standard per-token rates (a 900k-token request bills at the same rate as a 9k one). Never carry the "1M at standard pricing" assumption from the Claude API to Vertex.

Long outputs hit their own ceiling. Big-context requests often produce big answers, and output tokens per minute (OTPM) limits are far smaller than input limits — 400K OTPM against 2M ITPM at the Claude API's Start tier. A long-context summarization job can be OTPM-bound even while input quota sits idle.

Strategies for scheduling the giants

Route them to batch. If the 900k-token analysis doesn't need an answer in seconds, the Message Batches API (Claude API and Claude Platform on AWS) processes it at a 50% discount from a completely separate rate-limit pool, leaving real-time quota untouched. Bedrock and Vertex have their own cloud-native batch mechanisms at 50% of on-demand pricing — see batch as a capacity relief valve.

Cache the big prefix. If the same 900k-token corpus is queried repeatedly, prompt caching converts it from a per-request quota expense into a one-time cache write: on the Claude API and bedrock-mantle, cache-read tokens do not count against input-TPM limits. Details in the caching-throughput article.

Isolate them administratively. On the Claude API, put long-context jobs in their own workspace with custom limits below the organization ceiling, so a burst of giant requests throttles itself instead of starving production chat traffic.

Shrink what you resend. Server-side compaction and context editing trim conversations that grow toward the window, and are often cheaper than shipping the full history every turn.

Rule of thumb: treat any request over ~100K tokens as a scheduled event, not ambient traffic. Count the fleet of small requests and the giants against the same per-model TPM figure, minute by minute, and see whether they can coexist at peak.

Where to go next

Start with which limit binds first for the underlying arithmetic, and long-context strategies for the application-design side.

Sources