state and one or more named, typed
questions; read structured decisions from answers. state may be empty when the
question contains all the context. GLiDE does not use
/v1/chat/completions, messages, or a GLiNER schema.
GLiDE costs $0.04 per 1 million input tokens. Output tokens are free ($0).
See Pricing for the current inference rates.
View the API contract
Inspect the exhaustive request and response schema for POST /v1/systemone.
GLiDE cookbooks
Tested end-to-end requests for ticket triage, agent action gates, and prompt injection screening.
Set up your API key
Set your key as an environment variable so the examples below work as-is:Choose a question type
Every question is single-label and returns probabilities. Choose the primitive from the answer shape your code needs:
There is no multi-label primitive. Ask multiple independently named questions in one request
when you need several judgments about the same state.
Request
Use
fastino/GLiDE, or the model ID of a GLiDE model you deployed. Omitting it returns 422 'model' must be provided. The response echoes
the engine name as glide.The situation to evaluate. Use a string for one passage, an object for labeled fields, or
an array for an ordered sequence of messages or records. An empty string, object, or array
is allowed when the question contains all the context.
Whether Fastino keeps this request’s input and output. Set
false to keep neither. See
Keep a request out of storage.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.
Image input
An array can mix strings or text parts with up to fourimage_url parts. Each
image URL can be an HTTPS URL or a base64 data URL:
data:<media type>;base64,<data>:
-d @body.json, because a multi-megabyte image can be too long for a
command-line argument:
- The size limit counts the base64 after the comma, not the
data:prefix. - The size limit applies to bytes, not pixels. Embedded metadata and padding count, so an 800×600 image padded to 5 MiB is refused.
- Fastino reads each image’s bytes and checks them against the declared media type. A
PNG sent as
data:image/jpegis refused. - Fastino downloads URL images itself. The host must answer
200without a redirect, and some hosts refuse automated downloads. If a URL fails, send the image as a data URL.
state. For example, the same 2048×1280 photo used 1,087 input tokens with one
question and 4,302 with four. Image tokens also count toward each question’s
65,536-token prompt limit.
See GLiDE image errors for each image error
message and how to fix it.
Complete request
Response
answers uses the question keys from your request. For this Noul:
noulis the probability that thetruecriterion holds. It is not a boolean.confidenceis certainty about either outcome:|2 × noul − 1|.- Tune action thresholds on representative data. Do not assume
0.5is the right business threshold.
Keep a request out of storage
Add"store": false to the request body. Fastino then keeps neither the state and
questions you sent nor the answers it returned:
- No entry in your inference history.
- The payload stays out of Fastino’s logs, error reports, and traces.
- The request is never used for platform training or for continuous adaptation of your task models, whatever your training opt-out says.
X-Fastino-Data-Retention response header reports what was applied:
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.
Limits and unsupported shapes
- Each rendered question prompt (
stateplus that question) must fit within 65,536 tokens. - Choice requires 2 to 255 options; one option cannot represent a decision or meaningful confidence margin. Score accepts at most 255 levels.
usage.input_tokenssums the internal passes for all questions, so it can exceed 65,536 even though every individual rendered prompt fits.stateaccepts up to 4 images of at most 3.75 MiB and 25,000,000 pixels each, in JPEG, PNG, GIF, or WebP. See Image input.- One request evaluates one shared
state; put multiple questions underquestions. /v1/systemonedoes not stream and does not accept a batch of independent states.- To call a GLiDE model you trained, send its deployed model ID as
modelwith a text-onlystate. See Train GLiDE.
Migrating from TypeSafe
TypeSafe’s Jev and Fastino’s GLiDE use the same System One structure ofstate, named
questions, and matching answers. Most requests transfer cleanly, but the integration is
not a drop-in replacement. Use this checklist to migrate safely:
1
Keep the System One request structure
Preserve
state, question keys, and primitive types. state may be empty when the
question contains all the context. Each instructions value may be a non-empty string
or a non-empty JSON object; GLiDE serializes objects to compact JSON text. Convert
omitted, null, or array instructions into a string or object. Keep Choice criteria as an
object. Noul criteria are optional, but their true and false values must be strings.
Prefer an ordered array for Score criteria. Send only the documented request fields your
integration needs.
Unsupported top-level fields return 422, so do not copy arbitrary TypeSafe client
options into the JSON body.2
Change the endpoint, credential, and model
Point the request at Fastino, read
FASTINO_API_KEY, send it with X-API-Key, and set
model to fastino/GLiDE. Fastino also accepts the Bearer header if retaining that
style makes a direct HTTP migration simpler. Expect model: "glide" in the response.3
Update Score response handling
TypeSafe’s
score is a probability-weighted float. Its GLiDE equivalent is
expected_level. GLiDE’s score is instead the integer index of the most probable level.
GLiDE returns Score legend descriptions as strings, so update consumers that expect
structured legend values. GLiDE also accepts criteria objects with numeric string keys,
such as {"1": "low", "3": "medium", "5": "high"}. The keys are sorted and discarded,
and the response is reindexed from 0 through N-1. Use an ordered array when the
original numeric values must not be mistaken for returned level indexes.4
Check level keys and retry behavior
GLiDE returns Score
probabilities and legend with string keys such as "0" and "1".
TypeSafe’s raw HTTP response does the same, but its Python SDK may expose integer keys.
Convert keys only if the application requires integer-keyed maps. Replace TypeSafe’s
529 retry handling with Fastino’s 425 and 503 handling, and keep bounded backoff for
429. Honor Retry-After when present and apply the same retry budget to transport
failures.5
Revalidate decision thresholds
Keep existing business actions intact during the port, then test GLiDE on representative
cases before deployment. Do not assume thresholds calibrated for Jev transfer unchanged
to a different model.
Replace TypeSafe SDK usage
If the project uses a TypeSafe SDK:- Find
typesafe-sdk,@typesafe-ai/sdk,TypeSafeClient,AsyncTypeSafeClient, and TypeSafe question constructors in manifests, imports, application code, and tests. - Replace SDK constructors and typed response access with the project’s HTTP client and decoded JSON.
- Remove TypeSafe packages and imports only after no references remain.
Errors
A first request to a cold model may return425 model_warming while it warms up; retry
after Retry-After, send X-Fastino-Wait-For-Model: true to wait, or warm the model first.
See Retries and model warm-up.
Use a read timeout of at least 300 seconds and bounded backoff for
425, 429, and 503.
Do not retry 401, 402, 403, 404, or 422 without correcting the underlying problem.
Continue learning
GLiDE overview
Understand GLiDE, choose a primitive, and review model-specific guidance.
Noul
Integrate a yes/no probability.
Choice
Route to one named option.
Score
Evaluate an ordered rubric.

