Published: · Updated:
Exact ID: gpt-6-luna. Check access for your key using GET /v1/models; a published model does not guarantee access for every account.
Prices and billing units
| API429: published rates | Manufacturer: base Standard |
|---|---|
$0.03750 / 1,000,000 cache-write input tokens · Context up to 272,000 tokens inclusive $0.0750 / 1,000,000 cache-write input tokens · Context over 272,000 tokens $0.0030 / 1,000,000 cached input tokens · Context up to 272,000 tokens inclusive $0.0060 / 1,000,000 cached input tokens · Context over 272,000 tokens $0.030 / 1,000,000 input tokens · Context up to 272,000 tokens inclusive $0.060 / 1,000,000 input tokens · Context over 272,000 tokens $0.150 / 1,000,000 output tokens · Context up to 272,000 tokens inclusive $0.2250 / 1,000,000 output tokens · Context over 272,000 tokens | $0.1 / $0.5 per 1M ordinary input / output tokens Standard; input ≤272,000 tokens Manufacturer sourceChecked: Oct 24, 2026. Cache, tools and special modes are excluded from this rate pair. |
API429 catalog generated . This dates the catalog data, not the model’s addition.
Workload budget: input and output
Ordinary input and output are counted, excluding cache, tools, fees and repeated calls. This estimates spending; it does not validate whether a request is accepted. RUB results use only your entered rate; they are neither a bank quote nor a top-up amount.
Specifications and compatibility boundaries
The manufacturer specifies a context window of 1,050,000 and a maximum output of 128,000 tokens for its own API (specification: OpenAI, checked Oct 24, 2026). These are not verified effective API429 limits: the current public catalog does not publish them. Confirm the required volume and mode before migrating your workload.
API429 capabilities published for this exact ID: chat function_calling reasoning . A missing property does not mean a prohibition, but it does not establish support. Check input format, tools, JSON/schema, reasoning and streaming separately for the selected method.
Classifying support requests: measure errors by category
Begin with a small set of synthetic requests and two or three permitted labels. Define the correct category and a rule for mixed-topic requests in advance. The example below distinguishes documentation from billing, but it is not a GPT-6 Luna accuracy measurement. In a real queue, check that the application receives one valid label and provide manual review for empty, ambiguous or excessive answers. Count errors separately by category: overall accuracy may hide a problem in a rare class. OpenAI positions the model for focused high-volume tasks, which helps choose an evaluation scenario. As complexity grows, compare Luna with Sol on the same sample and include the cost of additional checks and repeated requests needed to accept the result.
Field extraction and the basic client contract
Another control scenario is extracting known fields, such as request type and named product, from a short description. Define missing-data rules first and validate the answer in your application. A text instruction to return fields does not itself enable native Structured Outputs. This page’s basic API429 request uses only documented model, messages, max_tokens and stream. In the OpenAI API, GPT-6 Luna supports reasoning effort none and several reasoning levels; Chat Completions function calling is described only for none, while reasoning with tools requires Responses. These are manufacturer parameters and should not be added to a gateway request without verification. Confirm the required data format and error behavior separately before connecting the answer to a subsequent automatic action.
Large queues: distinguish request count from one input’s length
High-volume budgets need two measurements: how many independent requests you will send and how long each input is, including instructions. Multiplying average usage helps only when size distributions are similar. A few long documents may substantially change the estimate. At the manufacturer, input above 272,000 tokens applies higher rates to the whole request including output; you cannot bill only the excess in another band. By default, the calculator counts ordinary input and output without cache or tools. It also cannot predict retries caused by format errors. Use current API429 catalog prices and actual usage from a control sample. Batch or another OpenAI mode does not establish its availability or price for your gateway integration.
Launching a queue after a short test
Check gpt-6-luna in the model list under your key and send one short message. Then test different categories, empty text and a two-topic request. For streaming, check separately that the client receives a completed response and does not treat an intermediate fragment as the final label. max_tokens must leave room for the required result; too small a value can truncate answers and increase retries. The public mean latency does not guarantee every request’s duration or define safe queue concurrency. If your scenario includes images, account for the manufacturer’s September 25, 2026 image encoding fix and update your control set. Confirm the specific image transmission method through API429 separately against client documentation.
Public model observations
Over the last 24 hours: mean successful response time — 4.7 s; service error rate — 4.9%. Data as of .
Source: public 24-hour statistics. The mean is neither a median nor a response time guarantee; the error rate and observation window refer to the API429 service. Model quality is not measured here.
First request: curl, Python, JavaScript
Create a key, check your balance and set API429_API_KEY on the server. The generation example incurs a charge. It does not retry automatically; a timeout does not prove the operation was not charged. Inspect the content and actual usage after receiving a response. Python and JavaScript first check the available model list.
curl
Before generation, check the exact ID in the response from GET https://gateway.api429.com/v1/models using the same Bearer key.
curl --fail-with-body https://gateway.api429.com/v1/chat/completions \
-H "Authorization: Bearer $API429_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-6-luna","messages":[{"role":"user","content":"Classify “Please send a request example” as documentation or billing. Reply with one label."}],"max_tokens":512,"stream":false}'Python 3
import json
import os
import urllib.request
key = os.environ["API429_API_KEY"]
base = "https://gateway.api429.com/v1"
headers = {"Authorization": "Bearer " + key, "Content-Type": "application/json"}
models_request = urllib.request.Request(base + "/models", headers=headers)
with urllib.request.urlopen(models_request, timeout=30) as response:
available = {item["id"] for item in json.load(response)["data"]}
model = "gpt-6-luna"
if model not in available:
raise ValueError("Model is unavailable to this key")
payload = json.loads("{\"model\":\"gpt-6-luna\",\"messages\":[{\"role\":\"user\",\"content\":\"Classify “Please send a request example” as documentation or billing. Reply with one label.\"}],\"max_tokens\":512,\"stream\":false}")
request = urllib.request.Request(base + "/chat/completions",
data=json.dumps(payload).encode("utf-8"), headers=headers, method="POST")
with urllib.request.urlopen(request, timeout=60) as response:
result = json.load(response)
choice = result["choices"][0]
if choice.get("finish_reason") != "stop" or not choice.get("message", {}).get("content"):
raise ValueError("Incomplete or empty response")
print(choice["message"]["content"])
print(result.get("usage"))JavaScript: Node.js 18+
const key = process.env.API429_API_KEY;
if (!key) throw new Error("Set API429_API_KEY");
const base = "https://gateway.api429.com/v1";
const headers = { Authorization: "Bearer " + key, "Content-Type": "application/json" };
const model = "gpt-6-luna";
const available = await fetch(base + "/models", { headers, signal: AbortSignal.timeout(30000) });
if (!available.ok) throw new Error("Models HTTP " + available.status);
if (!(await available.json()).data.some(item => item.id === model)) throw new Error("Model unavailable to this key");
const response = await fetch(base + "/chat/completions", {
method: "POST", headers, signal: AbortSignal.timeout(60000),
body: JSON.stringify({"model":"gpt-6-luna","messages":[{"role":"user","content":"Classify “Please send a request example” as documentation or billing. Reply with one label."}],"max_tokens":512,"stream":false})
});
if (!response.ok) throw new Error("Generation HTTP " + response.status);
const result = await response.json();
const choice = result.choices?.[0];
if (choice?.finish_reason !== "stop" || !choice?.message?.content) throw new Error("Incomplete or empty response");
console.log(choice.message.content);
console.log(result.usage);The examples use basic fields from the published API contract. They are checked offline; no successful paid execution or output accuracy is claimed.
n8n: minimal HTTP Request
- Create an HTTP Request with method POST and URL
https://gateway.api429.com/v1/chat/completions. - Store the Bearer key in credentials; add
Content-Type: application/json. Do not put the key in an exported workflow example. - Send the JSON from curl: the exact model
gpt-6-luna, messages, max_tokens and stream=false. - After the HTTP node, check
choices,finish_reasonand the response content before writing the result to your production system.
HTTP Request documentation. This recipe describes HTTP Request. Compatibility with specific Agent nodes, SDKs and other API methods needs separate verification.
Three models for your own comparison
These are options for a controlled comparison on the same task, rather than a quality ranking. Base rates apply to a short text request; see the catalog for full pricing.
| Model | API429: input / output per 1M tokens |
|---|---|
GPT 5.6 Lunagpt-5.6-luna | $0.3 / $1.8 |
GPT 6.1 Solgpt-6.1-sol | $0.6 / $3 |
GPT 6 Astragpt-6-astra | $3 / $15 |
Version and release date
Manufacturer API release date, OpenAI: . The exact predecessor has not been established in the reviewed sources. The date of addition to API429 is unknown. Current availability is determined by the catalog and key permissions, rather than the manufacturer’s historical release date.
Frequently asked questions
Is Luna suitable for automatically sorting support requests?
It is a reasonable scenario for your own evaluation because OpenAI describes the model for focused high-volume tasks. First measure errors on a labeled sample, define permitted labels and route ambiguous answers. This page’s example does not establish production accuracy.
Can I combine the whole queue into one long request?
That changes input length, truncation risk and pricing conditions. At the manufacturer, exceeding 272,000 input tokens changes the price of the whole request. Compare individual requests and combined batches for completeness and actual usage.
Does the example promise a strict JSON schema?
No. The basic example is a text Chat Completions request with a short answer. Your application validates fields. Native Structured Outputs and other additional modes need separate confirmation for the selected API429 method.
How should I compare GPT-6 Luna with GPT-5.6 Luna?
Use the same examples, classification rules and error criteria. Compare the cost of an accepted label including retries and manual review. Similar names do not establish equal behavior, interchangeable parameters or identical access under your key.
Sources and review
- developers.openai.com/api/docs/models/gpt-6-luna
- developers.openai.com/api/docs/guides/latest-model
- developers.openai.com/api/docs/changelog
- gateway.api429.com/api/public/openapi.json
Editorial review: . Pricing and general calculator · Getting started · Compare the family: OpenAI