Jev API
Jev API — no waitlist, instant access
TypeSafe's System One model. Send program state + typed questions, get back structured decisions in 70–500ms. Not text generation — typed, probabilistic answers you can branch on in code.
What is the Jev API?
Jev is a frontier System One model from TypeSafe AI, announced September 15, 2026. Built by Diogo Almeida (co-inventor of RLHF and InstructGPT at OpenAI), backed by $40M led by DCVC.
Unlike LLMs that generate text token-by-token, Jev evaluates your program state against a map of typed questions and returns structured answers — one per question — in a single parallel pass. That means:
| Jev | Frontier LLMs | |
|---|---|---|
| End-to-end latency | 70ms – 500ms | 3s – 329s |
| Input price | $0.042 / M tok | $0.20 – $10 / M tok |
| Output price | free | ~5× input |
| Structured-output errors | 0% (by construction) | 0.58% – 45.5% |
Source: TypeSafe AI & independent benchmarks. Jev is available in early access — you need a waitlisted API key. You can also access it through OpenRouter, Vercel AI Gateway, Netlify AI Gateway, and AIMLAPI.
The endpoint
One endpoint. Three question types. That's the entire API surface.
<API_KEY>Content-Type:
application/json
# Install: pip install requests import requests url = "https://tokenra.io/v1/decisions" headers = { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json" } payload = { "model": "jev-latest", "state": "Help! My payouts have been failing for 3 days.", "questions": { "is_urgent": { "type": "noul", "instructions": "Does this message convey urgency?", "criteria": { "true": "Explicitly time-sensitive", "false": "No urgency expressed" } }, "department": { "type": "choice", "instructions": "Which team should handle this?", "criteria": { "billing": "Payments, invoicing, refunds", "technical": "Bugs, outages, integrations", "sales": "Pricing, upgrades, new accounts" } }, "frustration": { "type": "score", "instructions": "How frustrated is the customer?", "criteria": ["Calm", "Frustrated", "Very angry"] } } } response = requests.post(url, json=payload, headers=headers) result = response.json() print(result["answers"]["department"]["choice"]) # "billing" print(result["answers"]["is_urgent"]["noul"]) # 0.92 print(result["answers"]["frustration"]["score"]) # 1.6
// Using fetch API const url = "https://tokenra.io/v1/decisions"; const response = await fetch(url, { method: "POST", headers: { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json" }, body: JSON.stringify({ model: "jev-latest", state: "Help! My payouts have been failing for 3 days.", questions: { is_urgent: { type: "noul", instructions: "Does this message convey urgency?", criteria: { "true": "Explicitly time-sensitive", "false": "No urgency expressed" } }, department: { type: "choice", instructions: "Which team should handle this?", criteria: { billing: "Payments, invoicing, refunds", technical: "Bugs, outages, integrations", sales: "Pricing, upgrades, new accounts" } }, frustration: { type: "score", instructions: "How frustrated is the customer?", criteria: ["Calm", "Frustrated", "Very angry"] } } }) }); const result = await response.json(); console.log(result.answers.department.choice); // "billing" console.log(result.answers.is_urgent.noul); // 0.92 console.log(result.answers.frustration.score); // 1.6
The three primitives
The entire API is three question types. That's not a limitation — it's the design.
Choice
Picks one option from a set you define. Returns the chosen option, full probability distribution over all options, and confidence. Up to 255 options.
Score
Rates state along an ordered rubric (2–10 levels). Returns a probability-weighted position that can land between levels, plus per-level probabilities and confidence.
Noul
Yes/no as a probability. Returns a number from 0 (no) to 1 (yes). No separate confidence field — the number is the belief.
Patterns that change your architecture
Confidence-gated routing
Jev is trained with RLCD (Reinforcement Learning for Calibrated Decisions), so confidence is meaningful in aggregate: higher confidence = higher accuracy. Set different thresholds per action based on what being wrong costs.
action = response.answers["intent"] if action.confidence < 0.5: route_to_human(user_message) # genuinely unsure elif action.choice == "check_balance": show_balance(account_id) # read-only, low bar elif action.choice == "approve_transfer": if action.confidence > 0.85: # moves money, high bar approve_transfer(account_id) else: ask_user_to_confirm("Approve this transfer?")
Speculative fan-out
Questions are evaluated in parallel — a tenth question costs tokens but almost zero extra time. Ask everything up front and let code decide what mattered. TypeSafe's cookbook: 13-question batching is 12.2× cheaper and 10.0× faster than asking one at a time, with identical answers.
SDKs & integrations
How to get an API key
Get your API key at tokenra.io. Once you have your key, export it:
export TYPESAFE_API_KEY="sk-..."
You can also access Jev through OpenRouter, Vercel AI Gateway, Netlify AI Gateway, or AIMLAPI — all listed above.
Frequently asked questions
How do I get a Jev API key?
Get your API key at
tokenra.io,
then export it as TYPESAFE_API_KEY. Tokenra provides immediate access
to Jev API without waitlist.
You can also access Jev through OpenRouter, Vercel AI Gateway, Netlify AI Gateway, and AIMLAPI — those keys work today as well.
Is the Jev API free?
No, but output tokens are. Input is $0.042 per million tokens and output is billed at $0 — Jev returns typed decisions rather than generated text, so there is no output token stream to charge for.
In practice that means a typical classification or routing call costs a small fraction of a cent. Gateway resellers may add their own margin, so check their pricing page for the exact rate.
What's the Jev API endpoint?
A single endpoint: POST https://tokenra.io/v1/decisions. Authenticate with
Authorization: Bearer <API_KEY> and send
Content-Type: application/json.
The body carries your program state plus a questions map built from the
three primitives — Choice, Score, and Noul. All questions are evaluated in one parallel pass and
come back as one typed answer each. That's the entire API surface.
Jev API vs OpenAI API — which is faster?
Jev, for decision workloads. It answers in 70–500ms end to end, against 3s–329s for frontier LLMs on comparable structured tasks, because it scores a fixed set of typed options in a single pass instead of generating text token by token.
That advantage only applies to decisions. Jev cannot write prose, summarize, or call tools — if you need generated text, you still want an LLM. The common pattern is both: Jev on the hot path for routing, classification, and gating, an LLM behind it for the work that needs language.
More resources
Jev API docs — the full guide on this site: authentication, pricing per 1M tokens, and a copy‑paste request example.
Jev API Key guide — get, configure, verify, and rotate your key securely.
Official API reference — full HTTP spec, request/response shapes, error codes, rate limits.
TypeSafe Documentation — concepts, foundations, patterns, demos, cookbooks.
Introducing System One Models & Jev — the official launch post.