Limits and cost

Jev pricing, rate limits and context window

TypeSafe prices Jev at $0.042 per million input tokens, which is $42 per billion, and output tokens are free. A request may carry 64k tokens, of which the state plus the longest question may use 32k. Rate limits are 250,000 tokens per second and 1,200 requests per minute. The current model is jev-1.13.0, with jev-latest and jev-preview both pointing to it. TypeSafe itself says it cannot prove the price is unsubsidised, so compute any saving at today's price and plan for it to change.

Published September 22, 2026. Editorial.

Key takeaways

  • The price is $0.042 per million input tokens with output free, so a 10,000-token request costs $0.00042 and a million of them cost $420.
  • A request is capped at 64k tokens and the state plus the longest question at 32k, so select what the decision needs rather than truncating a long document.
  • Rate limits are 250,000 tokens per second and 1,200 requests per minute, which favours fewer, larger requests with several questions each.
  • TypeSafe told MarkTechPost it cannot prove the price is unsubsidised, so a cost model built on today's price should carry a line for the price going up.
  • Reveneau pins a model version for its eval grader and re-checks thresholds before moving, because the jev-latest alias moves without notice.

The pricing page for Jev fits on one line, which is unusual enough to be worth a full page of explanation. This page gives the price, the limits, the model versions, the error codes and the SDKs from TypeSafe's documentation, then works a cost example with the arithmetic shown, and ends with the one caveat that TypeSafe itself puts on the price.

The price

TypeSafe charges $0.042 per million input tokens. Output tokens are free [1]. Written per billion, that is $42, which is the figure TypeSafe uses in some places.

Output is free because there is nothing to generate. A System One model returns probabilities over answers you defined, and reading those out costs no output tokens. So the whole bill is the input: the state, which is the text you send, plus the questions. For most requests the state is almost all of it, which is why many questions in one call is the pattern that matters for cost.

A worked example, with the arithmetic

Take a request whose state is 10,000 tokens, with a few questions adding 100 tokens. That is 10,100 input tokens. At $0.042 per million, the cost is 10,100 divided by 1,000,000, multiplied by $0.042, which is $0.0004242. Call it $0.00042 per request.

Scale it. One thousand such requests cost $0.42. One million cost $424.20. Ten million cost $4,242. Those are the numbers for a 10,000-token state, and a state that is a tenth of the size costs a tenth as much, so a 1,000-token support ticket with the same questions costs $0.0000462 per request and $46.20 per million.

Compare that with the shape of a language model bill, where output tokens are priced and a decision written out as a sentence plus a JSON object might run to 100 output tokens per request. We will not put a competitor's price next to Jev's here, because the fact sheet this page is written from does not carry one and prices change. TypeSafe's own comparison, reported by MarkTechPost, has Jev finishing a workflow decision for $0.000081 against $0.013880 for GPT-5.6 Terra [2], which TypeSafe reports as 444.6 times cheaper. TypeSafe's own team wrote the workflows, so that is a best case for Jev. Run the sum on your own state lengths and your own language model's rate card, and the ratio you get will be the one that matters.

The caveat TypeSafe puts on its own price

MarkTechPost reported on 19 September 2026 that TypeSafe says it cannot prove the price is unsubsidised [2]. Read that plainly: the company is telling you that it does not know whether $0.042 per million covers its cost of serving the model. A launch price for a model whose architecture is undisclosed may go up.

What that means for a cost model is one extra line. Compute the saving at today's price, then compute it again at two, five and ten times the price, and see at which multiple the decision changes. If Jev is 444.6 times cheaper on your workload, a tenfold price rise still leaves it 44 times cheaper, and the decision holds. If the saving is thin, it will not survive a price change, and you should know that before you build on it.

Context window and state limit

A request may carry 64k tokens. Of that, the state plus the longest question may use 32k [1]. A token is a piece of a word, and TypeSafe's own cookbook fits the 53,777-character Wikipedia article on the GDPR in a single request [3], so a long document fits. A codebase does not, a day of logs does not, and a full contract may not.

When something does not fit, select rather than truncate. TypeSafe's jaggedness page states that accuracy falls as the state grows with content unrelated to the decision [4], so a state that fills the limit with everything on hand is worse than a state that carries only what the question needs, even before the limit is reached. How to write the state and the questions covers the selection.

Rate limits

