For the complete documentation index, see llms.txt. This page is also available as Markdown.

Decision Models

Decision models do not generate text. You give them a piece of content (the state) and a set of typed questions, and they return a typed answer for each question together with calibrated probabilities. They are built for the places inside an application where a fast, predictable, machine-readable verdict matters more than prose: routing, classification, triage, moderation gates, A/B triggers.

Compared with prompting an LLM for JSON, a decision model answers in a fraction of the time, cannot produce anything outside the question schema, and reports how confident it is instead of writing a number into free text.

Question Types

Type
Question
Answer

noul

A yes/no question.

noul — probability that the answer is "yes" (0–1).

choice

Pick exactly one option from criteria.

choice — the selected key, plus a probability for every option and a confidence.

score

Rate the state against ordered levels.

score — expected level index (may be fractional), a probability per level, the legend and a confidence.

box

Where something is in an image.

box — the four edges as fractions of the width and height, plus a confidence. Jev 1.14 only; experimental.

The state can be a plain string, a JSON object, or an array of texts. Images are supported by Jev 1.14 and d1, passed in assets rather than in state; audio and video are not supported.

Pricing

Decision models are billed by input tokens only; output tokens are reported in usage but are free. See the pricing page and the model card for current rates.

Example: Triaging a Support Ticket

curl https://api.aimlapi.com/v1/decisions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <YOUR_AIMLAPI_KEY>" \
  -d '{
    "model": "typesafe/jev",
    "state": "Help! My payments have been failing for 3 days and nobody answers support.",
    "questions": {
      "is_urgent":   { "type": "noul",   "instructions": "Does this convey urgency?" },
      "department":  { "type": "choice", "instructions": "Which team should handle this?",
                       "criteria": { "billing": "Payments, invoicing, refunds", "technical": "Bugs, outages, integrations", "sales": "Pricing, upgrades, new accounts" } },
      "frustration": { "type": "score",  "instructions": "How frustrated is the customer?",
                       "criteria": ["Calm", "Frustrated", "Very angry"] }
    }
  }'

Every key from questions comes back under answers with a typed result:

All Available Decision Models

Model ID + API Reference link
Developer
Context
Model Card

TypeSafe AI

262 144

Floating — always the current Jev

TypeSafe AI

262 144

Current; adds images and box

TypeSafe AI

262 144

Previous release, pinned

Liquid AI

32 768

No output tokens; reads images

Open AI

1 050 000

Different request shape; also a chat model

Last updated

Was this helpful?