Decision model

Jev 1.14.0

Turn context into typed decisions.

Jev 1.14.0 turns shared input into typed results your code can use.

One input. Typed decisions.

Illustrative values · No API call

Shared input

“My subscription was charged twice this month. I can’t update my card, and this is my second message. Please help.”

Pass text or JSON as shared state. Ask several questions in one request; each is evaluated independently against that same input.

Which team should handle this?

Billinghighest-probability option

Billing
82%
Technical
13%
Account
5%

Define a set of categories. The model returns the most likely option and the probability of every option, adding up to 100%.

TypeSafe’s Choice guide ↗
Confidence

Read the whole distribution.

The winning option is only part of the answer. A clear preference and a close call can both select “Billing”. Their distributions show how much ambiguity remains.

TypeSafe’s native Choice and Score answers also include a value derived from the distribution’s shape. It is distinct from an option’s probability and is not a guarantee of correctness.

How TypeSafe defines confidence ↗

Clear preference

Billing
90%
Technical
7%
Account
3%

Close call

Billing
36%
Technical
34%
Account
30%

Illustrative Choice distributions.

Pricing

Catalog pricing

Input / 1M tokens
$0.0462
Output / 1M tokens
Free
Request minimum
$0

Finalized provider inference cost plus 10%. Verified zero-cost requests remain free. Credit holds are temporary; settled charges appear in account activity.

Endpoints

Decision endpoints

OpenAI decision format
POST
Ordered typed questions and answers, including native refusals.
Primary HTTP API
POST
Boolean probabilities, selected choices and rubric scores. Choice and score answers include their full probability distributions.
Native TypeSafe format
POST
Uses Noul for boolean questions. Choice and score answers also return confidence; scores include a level legend.
Limits

Building with Jev 1.14.0

Availability follows the qualified catalog and your API key permissions. If the qualified route is unavailable, requests return 503 before a credit hold or provider call.
Text and JSON in, typed answers out
State can be a string, object or array. This model accepts text input, without audio, images or streaming.
One state, independent questions
Batch up to 64 questions. If a question needs a previous answer, make a separate call. Extra questions still use input tokens.
Your categories and scale
Up to 64 options per choice; 2–10 ordered levels per score. Describe each option clearly, and add an “other” option when categories are not exhaustive.
32 KiB normalized request limit
The upstream JSON must fit within 32,768 UTF-8 bytes, including routing fields MiniRouter adds.
Example

HTTP example

Use an explicit model and an integration API key. Disable automatic retries: a lost response may still incur cost.
Decision HTTP request
curl --fail-with-body https://api.minirouter.sh/v1/evaluate \
  -H "Authorization: Bearer $MINIROUTER_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{
  "model": "typesafe-ai/jev-1.14.0",
  "state": "The subscription was charged twice.",
  "questions": {
    "billing": {
      "type": "boolean",
      "instructions": "Does this describe a billing problem?"
    }
  }
}'

Every model, one key.