OpenAI
Operationalยท checked every few minutes

GPT-6 Luna Decisions API

The GPT-6 Luna Decisions API: OpenAI's decision model, which answers classification and scoring questions about text and images with probabilities instead of text, for $0.04 per 1M input tokens with output free.

Price per 1M input tokens60%off
Input
$0.04$0.10
Output
$0.00
Model IDgpt-6-luna-decisions
triage.py
# pip install --upgrade openai
from openai import OpenAI
client = OpenAI(
base_url="https://api.zurelay.com/v1",
api_key="YOUR_ZURELAY_KEY",
)
decision = client.decisions.create(
model="gpt-6-luna-decisions",
input="I was charged twice for October, please refund one of the charges today.",
questions=[
{
"type": "predicate",
"name": "refund",
"instructions": "Is the customer asking for money back?",
},
{
"type": "choice",
"name": "team",
"instructions": "Which team should handle this?",
"choices": [
{"value": "billing", "description": "Charges and refunds"},
{"value": "technical", "description": "Bugs and outages"},
],
},
{
"type": "score",
"name": "urgency",
"instructions": "How urgent is it?",
"levels": [{"label": "can wait"}, {"label": "this week"}, {"label": "today"}],
},
],
)
# One answer per question, in the order asked
for answer in decision.answers:
if answer.type == "predicate":
print(answer.name, answer.probability) # how likely it's true, 0 to 1
elif answer.type == "choice":
print(answer.name, answer.choice) # "billing" or "technical"
elif answer.type == "score":
print(answer.name, answer.score) # 0 to 2, can land between levels
else:
print(answer.name, "refused") # the other questions still get answers

Base URL https://api.zurelay.com/v1. Works with OpenAI's Python and Node.js SDKs: client.decisions.create. Decisions API docs

Questions
Predicate ยท Choice ยท Score
Per request
Up to 1.05M tokens
Input
Text, Image
Output
Typed answers, free
Status
Operational

Pricing

GPT-6 Luna Decisions API pricing. A fraction of the list price.

Pay as you go from prepaid credit, with no subscription. Top up from $10. Requests that fail are never billed.

RateZurelayOpenAI list
Input
per 1M tokens
$0.04$0.10
Output
per 1M tokens
$0.00โ€”

Billed on the input tokens the model counts: your input once, plus about 110 to 160 tokens of its own for each question, and images by size and detail. Its answers are free, as at OpenAI. Requests that fail cost nothing.

Savings calculator

Move the sliders to your monthly usage.

Input tokens per month50M
Zurelay
$2.00
OpenAI list price
$5.00
You save every month$3.00

$36.00 a year

Overview

What is GPT-6 Luna Decisions?

GPT-6 Luna Decisions is the model behind OpenAI's Decisions API: it answers classification or scoring questions about some input, many questions in one request, and returns a typed answer with probabilities for each one instead of writing text. The Zurelay API serves it on OpenAI's own endpoint and request shape, so OpenAI's SDKs work with Zurelay's base URL, at 60% below OpenAI's list price.

You send an input, as text, as user messages with images, or as JSON, and up to 64 questions. There are three question types. A predicate asks how likely a statement about the input is true and returns a probability from 0 to 1. A choice picks one of 2 to 255 values you list, text or true/false, each with an optional description, and returns the value, a confidence and the probability of every value. A score places the input on 2 to 10 ordered levels you describe, lowest first, and returns the expected level, which can land between two, with a confidence and the probability of each level. The answers come back in the order you asked, and any one question can come back as a refusal while the others are still answered.

It's built for the decisions software makes many times a day: routing and triaging tickets and requests, moderation-style checks, sorting records and documents into your own categories, scoring relevance or sentiment, and guardrails that decide whether an agent's next step may run. The probabilities let your code act on the clear cases and send the unclear ones to a person or a larger model. The input is read once for every question in a request, so asking several questions together costs less than asking each on its own. In our tests answers came back in 0.3 to 1 second, in about a second with an image, and an input of 900K tokens in about 10 seconds.

Zurelay serves it on OpenAI's Decisions API: POST https://api.zurelay.com/v1/decisions with model, input and questions, and the reply carries the answers and usage in OpenAI's shape. OpenAI's SDKs work as they are: set the base URL to https://api.zurelay.com/v1, use your Zurelay key and call client.decisions.create (in Node.js, openai 7.30.0 or later). The model ID is gpt-6-luna-decisions, and on this endpoint gpt-6-luna works too, as in OpenAI's SDK docs. A request can hold up to 1,050,000 tokens, and images come as base64 data URLs or public https links, in PNG, JPEG, WebP or GIF. Only user messages are taken, and the answers come back whole, without streaming.

It is billed on input tokens only, as at OpenAI: $0.04 per 1M on Zurelay against OpenAI's $0.10, and its answers are free. The model counts your input once plus about 110 to 160 tokens of its own for each question, so a one-question check on a short text is about 160 tokens and costs well under a thousandth of a cent. A 1200 by 630 image adds about 750 tokens at high detail and about 150 at low. Each reply's usage and the x-zurelay-input-tokens header show what it was billed on, every request is in your request log, and requests that fail cost nothing.

Strengths

Where GPT-6 Luna Decisions shines. And what teams build with it.

01

Answers your code can use

No parsing free text: each answer is typed, in the order you asked, with the probability of every value or level.

02

Reads images too

Ask about screenshots, product photos or scanned forms beside text and JSON in the same request. Low detail costs a fraction of the tokens.

03

Cheap at volume

Billed on input only at $0.04 per 1M tokens, and the answers are free: a one-question check on a short text costs well under a thousandth of a cent.

