jev·agent
Get API access

Versions

Jev versions and changelog

Short, because Jev is four days old: one model has shipped. This page covers what jev-latest actually resolves to, why that distinction will matter to you later, and every dated change we can point at a source for.

Current model

Versioned id
jev-1.13.0
Context
64k tokens — The 64k budget covers the state plus every question in the request. A second, tighter 32k limit applies to the state plus the single longest question.
Rate limits
250,000 tokens per second and 1,200 requests per minute; either one over the line returns 429
Price
$0.042 per 1M input tokens. Free (no output tokens are generated)
Input
Text only — no image or audio input at launch
Training
Trained with RLCD for calibrated decisions. No per-account fine-tuning or LoRA — the same weights serve every account.

Aliases, and why they are a trap worth knowing about

AliasPoints toMeaning
jev-latestjev-1.13.0The most recent stable, official release. The default in the client SDKs and in the docs examples.
jev-previewjev-1.13.0The most recent release whether or not it is official. Moves ahead of jev-latest when a preview build exists — there is none right now.

Right now the distinction is academic — every route lands on the same weights. It stops being academic the first time TypeSafe ships 1.14. The response carries the versioned ID that actually answered, so you can log which weights produced each result. If you have tuned confidence thresholds against a version, send that version ID instead of an alias and move on your own schedule.

Use an alias when

You are prototyping, or your logic does not depend on a specific number holding. You want improvements for free.

Pin the version when

A threshold decides whether something reaches a human, ships to a customer, or gets blocked. Move deliberately, after measuring.

How to notice a change before it notices you

Two mechanisms, both worth wiring in on day one. The response reports which versioned model actually answered, so log it next to every decision you store:

python
response = client.system_one(model="jev-latest", state=..., questions=...)
log.info("decision", model=response.model, answer=response.answers["intent"].choice)
# When an alias moves, this field changes before your metrics do.

And the list endpoint reports what your account can address, with a release date per entry:

bash
curl https://api.typesafe.ai/v1/models \
  -H "Authorization: Bearer $TYPESAFE_API_KEY"

It currently returns the aliases. Versioned ids such as jev-1.13.0 are accepted by the model field whether or not they appear in the list — the same “live but unlisted” pattern that makes Jev invisible in gateway catalogues.

Timeline

Jev comes out of stealth

TypeSafe AI publishes the System One launch post introducing Jev, alongside a $40M seed round led by DCVC. Doom and Wikiracing ship as the demos.

TypeSafe launch post

jev-1.13 jaggedness page reviewed

TypeSafe publishes and dates a page of nine documented failure modes for jev-1.13 — literal reading, counting, dates, indirection, context rot, adversarial state, and more. The most useful page they publish.

Official jaggedness page

Serving build jev-1.13-20260917

The build tag reported by OpenRouter's provider readout carries this date, which is the closest thing to a public build stamp the model has.

OpenRouter endpoints API

Listed on OpenRouter

The typesafe/jev-1.13 listing is created at 00:01 UTC at $0.042/M input and $0 output — and immediately fails to appear in the default model catalogue, because its modality is text->decisions.

Jev on OpenRouter

Still one model, one version

Both aliases resolve to jev-1.13.0 and there is no preview build. Rate limits are documented as dynamic and subject to change without notice while TypeSafe absorbs launch demand.

Official models reference

Last verified 2026-09-19 against the official models reference and OpenRouter's provider API. See sources for how this site is maintained.