Two limits apply: 250,000 tokens per second and 1,200 requests per minute [1]. The second is 20 requests per second. Which one you hit first depends on your state length. At 10,000 tokens per request, 20 requests per second is 200,000 tokens per second, just under the token cap, so both limits bind at close to the same point. At 1,000 tokens per request, the request cap binds first and the token cap is far away. At 30,000 tokens per request, the token cap binds at 8 requests per second and the request cap is never reached.

Both limits favour the same shape: fewer requests carrying more questions. A service that fans its questions out into separate requests reaches the per-minute cap several times sooner for no gain, because TypeSafe evaluates every question in a request in parallel [5].

Model versions and aliases

The current model is jev-1.13.0, released 15 September 2026. Two aliases, jev-latest and jev-preview, both point to it [1]. TypeSafe's batching cookbook was measured on jev-1.12 [3], so a version before the current one existed and was used for published figures.

An alias is convenient and it is a risk for any decision with a tight threshold. When a new version is released, the alias moves, and the calibration curve for your question can move with it. Reveneau pins the model version for the grader in its eval suite and re-checks thresholds against stored labels before moving to a new version, because a grader whose threshold silently shifted would pass or fail changes for a reason nobody chose. Calibrated probabilities and confidence, explained has the re-check method.

The endpoint, the errors and the backoff

The API is a single endpoint: POST https://api.typesafe.ai/v1/systemone, authenticated with a bearer key [6]. Four error codes are documented. A 401 means the key is invalid. A 422 is a validation error, which is the request being malformed: a question of the wrong shape, a state over the limit, an option list over 255. A 429 is the rate limit. A 529 means "TypeSafe is temporarily overloaded" [6].

For 429 and 529 the docs say to use exponential backoff [6]: wait, retry, and double the wait on each failure, with a cap. Two details matter for a decision model specifically. First, a request is a pure function of its input, and TypeSafe reports that answers do not depend on what else is in the request [3], so a retry is safe and returns the same answer. Second, if the decision is on a path where a user is waiting, the backoff needs a ceiling after which code takes the safe default rather than waiting longer. TypeSafe's confidence docs describe falling back "to a different system" as one response to low confidence [7], and the same fallback applies to no answer at all. Jev in production covers the fallback design.

The SDKs

TypeSafe publishes two SDKs. The Python package is typesafe-sdk and needs Python 3.10 or newer. The JavaScript package is @typesafe-ai/sdk and needs Node 20 or newer. Both read the key from the TYPESAFE_API_KEY environment variable [8]. Both are thin wrappers over the one endpoint, so a team on another language can call the endpoint directly with any HTTP client.

For a decision model, the SDK is the least interesting part of the integration. The work is in the request shape, the thresholds and the fallback, and none of those live in the SDK.

Putting the numbers together

Here is the shape of a cost estimate for a real feature. Suppose a support product handles 200,000 tickets a month, each ticket is 1,500 tokens, and each ticket gets one request with four questions totalling 80 tokens. That is 1,580 tokens per request, 316,000,000 tokens a month, and at $0.042 per million, $13.27 a month. At ten times the price, $132.72. At 200,000 requests a month the rate limit is never close: that is 4.6 requests a minute on average against a cap of 1,200. The estimate takes five minutes, and it tells you the feature's model cost is small at any plausible price, so the engineering time is the only cost worth planning around.

Reveneau runs a similar sum for its eval suite. Every change goes through a suite written from the specification, and the checks that need a judgment go to Jev as one request per change, with the criteria, the diff and the plan as the state. On our own suite the run is ten times faster than it was with the previous grader. We do not publish what it costs, because we have not measured it in a way we could show the working for, and the speed is the figure we can stand behind. How Reveneau uses Jev describes the setup, and the pillar, Jev and System One models, covers the rest of the model. For the general question of what an AI feature costs to build, what it costs to build an AI product is the guide.

Best for

  • Workloads where the state is short and the volume is high, since the bill is input tokens only
  • Teams that will run the cost sum at today's price and again at a multiple of it before building
  • Services that batch several questions per request, which both the token and the request cap reward

Avoid if

  • Do not build a cost case that only holds at the launch price, because TypeSafe says it cannot prove the price is unsubsidised
  • Do not use the jev-latest alias for a grader or a gate with a tight threshold
  • Do not send a state that fills the 32k limit with content the decision does not need

