Jev, Microsoft-Decision-1 and OpenAI's Decisions API answer closed questions with probabilities instead of text; the first two cost $0.042 per million input tokens and OpenAI's $0.10, all with no output charge, and the calibration claims of all three come from their makers, so measure them with your data.
1. A new category: models that return probabilities#
TypeSafe's Jev opened the category. In October 2026 two more arrived: Microsoft-Decision-1, a small Microsoft model based on Alibaba's Qwen3.5-9B, and OpenAI's Decisions API, which runs on gpt-6-luna. All three take a case and a question with closed options and return probabilities, without generating text.
The table compares what the documentation and articles consulted say. Where there is no data, the cell says so instead of guessing.
| Feature | Jev (TypeSafe) | Microsoft-Decision-1 | Decisions API (OpenAI) |
|---|---|---|---|
| Where it runs | Workers AI as typesafe/jev (and other providers) | Microsoft Foundry catalog and OpenRouter | POST /v1/decisions in the OpenAI API |
| Status | Available on Workers AI | «Preview» in the Foundry catalog; «generally available» per a press article | Public beta; general availability «in the coming weeks» |
| Base model | Not published in the sources | Alibaba's Qwen3.5-9B, post-trained by Microsoft | gpt-6-luna, the only accepted model |
| Question types | noul, choice, score | Yes/no, multiple choice, rating, classification and rubric, with a «cannot tell» option | predicate, choice, score |
| Input | Text or object | Text only | Text and images (base64) |
| Context window | 32,000 tokens | 32,768 tokens | Not stated in the documentation |
| Input price | $0.042 per million tokens | $0.042 per million tokens (press article) | $0.10 per million tokens, with regional and long-context surcharges |
| Output price | $0.00 | No charge (press article) | No charge |
| Data retention | Zero, per Cloudflare | Not stated in the sources | Zero retention and HIPAA for eligible customers |
The sources disagree on Microsoft-Decision-1's status: the Foundry catalog marks it Preview and an October 12 press article calls it generally available. Confirm its status in the catalog before depending on it.
Documentation: Cloudflare: Jev (typesafe/jev) ↗ · OpenAI: Decisions API ↗
2. A common answer for yes or no#
The three offerings share the idea of a yes/no question but under different names: Jev calls it noul and OpenAI's Decisions API predicate. The code brings both documentation example responses to a common probability and applies a threshold with a path to human review. We include no adapter for Microsoft-Decision-1 because the sources do not show its exact response format.
# Example responses from Cloudflare's (Jev) and OpenAI's (Decisions API) documentation
jev = {"type": "noul", "noul": 0.95}
openai = {"type": "predicate", "name": "visible_damage", "probability": 0.92}
def prob_yes(answer):
"""Brings both providers' yes/no question to a common probability."""
if answer["type"] == "noul":
return answer["noul"]
if answer["type"] == "predicate":
return answer["probability"]
raise ValueError("unsupported type: " + answer["type"])
def decide(p, threshold=0.9):
return "yes" if p >= threshold else "no" if p <= 1 - threshold else "human_review"
for answer in (jev, openai):
print(answer["type"], prob_yes(answer), decide(prob_yes(answer)))Documentation: Microsoft Foundry: Microsoft-Decision-1 ↗ · Help Net Security: Microsoft-Decision-1 ↗
3. What each one costs#
With the 426 input tokens of the example request in Jev's documentation, a million requests cost $17.89 with Jev or Microsoft-Decision-1 and $42.60 with OpenAI's Decisions API. In pesos, with the TRM of October 17, 2026: COP 56,801 and COP 135,241.
from decimal import Decimal as D
INPUT_TOKENS = 426 # tokens of the example request in Jev's documentation
RATES = {"Jev": D("0.042"), "Microsoft-Decision-1": D("0.042"), "OpenAI Decisions API": D("0.10")} # USD per million input tokens
TRM = D("3174.67") # TRM of Oct 17, 2026
for name, rate in RATES.items():
usd = D(INPUT_TOKENS) * rate # USD per million requests
print(f"{name}: ${usd:,.2f} | COP {usd * TRM:,.0f}")Price per token is only part of it: what matters is the cost per correct decision. A cheaper model with worse calibration may force you to send more cases to human review.
4. Measure calibration with your data#
The calibration, speed and cost claims of all three come from their makers. Microsoft reports tests across 36 evaluation sets and acknowledges that you should validate the threshold with your own examples; our sources show no independent evaluation. A simple way to measure it is the Brier score, the mean squared error between the probability and what happened.
# Four example predictions and what really happened (1 = yes)
predictions = [0.9, 0.8, 0.3, 0.1]
outcomes = [1, 1, 0, 0]
def brier(predictions, outcomes):
"""Mean squared error of the probabilities: 0 is perfect, 0.25 is knowing nothing."""
return sum((p - o) ** 2 for p, o in zip(predictions, outcomes)) / len(predictions)
def automatable(predictions, threshold):
"""Fraction of cases a person would not have to review."""
return sum(p >= threshold or p <= round(1 - threshold, 10) for p in predictions) / len(predictions)
print(round(brier(predictions, outcomes), 4), brier([0.5] * 4, outcomes))
print(automatable(predictions, 0.8), automatable(predictions, 0.9))With your own labeled cases, compute each model's score and, for the threshold you choose, what fraction can be automated and how many errors slip through.
5. Which to choose#
- If your decisions include images, OpenAI's Decisions API is the only one of the three that accepts them, per the documentation.
- If you work in the Azure and Foundry ecosystem, Microsoft-Decision-1 is in its catalog.
- If you already use Workers AI or want the lowest input price with a 32,000-token window, Jev is an option.
- If you need zero retention and HIPAA, OpenAI's documentation states it for eligible customers; Cloudflare states zero retention for Jev; verify Microsoft.
- With any of them, start in shadow mode and set a threshold with a path to human review.
- Do not use one of these models as the sole decision-maker on credit, employment, housing, insurance, education, health or legal rights: Microsoft advises against it for its model and the same caution applies to the others.
Go deeperTypeSafe's Jev: what a decision model is and how to use it (Noul, Choice and Score)
6. Keep your numbers current#
The Decisions API was in public beta and Microsoft-Decision-1 at version 1 on October 19, 2026. Prices, formats and status change fast; confirm in each documentation before integrating.
- Check when the Decisions API reaches general availability.
- Check Microsoft-Decision-1's license, which the sources do not state.
- Keep a sample of labeled cases to measure again when a model changes.
Sources and scope
Documentation checked on October 19, 2026. Examples and decision criteria are editorial proposals; adapt them to your application's contract and validate them in an authorized test environment.