Now available: GPT-6 Luna Decisions

Try the model

OPENAI / OPENROUTER

GPT-6 Luna Decisions

OpenAI’s decision model reads shared text, JSON or images and returns typed answers with probabilities. Use it for classification, routing, moderation and rubric scoring through the same playground and API as Jev.

openai/gpt-6-luna-decisions
TextJSONImages

New accounts get 100 credits. The playground and API share one balance.

Context window

1,050,000

tokens · provider-listed maximum

OpenRouter input price

$0.10 / 1M

per million input tokens

OpenRouter output price

$0 / 1M

output tokens are free upstream

This site's input rate

1500

credits per million input tokens · minimum 1 per successful request

JEV / SYSTEM ONE

Uses the Jev decision playground

Live OpenRouter requests with text, JSON objects and arrays pass the existing Jev validators for Choice, Score and Noul. Send model, state and a questions object to /v1/systemone. Read answers in data.result.answers. Image attachments use the same shared image interface.

SPAN / NOUL

How it differs from Span

Span accepts only Noul behavior questions and requires text or a specific input/output conversation object. This model also accepts Choice and Score questions, with text, generic JSON objects, or arrays as state. Use the Jev playground for this broader decision contract.

Three structured answer types

Choice returns a named option and its probability distribution. Score returns a value on an ordered scale with probabilities. Noul returns the probability of a yes/no condition. Multiple questions share the same state.

choicescorenoul

OpenRouter lists a 1,050,000-token provider context and up to 200 questions. This platform accepts up to 8 questions, 2–255 Choice options and 2–10 Score levels. Text plus questions must fit 32 KiB. Add up to 4 PNG, JPEG or WebP images: 4 MiB and 16 MP each, 8 MiB total, and 13 MiB for the complete request. These platform limits apply even when the provider’s context is larger.

This integration uses OpenRouter’s decisions endpoint and model openai/gpt-6-luna-decisions. OpenAI’s native /v1/decisions uses input, question/answer arrays and predicate/probability fields, so its request format differs from the Jev contract used here. A refusal, missing answer or invalid response fails the request and releases its credit reservation.

Input and output credits

OpenRouter lists $0.10 per million input tokens and $0 for output. This platform charges 1500 credits ($0.15) per million actual input tokens, including questions and processed images, rounded up per successful request with a minimum of 1 credit ($0.0001). Web, API and evaluation share this rate. Output tokens add no charge; failed calls release the reservation.

max(1, ceil(input_tokens × 1500 / 1,000,000))

A successful request with 1,000 input tokens costs 2 credit; 5,000 input tokens cost 8 credits. Output tokens add no charge. Failed calls release the credit reservation.

Verified October 7, 2026 through OpenRouter: text, object and array state; all three answer types; 8 mixed questions; 255 Choice options accepted and 256 rejected; 10 Score levels; Noul without criteria; a long-state tail marker; contrasting red/blue images and four-image requests. Actual usage fits the reserved budget in these probes. The refusal probe returned a normal answer; refusal handling is covered by simulated route tests. These checks verify the API contract, not model accuracy or a latency SLA.

Try GPT-6 Luna Decisions in the shared playground

The Jev workbench below starts with this model selected. Try a recipe, edit the state and questions, or export API code. This page stores its browser draft separately from other model pages and the main playground.

What do you want to decide?

Choose a task to load its input and rules. Loading examples uses no credits.

GPT-6 Luna Decisions ↗Span · behavior evaluation ↗

OpenRouter provider context: 1,050,000 tokens. This platform: 8 questions, 32 KiB text plus questions, and up to 4 images. Image input verified October 7, 2026.

Text or JSON shared by all questions; attach images below on vision models.

Images 0/4

Image input

Embedded images stay in this page until you leave or refresh. Saved configurations and history keep image metadata; API URL references are retained and may expire.

Advanced question settings

Questions 1/8

Which team should handle this ticket? Use other when no option fits.Choice

Options

Maximum credit budget: 2 credits

We reserve this budget before the model runs, then charge actual usage and return the difference. Failed calls are refunded.

New account? Receive 100 credits once. Short requests typically use 1 credit; longer inputs can use more.

100 welcome credits · one balance for web & API

Draft saved in this browser · Your draft will be restored after sign-in.

Your current configuration stays in this browser tab for the setup flow.

ILLUSTRATIVE EXAMPLE · NO CREDITS USED

“I was charged twice this morning. Please refund the duplicate payment today.”

One input → structured decisions

Choice

Billing

Route to the billing queue

Yes / no

96%

Probability of an urgent request

Score

2.8 / 3

Urgency on a 0–3 scale

Static illustration of the output format. Values are not a live model response or a measure of accuracy.

Web runs and saved configurations are private to your account. API history stores usage only. Embedded image pixels are omitted from drafts, configurations and history; metadata and missing-image counts remain. Add the images again before replaying. API URL references may expire. API setup exports local-file code without storing pixels.Usage ↗

Your draft will be restored after sign-in.

Use the same decision API

Send model, state, and questions to Decisions API's /v1/systemone endpoint with an API key created here. Set model to openai/gpt-6-luna-decisions; answers are in data.result.answers and token usage is in data.result.usage.

// Server-side JavaScript (Node 20+ or Bun). Set DECISIONS_API_KEY.
const response = await fetch("https://decisions-api.dev/v1/systemone", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.DECISIONS_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "model": "openai/gpt-6-luna-decisions",
  "state": "I was charged twice for order A-4471. Please refund the duplicate payment.",
  "questions": {
    "route": {
      "type": "choice",
      "instructions": "Which team should handle this ticket? Use other when no option fits.",
      "criteria": {
        "billing": "Payments, charges and refunds",
        "technical": "Bugs and product errors",
        "account": "Login and account access",
        "other": "None of these teams"
      }
    }
  }
}),
});
const body = await response.json();
if (!response.ok || body.code !== 0) throw new Error(body.message);
console.log(body.data.result.answers);
console.log(body.data.creditsUsed);