04

Many questions, one read

Up to 64 questions in one request, the input counted once for all of them: four questions about a 2,600-token ticket come to about 3,200 tokens, not four times that.

Use cases

  • Ticket and request triage

    Pick the team with a choice, flag refund requests or outages with predicates, and score urgency, all in one request.

  • Moderation-style checks

    Flag spam, abuse or policy breaches in text and images with a probability, and send the borderline cases to a person.

  • Guardrails and routing in agents

    Check whether a step may run, or pick the tool, model or workflow for a request, before an expensive model runs at all.

  • Classifying and scoring records

    Sort documents, listings or search results into your own categories, or score relevance and sentiment on your own scale.

Get started

Call GPT-6 Luna Decisions in three steps.

No waitlist and no new SDK. OpenAI's own SDKs work as they are: point them at Zurelay and use your Zurelay key.

  1. 1

    Create a key

    Sign up, add credit and create an API key. Set a monthly budget or a rate limit per key if you like.

  2. 2

    Point your SDK at Zurelay

    Set the OpenAI SDK's base URL to this, with /v1, as for every OpenAI model on Zurelay.

    https://api.zurelay.com/v1
  3. 3

    Use gpt-6-luna-decisions

    Call client.decisions.create, or POST an input and a list of questions to /v1/decisions, and get a typed answer with probabilities for each, in order, usually in under a second.

    gpt-6-luna-decisions

Works with the tools you already use

FAQ

GPT-6 Luna Decisions API questions.

Anything else? Ask our team and weโ€™ll answer by email.

How much does the GPT-6 Luna Decisions API cost?

Zurelay charges $0.04 per 1M input tokens, against OpenAI's list price of $0.10, so you save 60%. Output is free, as at OpenAI. The model counts your input once plus about 110 to 160 tokens of its own for each question: a one-question check on a short text is about 160 tokens, two questions about 320, and a 2,600-token input with four questions about 3,200. Requests that fail cost nothing.

What is OpenAI's Decisions API?

OpenAI's API for answering classification or scoring questions about some input, with many questions in one request. Instead of writing text, the model returns a typed answer for each question: a probability for a predicate, one of your values with probabilities for a choice, or a place on your scale with probabilities for a score. GPT-6 Luna Decisions is the model that answers.

How do I call GPT-6 Luna Decisions through Zurelay?

Create a Zurelay API key, set the OpenAI SDK's base URL to https://api.zurelay.com/v1 and call client.decisions.create with model set to gpt-6-luna-decisions, an input and a list of questions. In Node.js that needs openai 7.30.0 or later. Or POST the same JSON to https://api.zurelay.com/v1/decisions with your key as a Bearer token. The docs at https://zurelay.com/docs/openai-decisions have examples in Python, Node.js and cURL.

Does OpenAI's sample code work unchanged?

Yes. On /v1/decisions the model ID gpt-6-luna works as well as gpt-6-luna-decisions, so code written from OpenAI's SDK docs, which name gpt-6-luna, runs once you change the base URL and the key. The reply's model field says gpt-6-luna-decisions. On the chat endpoints, gpt-6-luna is still GPT-6 Luna, the chat model.

What's the difference between predicate, choice and score?

A predicate asks how likely a statement about the input is true and returns a probability from 0 to 1, such as 1 for a clear refund request. A choice picks one of 2 to 255 values you list, such as billing, hardware or shipping, and returns the value, a confidence and the probability of every value. A score places the input on 2 to 10 levels you list, lowest first, such as very negative, negative and neutral, and returns the expected level as an index from 0, such as 0.18 for mostly the first level. One request can mix all three.

Can GPT-6 Luna Decisions read images?

Yes. Put images in the input as input_image parts of a user message, as a base64 data URL or a public https link, in PNG, JPEG, WebP or GIF, with detail set to low, high, auto or original. A 1200 by 630 image adds about 750 tokens at high or auto and about 150 at low. Structured data goes in as input_json parts. It doesn't read PDFs, audio or video.

What is a refusal?

Any question can come back as {"type": "refusal"} instead of an answer, while the other questions in the request are still answered. In our tests, the input "Refund requested 38 hours ago." with the predicate "Page on-call?" came back refused. Check each answer's type before you read it, and ask again more clearly or send the case to a person.

How big can a request be?

Up to 1,050,000 tokens, the input and every question together: an input of 918K tokens worked in our tests. A request takes 1 to 64 questions, a choice 2 to 255 unique values and a score 2 to 10 levels. Zurelay checks a request before it reaches the model, so a malformed one is refused with a clear error and costs nothing.

How fast is GPT-6 Luna Decisions?

In our tests answers came back in 0.3 to 1 second, in about a second with an image, and an input of about 900K tokens took about 10 seconds. The answers come back whole: the API doesn't stream.

What isn't supported?

System, developer and assistant messages, function and tool call items, streaming, and images inside a question's instructions: each is refused with a 400 that says why. Put context in a user message or in a question's instructions. prompt_cache_key and prompt_cache_options are accepted and ignored: caching is automatic, and every input token costs the same.

Is this OpenAI's GPT-6 Luna Decisions?

Yes. Requests to gpt-6-luna-decisions run on OpenAI's GPT-6 Luna Decisions, and Zurelay doesn't swap in a different model or a chat model asked to act like one. Zurelay is an independent service and is not affiliated with or endorsed by OpenAI.

More models on Zurelay

All models

Stop paying list price.
Start saving today.

Create a key in seconds, point the SDK you already use at Zurelay, and every request costs up to 90% less from the first token.