GPT-6 via API: Astra, 6.1 Sol, 6 Sol and Luna — prices and setup

The whole GPT-6 lineup in one place: prices, intelligence index, caching, when to use which model, and how to connect with Python and curl.

5 min · · models · development

The GPT-6 API on Zukko means four models: GPT-6 Astra, GPT-6.1 Sol, GPT-6 Sol and GPT-6 Luna. All are available with one fetch_... key in both OpenAI and Anthropic formats, paid per token from a dollar balance. Below: prices as of October 7, 2026, intelligence index, context, how caching works, when to use which model, and ready-made Python and curl examples.

The GPT-6 lineup: prices and specs

Prices as of October 7, 2026, USD per 1M tokens:

ModelidInput / outputCache readOpenAI official price input / outputIntelligence indexContextImage input
GPT-6 Astragpt-6-astra0.62 / 3.050.06310 / 50531Myes
GPT-6.1 Solgpt-6.1-sol0.27 / 1.320.0132 / 10521Myes
GPT-6 Solgpt-6-sol0.13 / 0.630.0132 / 10no data1Myes
GPT-6 Lunagpt-6-luna0.04 / 0.210.0380.1 / 0.5381Mno

The intelligence index is the Artificial Analysis Intelligence Index in the Zukko catalog: a composite score across a set of benchmarks. The catalog has no value for GPT-6 Sol. For the current list and prices, call GET https://api.zukko.pro/v1/models or open the Models page in the dashboard.

What 1,000 requests cost

A typical request is 2,000 input and 500 output tokens. Formula for 1,000 requests: 1000 × (2000 × input + 500 × output) / 1,000,000, i.e. 2 × input + 0.5 × output.

ModelCalculation1,000 requests
gpt-6-astra2 × 0.62 + 0.5 × 3.05$2.765
gpt-6.1-sol2 × 0.27 + 0.5 × 1.32$1.20
gpt-6-sol2 × 0.13 + 0.5 × 0.63$0.575
gpt-6-luna2 × 0.04 + 0.5 × 0.21$0.185

Totals are an example calculation at prices as of October 7, 2026.

How caching is billed for GPT-6

For GPT models the gateway sees only cache reads — the prompt_tokens_details.cached_tokens field, which is included in prompt_tokens. Cache writes aren't billed separately: the first request is billed entirely at the input price. Caching shows up in both formats — /v1/chat/completions and /v1/messages.

Example: a system prompt with instructions and reference data of 20,000 tokens, of which 18,000 come from cache on repeat requests, plus 2,000 for the new question and a 500-token answer. Per-request formula: (18,000 × cache read + 2,000 × input + 500 × output) / 1,000,000.

  • GPT-6.1 Sol: (18,000 × 0.013 + 2,000 × 0.27 + 500 × 1.32) / 1,000,000 = $0.001434. Without cache: (20,000 × 0.27 + 500 × 1.32) / 1,000,000 = $0.00606.
  • GPT-6 Luna: (18,000 × 0.038 + 2,000 × 0.04 + 500 × 0.21) / 1,000,000 = $0.000869. Without cache — $0.000905.
  • GPT-6 Sol: (18,000 × 0.013 + 2,000 × 0.13 + 500 × 0.63) / 1,000,000 = $0.000809.

The takeaway: Luna's cache read is barely cheaper than its input, so with a long repeated prompt GPT-6 Sol comes out cheaper than Luna in this example. Check the math on your own profile and read the actual cached token count from usage.

Which GPT-6 model to choose

  • GPT-6 Astra — the highest index in the lineup (53) and the highest price. For tasks where a mistake is expensive.
  • GPT-6.1 Sol — index 52, with input and output more than twice as cheap as Astra. A sensible starting point for most tasks and the default model in our examples.
  • GPT-6 Sol — cheaper than 6.1 Sol, no index data. Worth testing on your tasks if 6.1 Sol handles them with room to spare.
  • GPT-6 Luna — the cheapest, index 38, no image input. Fits bulk simple tasks where the result is checked by code: classification, field extraction, short answers.

For comparison outside the lineup: Claude Opus 5.5 has an index of 58 at 0.8 / 4; more in the article GPT or Claude: which to choose in 2026. The final choice comes from testing: run 30–100 real examples on 2–3 models and take the cheapest that clears your accuracy bar.

GPT-6 API: connecting with Python and curl

Python, OpenAI SDK

bash
import os
from openai import OpenAI

client = OpenAI(base_url="https://api.zukko.pro/v1", api_key=os.environ["OPENAI_API_KEY"])

resp = client.chat.completions.create(
    model="gpt-6.1-sol",
    messages=[
        {"role": "system", "content": "Answer briefly and to the point."},
        {"role": "user", "content": "Compare Python lists and tuples in three points."},
    ],
)
print(resp.choices[0].message.content)

usage = resp.usage
details = usage.prompt_tokens_details
cached = (details.cached_tokens or 0) if details else 0
print(f"input {usage.prompt_tokens} (cached {cached}), output {usage.completion_tokens}")

Streaming

bash
stream = client.chat.completions.create(
    model="gpt-6-luna",
    messages=[{"role": "user", "content": "Suggest five names for a coffee shop."}],
    stream=True,
)
for chunk in stream:
    if chunk.choices:
        print(chunk.choices[0].delta.content or "", end="", flush=True)
print()

The if chunk.choices: check is required: the last chunk arrives with usage and an empty choices.

curl: chat/completions

bash
curl https://api.zukko.pro/v1/chat/completions \
  -H "Authorization: Bearer $ZUKKO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-astra",
    "messages": [{"role": "user", "content": "Explain idempotency in two sentences."}]
  }'

curl: Responses API

bash
curl https://api.zukko.pro/v1/responses \
  -H "Authorization: Bearer $ZUKKO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-6.1-sol", "input": "Name three ways to speed up an SQL query."}'

Reference in the Python docs and chat/completions docs.

Common errors

  • 404 model_not_found — a typo in the id: it's gpt-6.1-sol, not gpt-6-1-sol.
  • 503 model_disabled — the model is temporarily disabled; switch to another one from GET /v1/models.
  • 402 — insufficient balance; 429 — the key's daily or monthly limit is used up, or the model provider is rate limiting.
  • An image sent to Luna — GPT-6 Luna doesn't accept images; use Sol or Astra.

Create a key in the dashboard — it works with all GPT-6 models, as well as Claude, Gemini and the rest. A dedicated look at the top model is in the article GPT-6 Astra via API.

FAQ

How does GPT-6.1 Sol differ from GPT-6 Sol?

Per the catalog: 6.1 Sol costs 0.27 / 1.32 with an index of 52; 6 Sol costs 0.13 / 0.63 with no index. Both have a 1M context and both accept images. Test the quality difference on a few of your own examples.

Can I call GPT-6 in the Anthropic format?

Yes. Any model can be called in the OpenAI or Anthropic format; the gateway converts the request. GPT cache reads show up in both formats.

What context do GPT-6 models have?

All four have 1M tokens per the Zukko catalog. Long context raises the cost of a request: every token you send is billed.

Which GPT-6 model is the cheapest?

GPT-6 Luna: 0.04 / 0.21 per 1M tokens as of October 7, 2026. But with a long repeated prompt and caching, GPT-6 Sol can come out cheaper — run the formula above.

zukko

Pay 25×
less

for Claude Code & ChatGPT

One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.

Get API keyDocumentation

api.zukko.pro · fetch_*

GPT-6 API: Astra, Sol and Luna — pricing and setup · Zukko