Skip to main content
GLiDE is a decision model: instead of generating free-form text, it evaluates a situation you describe (state) against one or more typed questions and returns calibrated probabilities across a fixed, caller-defined set of outcomes. There are no generated tokens to parse — answers come back as structured labels, probabilities, and confidence scores.

Primitives

Every question you ask GLiDE uses one of three types:
  • Noul — a yes/no question that returns a probability between 0 and 1. “Does this request qualify for a refund?” might return 0.999.
  • Choice — a pick-one-from-many question that returns a probability distribution over named options (up to 255). “Which team should handle this?” might return {"billing": 0.0006, "returns": 0.999, "shipping": 0.0005}.
  • Score — a rate-on-a-scale question over an ordered rubric you define. Returns a discrete score (the winning level index) plus expected_level, a probability-weighted continuous estimate across all levels.
Noul vs. Score: a Noul at 0.5 means maximum uncertainty between yes and no — it doesn’t express degree. If you need to measure degree (urgency, severity, frustration), use a Score with defined levels. If you need a binary gate, use a Noul.
There is no multi-label primitive — each question is single-label. Ask several independent questions in one call if you need several simultaneous judgments.

Limits

  • Up to 255 options per Choice question
  • Request body (state + all questions combined) is limited to ~160,000 input tokens
  • 262,144 token context window

Pricing

Endpoint

Request parameters

string | object | array
required
The context to evaluate — a plain string, a JSON object, or a JSON array. See State shapes below for guidance on which to use.
object
required
One or more named, typed questions to evaluate against state. Each key is your chosen question name; each value is a question object with type, instructions, and (for choice/score) criteria.
string
required
One of noul, choice, or score.
string
required
The question to evaluate, in natural language.
object | string[]
For noul: an object with true/false description keys. For choice: an object mapping up to 255 option keys to description strings. For score: an ordered array of level descriptions (index 0 is the lowest level).
string
required
Which decision model to use, e.g. fastino/glide. Omitting it returns 422 'model' must be provided. The response echoes it back with the provider prefix stripped (fastino/glide → glide).

State shapes

state is the material every question is evaluated against — think of it as what you’d hand a panel of experts before asking them to make a judgment. Use an object when the decision depends on comparing several named parts (a ticket plus the policy it’s evaluated against, for example) — it keeps each part labeled and its relationships clear. A plain string is enough when the case is a single self-contained passage. All questions in a request see the same state and are evaluated independently against it.

Your first call

Response:
  • answers.refund_allowed.noul — the probability the answer is “yes.” 0.999 is a strong qualifying signal.
  • answers.refund_allowed.confidence — see Confidence below for how this is computed.
  • usage — standard input/output token accounting. token_usage is the sum of both, provided at the top level for convenience.

Confidence

Every answer carries a confidence value. The answer tells you what GLiDE concluded; confidence tells you whether to act on it — treat them as two separate axes, not one. A low-confidence answer isn’t wrong — it means the probability mass is spread across two or more outcomes instead of concentrated on one, which is itself useful signal. A common pattern is confidence-gated routing: act automatically on high-confidence answers, and route low-confidence ones to a fallback (human review, a broader category, a secondary check):
Tune the threshold on real data for your use case rather than assuming 0.5 is correct — confidence is calibrated per model, not guaranteed to map onto any particular business tolerance for ambiguity.

Usage examples

Noul

A Noul question returns a single probability. There is no separate label field — threshold the probability yourself to make a binary decision.
Response (answers field):
Using the result:

Choice

A Choice question returns the selected option, a confidence value, and a full probability distribution over every option you defined.
Response (answers field):
Using the result:

Score

A Score question returns a discrete score (the winning level index), an expected_level (a probability-weighted continuous position across all levels), a confidence value, per-level probabilities, and a legend echoing your level descriptions back by index.
Response (answers field):
Using the result:
score is a discrete integer index (the argmax level). expected_level is the continuous, probability-weighted position across all levels — use it when you want finer-grained thresholds than the discrete index provides.

Combining multiple questions

Ask multiple questions of different types against the same state in a single call. All questions are evaluated together in one round trip.
Response:

When to use GLiDE

GLiDE is a good fit for structured decisions: classification, categorization, routing (tickets, emails, requests), scoring, triage, content moderation, guardrails, LLM-as-judge replacement, and agent tool-call approval. Use a general-purpose language model instead for free-form generation, multi-turn conversation, open-ended Q&A, summarization, or code generation.
  • GLiNER-2.5-Decide — a related decision model covering model routing, tool calling, guardrails, and other conceptual use cases
  • Available models — encoder and decoder model catalog
  • Quickstart — generating and passing your API key
  • Inference API — the full GLiNER + GLiDE inference endpoint reference, including /v1/systemone