Community site · not the official product

Play with Jev,
online and in your code.

Jev is TypeSafe AI’s System One model: you send program state and typed questions, it sends back a choice, a score, or a yes/no probability. This site is the sandbox around that — playbooks, a playground, and small API presets.

Browser playground for choice, score, and noul Playbooks you can fork in one click MCP tools that compile into official questions Your key is forwarded, not stored

Get started

Three steps

Pick a playbook, run it against the real model, then keep the JSON.

1

Browse

Apps and showcases are narrow decisions: route a ticket, guard a tool call, check a citation.

2

Run

The playground builds a real systemone request. Paste a TypeSafe key and the answer comes back with probabilities.

3

Keep it

Copy the JSON into your app, or point an agent at the MCP tools and skills on this site.

from typesafe_sdk import Choice, Noul, Score, TypeSafeClient

response = TypeSafeClient().system_one(
    state=ticket,
    questions={
        "team": Choice(instructions="Which team should handle this?", criteria={...}),
        "urgent": Noul(instructions="Does this convey urgency?"),
        "heat": Score(instructions="How frustrated is the customer?", criteria=[...]),
    },
)
# response.answers["team"].choice, .probabilities, .confidence

What this site is

Community desk, official model

TypeSafe ships Jev. jevai.ai hosts the extras: a runner, preset workflows, and notes on how to wire the answers into ordinary code.

TypeSafe / Jevjevai.ai
ModelJev 1.13, trained for calibrated decisionsWe call api.typesafe.ai with your key
InterfaceSDK and POST /v1/systemonePlayground, six preset routes, and an MCP server
Outputchoice, score, or noul — never free textSame answers, drawn as bars you can read
AccountEarly access and API keysNo account here. Bring the key you already have

On the bench

What you can run today

Playground

Support triage

Team, urgency, and frustration in one parallel call.

Guard

Tool-call gate

Allow, confirm, review, or deny before a side effect.

Router

Task route

Fast pass, deep review, split, or block.

FAQ

Straight answers

Is this the official Jev site?

No. Jev is made by TypeSafe AI. Official docs live at docs.typesafe.ai. jevai.ai is an independent playground and recipe site.

Does the playground spend money?

Yes, against your TypeSafe key. Jev’s published price is $0.042 per million input tokens, and output tokens are free. A short ticket is a fraction of a cent. We do not keep the key.

Can Jev write the reply to the customer?

No. It returns a typed decision. The email, the code, and the tool call stay with a generative model or with ordinary code.

How do I add a playbook?

Use the share form. Useful ones get a preset in the playground.

What is a noul?

TypeSafe’s word for a yes/no. The answer is a probability from 0 to 1, not a boolean. Near 1 is a strong yes, near 0 a strong no, near 0.5 means the model is split. It is not a “medium amount” of anything.

Why are the questions independent?

Every question in one request sees the same state and does not see the other answers. That is what makes a batch cheap and stable: adding “is this urgent?” does not change the team classification. If a later question truly needs an earlier answer, make a second request.

One ticket, three numbers

What you actually get back

Take a note that says payouts have failed for three days and sales are dropping. One call can ask three different shapes of question. None of them is a paragraph.

choice

team = billing

Probabilities over the options you listed, summing to 1, plus a confidence that says how peaked that distribution is. A 0.84 / 0.15 / 0.01 split is a billing ticket that still mentions an integration.

noul

urgent = 0.99

“Three days” and “losing sales” are time pressure. Your code decides the cutoff. 0.7 might page someone. 0.99 can skip the queue. The model does not pick the cutoff.

score

heat = 1.04

On a scale you wrote — calm, civil, angry — the score is the expected level. 1.04 on a 0–2 scale is “frustrated but civil,” with a little weight on the next rung. Confidence tells you whether that split is sharp.

Put the weights in a constant. When the policy changes, you edit the constant. You do not rewrite a prompt and hope the JSON shape survives.

Where it fits

Code, Jev, or a writer

The jobWho should do it
Days overdue, a regex, a date comparison, a refund totalOrdinary code. Jev is a poor calculator and reads dates as text.
Which queue, how angry, does this quote support the claimJev. The answer set is closed and the input is messy language.
The email back to the customer, the patch, the incident write-upA generative model, or a person. Feed it the decision and the evidence. Do not ask it to also invent the decision.
Send the refund, delete the row, call the toolYour code, after the gate. Jev never runs the tool.

What a call costs

The published card for Jev 1.13 is $0.042 per million input tokens. Output tokens are free. A few hundred tokens for a ticket is a fraction of a cent. The interesting number is how many of those calls you can put on a hot path: TypeSafe quotes roughly 70–500ms end to end, often near 100ms from the US West Coast, where the service runs today.

Questions in the same request run in parallel, so a triage with six questions is one round trip, not six. The state is ingested once. Extra questions cost the tokens in the question text, which is why the playground lets you ask the speculative ones up front and ignore the answers you do not need.

Early access is still a TypeSafe waitlist. This site does not mint keys. Paste the one from console.typesafe.ai and the playground forwards it.