Jev API

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.

Latency 70–500ms Price $0.042 / M tok Output free 0% structured-output errors

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:

JevFrontier 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.

POSThttps://api.typesafe.ai/v1/systemone
Authorization: Bearer <API_KEY>
Content-Type: application/json
Python — Quick Start
# Install: pip install typesafe-sdk
from typesafe_sdk import Choice, Noul, Score, TypeSafeClient

client = TypeSafeClient()

response = client.system_one(
    state="I was charged twice for order A-104. Please refund.",
    questions={
        "department": Choice(
            instructions="Which team should handle this?",
            criteria={
                "billing": "Payment or subscription issues",
                "technical": "Bugs or integration problems",
                "sales": "Pricing or account questions",
            },
        ),
        "frustration": Score(
            instructions="How frustrated is the customer?",
            criteria=["Calm", "Frustrated", "Very angry"],
        ),
        "refund_wanted": Noul(
            instructions="The customer explicitly asks for a refund",
        ),
    },
)

print(response.answers["department"].choice)       # "billing"
print(response.answers["department"].confidence)    # 0.85
print(response.answers["frustration"].score)         # 1.6
print(response.answers["refund_wanted"].noul)          # 0.92
JavaScript / TypeScript — Quick Start
// Install: npm install @typesafe-ai/sdk
import { choice, noul, TypeSafeClient } from "@typesafe-ai/sdk";

const client = new TypeSafeClient();

const response = await client.systemOne({
    state: "I was charged twice. Please fix this ASAP.",
    questions: {
        category: choice("What is this about?", {
            billing: "Payment or subscription issues",
            technical: "Bugs or integration problems",
            other: "Anything else",
        }),
        urgent: noul("The message conveys urgency"),
    },
});

console.log(response.answers.category.choice); // "billing"
console.log(response.answers.urgent.noul);    // 0.88

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.

Python — confidence-gated routing
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

Jev is in early access. Join the waitlist at console.typesafe.ai/settings/keys. Once approved, export your key:

Shell
export TYPESAFE_API_KEY="sk-..."

No TypeSafe key yet? You can also access Jev through OpenRouter, Vercel AI Gateway, Netlify AI Gateway, or AIMLAPI — all listed above.

More resources

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.

We also cover deeper topics on dedicated pages: Jev API Key guide, Jev Docs, Jev Model, System One explained, Jev vs Claude.