← Use cases

Jev and OpenRouter

OpenRouter is a gateway that forwards your prompt to whichever LLM you name. Jev is a different layer: a typed decision model that picks one option and returns it with calibrated confidence. They solve different problems — and Jev is a great way to decide which OpenRouter model to call.

If you came here asking whether Jev is 'on OpenRouter', the useful answer is that Jev isn't just another chat model to proxy — it's TypeSafe AI's System One decision model with its own hosted endpoint. It doesn't generate text token by token; it emits a typed answer in a single parallel pass: one of your options, a probability for each, and a confidence value, in roughly 70–500ms.

Jev vs OpenRouter

OpenRouterJev
What it isLLM gateway / routerTyped decision model
OutputWhatever the chosen LLM returnsOne typed option + confidence
Use it forSending prompts to many modelsDeciding, classifying, judging
LatencyThe model's latency~70–500ms
HallucinationThe model's0% structured-output error

Use Jev to route across OpenRouter

request Jev choose model OpenRouter forwards LLM
Jev picks the model in one cheap, calibrated call; OpenRouter forwards the actual prompt to whichever model Jev chose.

The two compose. Put Jev in front of your OpenRouter call as the router's brain: define your candidate models as options, send the request as state, and Jev returns the one to use plus a confidence score. Fast, calibrated model selection — then OpenRouter forwards the actual prompt to the model Jev picked.

Route in code

// 1) Jev picks the model — one cheap, calibrated call
const jev = await fetch("https://jevtypesafeai.com/api/v1/decide", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: `Bearer ${process.env.JEV_KEY}`, // jv_live_...
  },
  body: JSON.stringify({
    state: { request: userPrompt },
    questions: {
      model: {
        type: "choice",
        instructions: "Pick the cheapest model that can handle this request.",
        criteria: {
          "openai/gpt-5.6-mini": "cheap, simple tasks",
          "anthropic/claude-haiku-4.5": "fast, mid-difficulty",
          "openai/gpt-5.6": "hard reasoning",
        },
      },
    },
  }),
}).then((r) => r.json());

// 2) OpenRouter runs the prompt on whatever Jev chose
const answer = await fetch("https://openrouter.ai/api/v1/chat/completions", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: `Bearer ${process.env.OPENROUTER_KEY}`,
  },
  body: JSON.stringify({
    model: jev.answers.model.choice,            // ← Jev's typed pick
    messages: [{ role: "user", content: userPrompt }],
  }),
}).then((r) => r.json());

jev.answers.model.choice is locked to the model list you sent, so it's always a valid OpenRouter model id — no parsing, no fallback for a name the model made up. Threshold on jev.answers.model.confidence if you want to default to a safe model when Jev isn't sure. The Model Router tool shows this pattern running live.

FAQ

Is Jev available on OpenRouter?

Jev isn't a chat model you proxy through an LLM gateway — it's a typed decision model with its own endpoint, so you call it directly. What you can do is use Jev to decide which OpenRouter model a given request should go to.

Should I pick Jev or OpenRouter?

It's not either/or. OpenRouter forwards prompts to LLMs; Jev makes typed decisions. Many teams use Jev as the fast, cheap router that chooses which OpenRouter model to call.

How does Jev choose a model?

Define your candidate models as the options of a choice question, send the incoming request as state, and Jev returns the best-fit model with a calibrated confidence you can threshold on.

See also: Model Router (live) · Jev vs an LLM · Jev for AI agents

Route smarter with Jev

Grab a jv_live_ key and pick the right model in one typed, calibrated call.

▶ Try Jev freeGet an API key →
Jev and OpenRouter — typed routing vs an LLM gateway · Jev by TypeSafe AI