Information last reviewed: 4 October 2026. Scope: the DecisionNode API (decisionnode-latest, decisionnode-flash-latest) and the TypeSafe AI HTTP API for Jev as described on its public documentation pages listed under Sources. Prices are list prices per million input tokens in USD.
What to change#
The body fields model, state and questions and the response fields model, answers and usage have the same names and roles, so in most integrations three values change: the URL, the key and the model id.
const URL = "https://api.typesafe.ai/v1/systemone";
const KEY = readSecret("TYPESAFE_API_KEY");
const MODEL = "jev-latest";Side by side#
| DecisionNode | Jev (TypeSafe AI, as documented) | |
|---|---|---|
| Endpoint | POST /v1/decide on api.decisionnode.com | POST /v1/systemone on api.typesafe.ai |
| Authentication | Authorization header, Bearer <key> | Authorization header, Bearer <API_KEY> |
| Request fields | model and questions required; state and images optional | Documented as requiring state, model and questions |
| Response fields | model, answers, usage | model, answers, usage |
| Error statuses | 401, 422, 429, 529, plus 400 for a request over a limit, 402 when the prepaid balance is empty and 403 for a safety refusal; every body under the same detail key | Documented: 401, 422, 429, 529 |
| Question types | choice, score, truth and number; noul is accepted as an alias of truth and answered under its own name | Documented as three types: choice, score and noul |
| Number answers on a grid | number questions: a value on a grid you set, with expected, confidence and a probability per value | Not in the documented API as reviewed (October 2026) |
| Streaming decisions | Sessions over a WebSocket coming soon: the context sent once, one typed reply per frame | Not in the documented API as reviewed (October 2026), which describes request and response calls |
| Input | Text, JSON and images (images field) | Documented as text only, with no image, audio or video input |
| Context | 64k tokens per request (65,536) | Documented as 64k tokens per request and 32k tokens for state plus the longest question |
| Price per 1M input tokens | $0.042 (DecisionNode-1.0), $0.021 (DecisionNode-1.0 Flash, provisional) | Documented as $0.042 |
| Output tokens | Free | Documented as free |
| Model ids | decisionnode-latest, decisionnode-flash-latest, pinned versions such as decisionnode-1.0 | Documented aliases jev-latest (pointing to jev-1.13.0) and jev-preview |
| Default rate limits | 40 requests and 100,000 input tokens per second (provisional) | Documented as 100K tokens and 40 requests per second, subject to change |
| Client libraries | Plain HTTPS; these docs show curl, Python and TypeScript | Python and JavaScript SDKs are documented |
What differs#
- Truth and
noul. DecisionNode calls the probability typetruth: is this statement true, as one calibrated probability from 0.00 to 1.00. A question sent as"type": "noul"is the same type under its old name: it is accepted unchanged and answered as{ "type": "noul", "noul": 0.94 }, so code that readsanswers.<key>.noulkeeps working. Switch totruthwhen you next touch the code. See Truth. - Images. DecisionNode accepts an optional
imagesarray next to the state. Requests without it are unaffected. See Images. - Number questions. A fourth question type,
number, answers how many or what value on a grid you set. It is an addition: requests that use onlychoice,scoreandnoulortruthare unaffected. See Number. - Sessions coming soon. For more than 10 decisions a second, a session keeps the context loaded and streams one reply per frame.
/v1/decideitself is unchanged. See Sessions. - Two tiers.
decisionnode-flash-latestis a compact, faster tier on the same API at a lower price per token (provisional). See DecisionNode-1.0 Flash. - Formulas. These docs publish both confidence formulas, one for choice and one for score, so you can reproduce every confidence from
probabilities. See Confidence. - SDKs. If your code uses TypeSafe AI's SDKs rather than raw HTTP, the SDK's own client handles the URL and errors. Replace the calls with plain HTTPS as shown in the quickstart, or wrap them in a small function of your own.
Test before you switch#
- 1.Collect a few hundred real requests with known outcomes.
- 2.Send each one to both APIs and store the answers side by side.
- 3.Compare accuracy and the share of answers above your thresholds on your own data.
- 4.Re-tune thresholds on DecisionNode before you cut over. Probabilities from different models are not interchangeable, even when the shapes match.
Choose DecisionNode when#
- Your decisions involve images as well as text, such as receipts, documents or product photos.
- You want a lower-priced tier for high-volume, clear-cut decisions.
- You want to keep your existing request bodies and compare results on your own traffic.
Choose Jev when#
- Your integration depends on TypeSafe AI's Python or JavaScript SDKs and you prefer to keep them.
- You rely on parts of TypeSafe AI's platform that this page does not cover.
- Your own evaluation on your data favors its answers for your questions.
Methodology and sources#
This comparison is based on publicly available information from each provider's official documentation as reviewed on 4 October 2026. Features, pricing and availability may change. Verify current details directly with each provider before you decide. DecisionNode is an independent service and is not affiliated with, sponsored by, or endorsed by TypeSafe AI. All third-party names and trademarks are the property of their respective owners and are used only to identify the products being compared.