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) plusexpected_level, a probability-weighted continuous estimate across all levels.
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+ allquestionscombined) 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
answers.refund_allowed.noul— the probability the answer is “yes.”0.999is a strong qualifying signal.answers.refund_allowed.confidence— see Confidence below for how this is computed.usage— standard input/output token accounting.token_usageis the sum of both, provided at the top level for convenience.
Confidence
Every answer carries aconfidence 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):
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.answers field):
Choice
A Choice question returns the selected option, aconfidence value, and a full probability distribution over every option you defined.
answers field):
Score
A Score question returns a discretescore (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.
answers field):
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 samestate in a single call. All questions are evaluated together in one round trip.
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.Related
- 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

