OpenAI Decisions API is in public beta OpenAI launched the Decisions API in public beta, a dedicated POST /v1/decisions endpoint that evaluates text, images, or both and returns typed answers about 10x faster than the Responses API. The API supports three question types — predicate (probability from 0 to 1), choice (one of supplied values), and score (probability-weighted average of level indices) — and currently runs only on the gpt-6-luna model, with general availability expected in the coming weeks. Images must be supplied as inline base64 data URLs, as hosted HTTP/HTTPS URLs and file_id inputs are not supported. The Decisions API evaluates text, images, or both and returns typed answers about 10x faster than the Responses API. Get the probability that a condition is true, a choice from a fixed set, or a score against a rubric. Use those answers to classify content, route requests, and prioritize work in your application. Try the Decisions API in the Playground https://platform.openai.com/decisions to experiment with questions and inputs before writing code. The Decisions API is in public beta, and we expect to GA in the coming weeks. gpt-6-luna is the only model currently available. Use the dedicated POST /v1/decisions endpoint. How decisions work A request has three parts: | Field | Purpose | |---|---| | model | The model that evaluates the request. Currently, only gpt-6-luna is supported. | | input | Shared evidence for the questions: a text string or user messages containing text and images. | | questions | What to evaluate, including each question’s type, instructions, and any allowed choices or score levels. | The response contains an answers array. Give each question a unique name to identify its answer; the API echoes that name in the response. Choose a question type | Type | Use it to | Main result | |---|---|---| | predicate | Check a condition, such as visible damage or passage relevance. | probability : an estimate from 0 to 1 that the condition is true. | | choice | Select one option, such as a department or content category. | choice : one of your supplied values. | | score | Rate an input against ordered levels, such as issue severity. | score : the probability-weighted average of the level indices. | Both choice and score return probabilities over discrete options. Use choice for categories without an order, such as departments. Use score for ordered levels, such as severity; it takes the probability-weighted average of their numeric indices to produce a score that can fall between levels. Use Decisions when your application needs one of these answer types. Use Structured Outputs https://developers.openai.com/api/docs/guides/structured-outputs with the Responses API when you need to generate an object that follows your own JSON schema, such as extracted fields or a written explanation, or function calling https://developers.openai.com/api/docs/guides/function-calling when you need a model to request a tool call with arguments. Check an image for visible damage Use a predicate question to check a product photo for visible damage. This request combines the image with instructions to look for a crack, tear, or dent. IMAGE BASE64="$ base64 < product.png | tr -d '\r\n' " curl https://api.openai.com/v1/decisions \ -H "Authorization: Bearer $OPENAI API KEY" \ -H "Content-Type: application/json" \ --data-binary @- <