← All modelsUnified API — one shape, switch with
OpenAI Decisions
BetaOpenAIOpenAI's Decisions API (gpt-6-luna) — big-lab decision model with image input.
At a glance
- Provider: OpenAI (hosted)
- Question types: choice, score, noul
- Images: yes
- Calibration: confidence returned
- Price: $0.30 per 1M input tokens · output free
Unified API — one shape, switch with model
The simplest way to call OpenAI Decisions: the unified endpoint. Same request and response schema across every model, with the provider's untouched reply included as provider_data.
curl -X POST https://jevtypesafeai.com/api/v1/decisions \
-H "Authorization: Bearer jv_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "openai-decisions",
"state": "Order R-208 was charged twice. Please refund the extra payment.",
"questions": {
"route": { "type": "choice", "instructions": "Which team should handle this?",
"criteria": { "billing": "charges and refunds", "account": "login", "other": "anything else" } },
"urgent": { "type": "noul", "instructions": "Is this urgent?" }
}
}'Native API — OpenAI Decisions's own request & response
Call OpenAI Decisions directly at /api/v1/openai-decisions and get its native response back, byte-for-byte. Billing is reported in X-Decision-* response headers.
curl -X POST https://jevtypesafeai.com/api/v1/openai-decisions \
-H "Authorization: Bearer jv_live_..." \
-H "Content-Type: application/json" \
-d '{
"input": "Order R-208 was charged twice. Please refund the extra payment.",
"questions": [
{ "name": "route", "type": "choice",
"instructions": "Which team should handle this?",
"choices": [{ "value": "billing" }, { "value": "account" }, { "value": "other" }] },
{ "name": "urgent", "type": "predicate", "instructions": "Is this urgent?" }
]
}'One jv_live_ key and one prepaid balance work across every model. Prices are what we bill per 1M input tokens; output is free. OpenAI Decisions and its marks belong to OpenAI.