# What the OpenAI Decisions API beta exposes, and when a local decision model wins

> OpenAI put a typed-answer endpoint in public beta on a single model, gpt-6-luna. Here is what it exposes, what it leaves out, and when Strands Decider 2B or another local model is the better call.

- Published: 2026-10-07
- By: Samir Sengupta (https://www.samcodeman.com/about)
- Canonical: https://www.samcodeman.com/writing/openai-decisions-api-beta-vs-local-decision-models
- How this was made: Drafted with Claude, Anthropic's model from 2 cited sources, then checked against them in a second editing pass. Editorial policy: https://www.samcodeman.com/editorial-policy
- Disclosure: I build Tron-1B, an open-weight decision model, so I have a stake in how this category is judged.

## The short version

- The Decisions API serves one model, gpt-6-luna, through POST /v1/decisions. It returns a probability, a choice or a score for each named question.
- OpenAI claims about 10x the speed of the Responses API. The guide publishes no millisecond latency, no price, and no benchmark or calibration numbers.
- Strands Decider 2B is a measurable local baseline: a median of about 115 ms on an RTX 3090, 3rd of 33 in the 2B class on JevBench's public set, with open weights, training data and scripts.
- Hacker News commenters put a benchmark run at about 3x cheaper on Jev than on Luna. They cite existing OpenAI procurement, billing and data agreements as the main reason to use the hosted API anyway.

The OpenAI Decisions API, published on 2026-10-06 and now in public beta, is a dedicated POST /v1/decisions endpoint. It takes text, images or both and returns typed answers: a probability that a condition is true, a choice from a fixed set, or a score against a rubric. OpenAI says it returns answers about 10x faster than the Responses API, and gpt-6-luna is the only model available. The guide gives no latency in milliseconds and no price, so any comparison with a local decision model rests on numbers OpenAI has not yet published.

The endpoint puts OpenAI in a model class that has drawn attention since TypeSafe AI launched Jev earlier this month. The Strands team calls these decision models or system one models. They do not generate arbitrary text. Instead they pick between supplied options or assign simple numerical scores, generating all outputs in a single parallel pass.

The Strands team describes the tradeoff for the class. Decision models are faster and more capable at a given size, and they always produce an answer from the selected options. They are significantly worse than reasoning models at complex problems, and they are unsuited for coding, chatbots and document summarization. OpenAI says it expects general availability for the Decisions API in the coming weeks.

## What an OpenAI Decisions API request contains

- model: the model that evaluates the request. Currently only gpt-6-luna is supported.
- input: shared evidence for every question, either a text string or user messages containing text and images.
- questions: what to evaluate, including each question's type, its instructions, and any allowed choices or score levels.
- Minimum SDK versions for the examples: Python 3.26.0, JavaScript 7.30.0, Go 3.73.0, Ruby 0.101.0, Java 4.78.0.

The response is an answers array. You give each question a unique name, and the API echoes that name back so you can match answers to questions. OpenAI suggests using the answers to classify content, route requests and prioritize work.

There are three question types. A predicate checks a condition, such as visible damage or passage relevance, and returns a probability from 0 to 1. A choice selects one of your supplied values, such as a department or content category. A score rates the input against ordered levels, such as issue severity, and returns a probability-weighted average across those levels. Because one input is shared across many questions, a single request can carry several questions about the same item, which the Strands post names as an efficiency of decision models generally.

## OpenAI publishes no latency or price figures

The only speed claim in the guide is relative: about 10x faster than the Responses API. There is no median, no p99, and no figure for how latency scales with input size or with the number of questions per request. No pricing is covered here, so the only cost figures come from Hacker News commenters, covered below. Model choice is a single entry, gpt-6-luna, and nothing covered here says whether that model is pinned or versioned.

The guide also publishes no accuracy or calibration results. The predicate output is a probability, but the source says nothing about how well calibrated gpt-6-luna's probabilities are. The Strands authors say decision models give each decision a high-quality reliability score that is not available through frontier LLM inference APIs. Without a published Brier score or similar figure for gpt-6-luna, teams have to measure its calibration themselves.

## What Strands Decider 2B gives you locally

Strands Decider 2B is a 2 billion parameter model built from a Qwen3.5-2B torso with the LM head removed. A pointer head of just over a million parameters scores the hidden state at each option position against the hidden state at the answer position. The torso is fine-tuned with a rank-16 LoRA adapter. The released model is v19, and an earlier iteration used a slot head that the team found performed significantly worse.

On JevBench's public set, the model ranks 3rd of 33 in the 2B class for accuracy and calibration, measured with the Brier score. Excluding the just-over-2B models, it ranks 1st of 30, and it answers 100% of JevBench's easy tasks correctly. Its median decision latency is about 115 ms on an Nvidia RTX 3090 and about 153 ms for small tasks on an M3 MacBook. Latency rises roughly linearly with task size, though the published latency graph was measured against v18, not v19.

The code is open source on GitHub and the weights are on Hugging Face, with the training data and scripts included. The release post names no license and reports no p99 latency.

That note covered the Strands Decider 2B release in detail and flagged that the post names no licence and reports no p99 latency. See: [Strands Decider 2B makes local decisions in a median of about 115 ms on an RTX 3090](https://www.samcodeman.com/writing/strands-decider-2b-local-decisions-115-ms-rtx-3090)

```bash
pip install strands-decider

strands-decider ask StrandsAgents/strands-decider-2B-hobson-v19 \
  --state "Help! My payouts have been failing for 3 days! " \
  --choice "Which team should handle this?=billing,sales,retail"
```

That routing question maps directly onto a choice question in the Decisions API, so the two can be run side by side on the same eval set. The Strands team reports early use of this model class for model routing, tool selection, evaluations, guardrails, memory, context management and policy classification. It also describes hybrid agents that send the hardest decisions to an LLM and the easier rote ones to a decision model, to reduce cost and latency.

Jev, from TypeSafe AI, is the model that started the class, and JevBench is the benchmark Strands reports against. Clef is not compared here.

## What Hacker News commenters are pushing back on

- Cost: one commenter said a full benchmark run via OpenRouter cost USD 0.0192 on Jev versus USD 0.06 on Luna, about 3x in Jev's favor. Another put the price at $0.10 per million tokens and said Jev is cheaper still. Neither figure appears in OpenAI's guide.
- Why pay at all: some argue that running something comparable to Jev is trivial. The replies point to OpenAI keys and billing already in place (one commenter estimated about $11 a month), existing enterprise and zero data retention contracts, and vendor onboarding that can take 3 to 6 months.
- Model drift: one commenter does not want a decision model to change in a few weeks when the lab decides to update it. The guide does not say whether gpt-6-luna is pinned.
- Evals: one commenter noted that decision outputs are far harder to vibe-check than text, so anyone adopting one needs their own evals. Strands publishes JevBench and Brier results. OpenAI's guide publishes none.
- Statefulness: on using it to play games, one commenter noted that decisions are stateless, so prior frames would have to be passed in. Another said the docs page includes a video-game example. The guide describes each request carrying its own input, and nothing covered here addresses state across requests.
- Voice: a commenter clarified that decisions voice is not a separate product but a guide for hooking up a voice model to the decision model. The docs navigation lists it as Connect voice to Decisions.

## When the hosted API beats a local model

- Use the hosted Decisions API when your organization already has OpenAI procurement, billing or data retention agreements. Commenters describe onboarding a new vendor as taking 3 to 6 months.
- Use it when you need image inputs without hosting your own model. The guide accepts text and images, while the Strands post shows only text-state examples.
- Use the Playground to try questions and inputs before writing code, as the guide suggests. The same question shapes can then be tested against a local model.
- Use a local model like Strands Decider 2B when you need a measured latency figure (about 115 ms median on an RTX 3090) rather than a relative 10x claim.
- Use a local model when the decision must not change underneath you. Open weights at a fixed version, such as v19, stay fixed, and the released training scripts let you retrain.
- In either case, build an eval set with calibration scoring before committing. OpenAI's documentation does not establish the hosted API's quality, and the cost comparisons come only from commenters.

## What is still unknown about gpt-6-luna

Several things are still unknown: the price per token, absolute latency and how it scales with question count, JevBench or Brier results for gpt-6-luna, whether the model is versioned and pinned, and what changes between the public beta and general availability. OpenAI says GA is expected in the coming weeks, so the GA documentation is where those numbers should appear. Until they exist, the 10x claim compares the endpoint to OpenAI's own Responses API, not to Jev or a 2B model on your own GPU.

## Questions this raises

### What does the OpenAI Decisions API return?

It returns an answers array of typed answers, matched to your questions by name. A predicate returns a probability from 0 to 1, a choice returns one of your supplied values, and a score returns a probability-weighted average across ordered levels.

### How much does the OpenAI Decisions API cost and how fast is it?

OpenAI's guide gives no price and no latency in milliseconds, only a claim of about 10x faster than the Responses API. The only cost figures come from Hacker News commenters, including one who reported USD 0.06 for a benchmark run on Luna versus USD 0.0192 on Jev.

### Is a local decision model better than the OpenAI Decisions API?

Strands Decider 2B runs locally with a median of about 115 ms on an RTX 3090, publishes JevBench and Brier calibration results, and ships open weights and training data. The hosted API can suit teams that already have OpenAI billing, enterprise or zero data retention contracts, and want to avoid 3 to 6 months of vendor onboarding.

## Key facts

- OpenAI published the Decisions API on 2026-10-06 as a public beta POST /v1/decisions endpoint.
- gpt-6-luna is the only supported model, and OpenAI claims about 10x faster answers than the Responses API.
- Minimum SDK versions: Python 3.26.0, JavaScript 7.30.0, Go 3.73.0, Ruby 0.101.0, Java 4.78.0.
- Strands Decider 2B (v19) has a median decision latency of about 115 ms on an Nvidia RTX 3090 and about 153 ms on an M3 MacBook.
- A Hacker News commenter reported a benchmark run cost USD 0.0192 on Jev versus USD 0.06 on Luna via OpenRouter.

## Sources

1. [Decisions API is in public beta](https://developers.openai.com/api/docs/guides/decisions) - developers.openai.com
2. [Strands Decider 2B: a small, open-source, decision model](https://strandsagents.com/blog/introducing-strands-decider/) - strandsagents.com

Discussion read (practitioners' reactions, not a source): https://news.ycombinator.com/item?id=49984025
