GPT-6 Luna via API: the low-cost GPT-6 for bulk text tasks
The cheapest GPT-6 model in the catalog. How to connect it, what it can't take as input, and what labelling 100,000 messages costs.
6 min · · models · экономия
GPT-6 Luna is the cheapest GPT-6 model in the Zukko catalog: $0.04 per million input tokens and $0.21 per million output tokens. It is used for bulk text tasks: classification, labelling, short extractions. Below is how to connect the gpt-6 luna api, what its limitations are, and what classifying 100,000 messages actually costs.
GPT-6 Luna pricing and its siblings
Prices in USD per 1M tokens, as of 2026-10-06.
| Model | id | Input / output | Cache: read / write | Intelligence index | Context | Image input |
|---|---|---|---|---|---|---|
| GPT-6 Luna | gpt-6-luna | 0.04 / 0.21 | 0.038 / — | 38 | 1M | no |
| GPT-5.6 Luna | gpt-5.6-luna | 0.06 / 0.3 | 0.013 / — | — | 1M | no |
| GPT-6 Sol | gpt-6-sol | 0.13 / 0.63 | 0.013 / — | — | 1M | yes |
| GPT-6.1 Sol | gpt-6.1-sol | 0.27 / 1.32 | 0.013 / — | 52 | 1M | yes |
For GPT a cache write is not charged separately: the first request is billed in full at the input price, hence the dash in the write column. In the index column, a dash means we have no intelligence index value for that model. The intelligence index is the Artificial Analysis Intelligence Index, a composite benchmark score; GPT-6 Luna scores 38, GPT-6.1 Sol scores 52. The vendor's official price for GPT-6 Luna is $0.1 / $0.5.
For the current model list and prices, call GET https://api.zukko.pro/v1/models or open the Models page in the dashboard.
What to know before you connect
- No image input. Screenshots, receipt photos, scans — not for Luna. Use a model that accepts images, such as
gpt-6-solorgpt-6.1-sol. - Output costs about five times input (0.21 vs 0.04). The model pays off where answers are short: a label, a number, a couple of JSON fields.
- Caching barely helps. A cache read costs $0.038 versus $0.04 for regular input — a 5% difference. Don't build your task's economics around caching.
- 1M-token context, so long texts fit, but every input token is billed.
How to connect GPT-6 Luna via API
The model works in the OpenAI-compatible format: base URL https://api.zukko.pro/v1, a fetch_... key from the dashboard. A quick curl check:
curl https://api.zukko.pro/v1/chat/completions \
-H "Authorization: Bearer fetch_your_key" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-luna",
"messages": [
{"role": "system", "content": "Classify the review sentiment: positive, negative or neutral. Answer with one word."},
{"role": "user", "content": "Delivered a day late, but the courier apologised and everything was intact."}
]
}'In Python, the official openai SDK is all you need:
from openai import OpenAI
client = OpenAI(base_url="https://api.zukko.pro/v1", api_key="fetch_your_key")
resp = client.chat.completions.create(
model="gpt-6-luna",
messages=[{"role": "user", "content": "Extract the city from this address: 5 Lenin St, Kazan, 420000"}],
)
print(resp.choices[0].message.content)
print(resp.usage.prompt_tokens, resp.usage.completion_tokens)If your app already talks to OpenAI, you only change base_url, the key, and the model name. More in the Python docs and the chat/completions docs.
The math: classifying 100,000 messages
A typical task: sort support tickets into five categories. Assumptions:
- a system prompt with instructions and the category list — 300 tokens;
- an average customer message — 150 tokens;
- the answer — a category label, about 10 tokens.
Formula:
cost = (N × input_per_request × input_price + N × output_per_request × output_price) / 1,000,000
For GPT-6 Luna:
- input: 100,000 × (300 + 150) = 45,000,000 tokens → 45 × $0.04 = $1.80
- output: 100,000 × 10 = 1,000,000 tokens → 1 × $0.21 = $0.21
- total: $2.01
The same volume on other models (the same 45M input and 1M output):
| Model | Input | Output | Total |
|---|---|---|---|
| GPT-6 Luna | 45 × 0.04 = $1.80 | 1 × 0.21 = $0.21 | $2.01 |
| GPT-5.6 Luna | 45 × 0.06 = $2.70 | 1 × 0.3 = $0.30 | $3.00 |
| GPT-6.1 Sol | 45 × 0.27 = $12.15 | 1 × 1.32 = $1.32 | $13.47 |
| Gemini 3.8 Flash | 45 × 0.025 = $1.125 | 1 × 0.088 = $0.088 | $1.213 |
| DeepSeek V4.1 Flash | 45 × 0.013 = $0.585 | 1 × 0.038 = $0.038 | $0.623 |
The honest takeaway: within the GPT line, Luna is much cheaper than Sol, but among all low-cost models in the catalog it is not the cheapest. If staying on GPT isn't a requirement, compare it with Gemini 3.8 Flash and DeepSeek V4.1 Flash on your own data — calculations for all the low-cost models are collected in the article on the cheapest models for bulk tasks.
Where the estimate can diverge from reality
- Answer length. If the model writes a 100-token explanation instead of a label, output grows to 10,000,000 tokens: 10 × $0.21 = $2.10, and the total becomes $1.80 + $2.10 = $3.90. Ask for "label only" in the prompt and check
completion_tokens. - Tokenisation. 150 tokens per message is an assumption. The real number depends on language and text length.
- Caching the system prompt. Even if all 300 prompt tokens were read from cache, that is 30,000,000 tokens × $0.038 = $1.14 instead of 30 × $0.04 = $1.20 — $0.06 over the whole run. Short prompts may not be cached at all. For GPT models, cached tokens show up in
prompt_tokens_details.cached_tokens.
The reliable approach: run 200–500 real messages, sum prompt_tokens and completion_tokens from the responses, and multiply by 100,000 / sample size.
A bulk classification script
An example with parallel requests, retry on 429, and cost based on actual usage:
import csv
import time
from concurrent.futures import ThreadPoolExecutor
from openai import OpenAI, RateLimitError
client = OpenAI(base_url="https://api.zukko.pro/v1", api_key="fetch_your_key")
CATEGORIES = ["billing", "delivery", "refund", "technical", "other"]
SYSTEM = (
"You classify customer messages. Answer with exactly one category from this list: "
+ ", ".join(CATEGORIES)
+ ". No explanations."
)
Zukko has no general rate limit of its own: a 429 comes either from a used-up key limit (key_daily_limit_reached / key_monthly_limit_reached, retrying is pointless) or from a limit on the model provider's side. Tune the thread count gradually: if you often get 429 from the provider, lower max_workers. For organising a large request stream, see the article on bulk processing without hitting limits.
When GPT-6 Luna is a good choice
- The task is text-only and the answer is short and checkable: a label, yes/no, a field from the text.
- You already use GPT models and want to move routine work to a cheaper model without changing format or prompts.
- Luna reaches acceptable accuracy on your sample. Its index of 38 is below GPT-6.1 Sol's 52, so compare both on the same 50–100 examples with known correct answers and count the share of matches.
If accuracy falls short, the next step up the line is GPT-6 Sol or GPT-6.1 Sol, but recompute the budget with the table above first.
To try it, create a key in the dashboard and run a test sample — 500 messages cost about one cent under our assumptions.
FAQ
Can I send GPT-6 Luna an image?
No, this model does not accept image input. For images, use a model that does, such as gpt-6-sol or gpt-6.1-sol.
How does GPT-6 Luna compare to GPT-5.6 Luna on price?
GPT-6 Luna is $0.04 / $0.21 per 1M tokens, GPT-5.6 Luna is $0.06 / $0.3. In our classification example that is $2.01 vs $3.00. GPT-5.6 Luna has a cheaper cache read ($0.013), which can matter with long repeated prompts.
Does GPT-6 Luna work through the Anthropic format?
Yes, any model can be called in either format; the gateway converts the request. For bulk scripts, the OpenAI SDK is simpler.
How do I avoid overspending on a large run?
Create a separate key for the run with a daily USD limit and allowed_models set to gpt-6-luna only, and run a sample first to check real token usage.
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.
Related articles
- Grok API price: cost of Grok 4.7, 4.6 and 4.5 with examplesWe price requests to Grok 4.7, 4.6 and 4.5 in Zukko on three scenarios and compare with official xAI prices. Formulas are shown and the arithmetic can be checked.
- DeepSeek API for free: is there a free tier and what is the minimum costWe do not promise free access, but the minimum is very low. A formula-based count of how many requests fit into one dollar.
- DeepSeek API price: cost of V4 Pro and V4.1 Flash worked throughWhat requests to three DeepSeek models cost: the formula, three typical scenarios at 10,000 requests, the role of the cache and a usage-based cost script.
- opencode agents: setting up roles, models and toolsA custom agent in opencode is a role, a model and a set of permissions. A working config where a cheap model handles routine work and a stronger one edits code.