Check before you decide

  • Confirm your per-request cost from your own state length: tokens divided by a million, times $0.042
  • Confirm which rate limit binds first for your state length, tokens per second or requests per minute
  • Confirm the backoff on 429 and 529 has a ceiling after which code takes the safe default

Common questions

What does Jev cost per request?

Input tokens divided by a million, multiplied by $0.042, with output free. A 10,100-token request costs $0.0004242; a 1,000-token ticket with 80 tokens of questions costs $0.0000454. Over a million requests those are $424.20 and $45.36. The state is almost all of the input, so the state length is the number to measure before estimating, and adding questions changes the cost by a few tokens each.

Why are output tokens free?

Because a System One model generates nothing. It returns probabilities over answers you defined in the request, and reading those out involves no generated tokens. That is a property of the model type rather than a promotional choice, and it is why TypeSafe's bill is input only. It also means a language model comparison should include that model's output price for the written-out decision and its JSON.

Is the price going to stay at $0.042?

TypeSafe told MarkTechPost on 19 September 2026 that it cannot prove the price is unsubsidised, which means the company does not claim the launch price covers its serving cost. Build the cost case at today's price and again at two, five and ten times it. If the saving is large, such as the 444.6 times TypeSafe reports on its own workflows, the decision survives a tenfold rise; if the saving is thin, it will not.

What are the context limits?

A request may carry 64k tokens, and the state plus the longest question may use 32k, according to TypeSafe's models page. TypeSafe's cookbook fits the 53,777-character Wikipedia GDPR article in one request. When a document does not fit, select the parts the decision needs rather than truncating, because TypeSafe documents that accuracy falls as the state grows with unrelated content, well before the limit is reached.

What are the rate limits and which one binds first?

250,000 tokens per second and 1,200 requests per minute, which is 20 per second. At 10,000 tokens per request both caps bind at close to the same point. At 1,000 tokens per request the request cap binds first. At 30,000 tokens per request the token cap binds at 8 requests per second. Both caps reward fewer requests carrying more questions, since every question in a request is evaluated in parallel.

Which model version should a team use?

The current model is jev-1.13.0, released 15 September 2026, and the aliases jev-latest and jev-preview both point to it. Pin the version for any decision with a tight threshold, because an alias moves when a new version is released and the calibration curve can move with it. Reveneau pins the grader version in its eval suite and re-checks thresholds against stored labels before moving.

What do the error codes mean?

Four are documented on TypeSafe's API page. A 401 is an invalid key. A 422 is a validation error, meaning the request is malformed: a state over the limit, a Choice with more than 255 options, a question of the wrong shape. A 429 is the rate limit. A 529 means TypeSafe is temporarily overloaded. For 429 and 529 the docs say to use exponential backoff: wait, retry, and double the wait each time, with a cap.

Is it safe to retry a request?

Yes. A request is a pure function of its input, and TypeSafe's cookbook reports that answers do not depend on what else is in the request, with a standard deviation of 0.0 across five repeats for 11 of 13 questions. A retry returns the same answer. The design question is the ceiling: on a path where a user is waiting, code should stop retrying after a set time and take the safe default, which TypeSafe's confidence docs describe as falling back to a different system.

Which SDKs exist?

Two, per TypeSafe's SDK page: typesafe-sdk for Python 3.10 or newer, and @typesafe-ai/sdk for Node 20 or newer, both reading the key from the TYPESAFE_API_KEY environment variable. Both wrap the single endpoint, POST https://api.typesafe.ai/v1/systemone with a bearer key, so a team on another language can call it with any HTTP client. The request shape, thresholds and fallback are where the work is.

How do you estimate the monthly cost of a feature?

Multiply requests per month by tokens per request, divide by a million, multiply by $0.042. A support product with 200,000 tickets a month at 1,580 tokens each sends 316,000,000 tokens and pays $13.27; at ten times the price, $132.72. Then check the rate limit: 200,000 requests a month is 4.6 a minute against a cap of 1,200. If both numbers are small, the engineering time is the cost to plan around.

What does Reveneau's grader cost?

We do not publish it. Reveneau grades the judgment checks in its eval suite with one Jev request per change and has measured that the suite runs ten times faster than with the previous grader, on our own suite against our previous grader. We have not measured the cost in a way we could show the working for, so the speed is the figure we state and the cost is one we leave out.