What Is Jev AI? The Judgment Model by TypeSafe AI Explained

Updated Applies to Jev 1.13

In September 2026, TypeSafe AI released Jev, the first model in its “System One” line. The pitch is unusual on purpose: Jev does not chat. It answers questions that have a bounded answer space — judgment questions, choice questions and scoring questions — and returns a structured answer with a confidence score. If most of your LLM calls end with you parsing a paragraph to extract a yes/no, this guide explains what the Jev model is, how its output is shaped, and when it is the right tool.

TL;DR: Jev AI is a judgment model by TypeSafe AI, not a chat model. It specializes in three question primitives — judgment (yes/no/unclear), choice (pick one option) and scoring (a number on a scale) — and returns JSON with an answer, a confidence score and a rationale. It is accessed like a normal LLM through OpenRouter’s OpenAI-compatible endpoint, which makes it easy to drop into existing pipelines.

What Jev is — and what it is not

The fastest way to understand the Jev model is to draw a hard line around it.

Jev is:

Jev is not:

The three primitives at a glance

Every Jev call maps to one of three question primitives. This is the core mental model of the jev ai API surface.

PrimitiveTypical questionAnswer spaceExample answer (example fixture)
Judgment“Is this comment spam?”yes / no / unclear{"answer":"yes","confidence":0.97,"rationale":"..."}
Choice“Which team should own this ticket?”One of the listed options{"answer":"billing","confidence":0.94,"rationale":"..."}
Scoring“Rate this support answer from 1 to 10”A number on the given scale{"answer":8,"scale":[1,10],"confidence":0.86,"rationale":"..."}

Three details worth noticing:

  1. Judgment answers are three-valued. unclear is a real answer, not an error. It gives you a natural bucket for “I need a human” routing.
  2. Choice answers are constrained. If you enumerate the options in the question, the answer comes back as one of them — which makes downstream code trivial.
  3. Scoring answers carry their scale. The scale field in the response fixture makes the range explicit, so a “7” is never ambiguous about whether it was out of 10 or 100.

What the output looks like in code

Because the main demo channel is OpenRouter, you call Jev through the standard chat completions endpoint. Here is a minimal curl for a judgment question:

# Confirm the exact model slug on the OpenRouter model page
curl https://openrouter.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $OPENROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "typesafe/jev-1.13",
    "messages": [
      {
        "role": "user",
        "content": "Judgment question: does this comment contain spam? Comment: \"Buy followers now at cheap-bots.example\""
      }
    ]
  }'

The request uses the ordinary OpenAI-compatible body — model id plus a user message. The judgment lives in how the question is phrased; confirm the exact model slug on the OpenRouter model page before shipping.

The parsed answer looks like this — example fixture, confirm exact field names in the official documentation:

{
  "answer": "yes",
  "confidence": 0.97,
  "rationale": "The comment promotes a third-party follower-selling service and contains an unrelated link."
}

In Python the round trip is equally short:

import json, os, requests

resp = requests.post(
    "https://openrouter.ai/api/v1/chat/completions",
    headers={"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"},
    json={
        # Confirm the exact model slug on the OpenRouter model page
        "model": "typesafe/jev-1.13",
        "messages": [{"role": "user", "content": "Judgment question: does this comment contain spam? Comment: \"Buy followers now at cheap-bots.example\""}],
    },
    timeout=30,
)
payload = resp.json()
result = json.loads(payload["choices"][0]["message"]["content"])
print(result["answer"], result["confidence"])

The outer payload is the standard OpenAI-compatible envelope; the inner result is an example fixture — the response shape shown here is illustrative, and the official field names should be confirmed against the official API documentation on typesafe.ai.

Where Jev fits — and where it does not

Good fits, based on the three primitives:

Poor fits:

If you are weighing Jev against a general chat model for one of these jobs, the head-to-head in our Jev vs LLMs guide breaks down the trade-offs, and the three-primitives guide goes deeper on question design. For a working end-to-end example of the moderation use case, see the spam comment detection case.

This guide applies to Jev 1.13.

Frequently asked questions

Is Jev a chatbot?

No. Jev is a judgment model built for judgment, choice and scoring questions. It returns a structured answer with a confidence score instead of free-form chat text.

Who makes Jev and when was it released?

Jev was released in September 2026 by TypeSafe AI (typesafe.ai) as the first model in its System One judgment model line.

How do I call the Jev model?

The main demo channel is OpenRouter's OpenAI-compatible endpoint. Send your question to the chat completions endpoint with the Jev model id, and parse the structured JSON answer from the response.

Keep reading