Jev Rate Limits: Requests, Tokens and Free-Tier Throttles
Last checked · Independent guide, not affiliated with TypeSafe AI
On TypeSafe's API, Jev 1.13 is limited to 1,200 requests per minute and 250,000 tokens per second, and TypeSafe says those limits are being adjusted dynamically during early access. Vercel AI Gateway's free tier is much stricter. Going over returns HTTP 429; the fix is backoff plus packing more questions into each request.
The limits by channel (September 19, 2026)
Section titled “The limits by channel (September 19, 2026)”| Channel | Requests | Tokens | Notes |
|---|---|---|---|
| TypeSafe API | 1,200 per minute | 250,000 per second | Per TypeSafe’s model page; “adjusting dynamically” and may change without notice; higher limits on custom and enterprise plans |
| Vercel AI Gateway, free tier | Lower per-model limits (numbers not published) | — | In our testing, a handful of Jev requests at a time, then a pause |
| Vercel AI Gateway, paid tier | Higher limits; custom limits available | — | Buying credits moves you here and ends the monthly free credit |
| OpenRouter | OpenRouter’s account limits | — | Documented 429 “Rate limit exceeded”; not tested by us |
| Cloudflare Workers AI | Not published for Jev | — | Not tested by us |
What the TypeSafe limits mean in practice
Section titled “What the TypeSafe limits mean in practice”- 1,200 requests per minute is 20 per second. A single-threaded loop that waits for each 300 ms response only reaches about 3 per second, so you would need several parallel workers to get near the ceiling.
- 250,000 tokens per second is rarely the binding limit for short inputs: 20 requests a second at 450 tokens is 9,000 tokens a second. It matters for long documents: 20 requests a second at 30,000 tokens each would be 600,000 tokens a second, over the limit.
- The limits are not fixed yet. TypeSafe’s docs say plainly that they are adjusting limits while serving launch demand and adding GPU capacity. Build in retries rather than tuning to exact numbers.
What we measured
Section titled “What we measured”On TypeSafe’s API we ran 145 questions one after another in 81 seconds, and later dozens of smaller tests, without a single 429. Responses carried no rate-limit headers, so there is no remaining-quota counter to read.
On Vercel’s free tier the experience was the opposite: a 131-question batch took about 90 minutes because requests were throttled after every few calls. If you plan a batch job on Vercel, either space requests out or move to the paid tier deliberately.
Staying under the limits
Section titled “Staying under the limits”Put many questions in one request. This is the biggest lever. Jev evaluates every question in a request in parallel against the same state, and the state is only sent once. In our test, 20 yes/no questions in one call took 332 ms, the same as one question, and used 559 input tokens instead of about 20 × 290. TypeSafe calls this speculative fan-out and recommends including questions you may not need, since unused answers cost only a few tokens.
Bound your concurrency. Use a worker pool rather than firing every request at once. Five to ten concurrent requests covers most workloads without approaching 1,200 a minute.
Let the SDK retry. The official Python and JavaScript SDKs retry 429s and 5xx responses twice after the first attempt, with backoff from 0.5 to 5 seconds, and honor Retry-After headers. If you use raw HTTP, copy the pattern from 429 Too Many Requests.
Trim long states. Sending only the relevant part of a document lowers your token rate and, according to TypeSafe, improves accuracy. See max_tokens_exceeded.
Planning for production
Section titled “Planning for production”- Treat the published limits as a ceiling that could move during early access.
- Monitor 429 and 529 rates separately: 429 means you are too fast; 529 means TypeSafe is overloaded. See 529 Overloaded.
- For guaranteed throughput, TypeSafe’s docs point to custom and enterprise plans ([email protected]).
Related: Jev pricing, Is Jev down?, Jev channels compared.