GLM-5.3-Flash vs GPT-5.6-Luna: the Cheapest Models in the API
The two cheapest models on Zukko differ in price, context window, and /v1/responses support. We do the cost math and show how to compare them on your data.
5 min · · сравнение · models · экономия
GLM-5.3-Flash and GPT-5.6-Luna are the two cheapest models on Zukko, and the choice between them usually comes down to three things: price, context window, and support for the endpoint you need. A table cannot show answer quality on your tasks; you have to check that yourself, and there is a script for it below.
The facts side by side
| Parameter | glm-5.3-flash | gpt-5.6-luna |
|---|---|---|
| Zukko price, input / output per 1M tokens | $0.04 / $0.04 | $0.10 / $0.10 |
| Official vendor price, input / output | $0.15 / $0.50 | not published |
| Context window | 128K tokens | 1M tokens |
/v1/chat/completions | yes | yes |
Anthropic format /v1/messages | yes (the gateway converts) | yes (the gateway converts) |
/v1/responses | no | yes |
What follows from this:
- Price. On the same volume, Flash costs 0.04 / 0.10 of what Luna does. For example, 10 million tokens: 10 × 0.04 = $0.40 on Flash and 10 × 0.10 = $1.00 on Luna.
- Context. Anything larger than 128K tokens including the answer will not fit into Flash in one request. Luna takes up to 1M.
- Endpoints. Tools that only work through the Responses API (for example, Codex) can use Luna but not Flash: GLM models on Zukko do not work via
/v1/responses.
The model lineup changes; the current list is at GET https://api.zukko.pro/v1/models or on the "Models" page in the dashboard.
When price decides: streams of short requests
Ticket classification, extracting fields from emails, product tagging, short bot replies: these are thousands of small requests where the context is nowhere near 128K.
Example: a request with 5,000 input and 2,000 output tokens.
- Flash: (5,000 × 0.04 + 2,000 × 0.04) / 1,000,000 = $0.00028 per request, $0.28 per 1,000 requests.
- Luna: (5,000 × 0.1 + 2,000 × 0.1) / 1,000,000 = $0.0007 per request, $0.70 per 1,000 requests.
An example with very short requests: classification with 300 input and 10 output tokens, a million requests, which is 310 million tokens.
- Flash: 310,000,000 × 0.04 / 1,000,000 = $12.40.
- Luna: 310,000,000 × 0.1 / 1,000,000 = $31.
If both models give acceptable results on your examples, at these volumes the price gap becomes a noticeable line item.
When context decides: large documents and long sessions
A 50K-token log plus a 1,000-token question and a 3,000-token answer is 54,000 tokens in total. That fits both models:
- Flash: 54,000 × 0.04 / 1,000,000 = $0.00216;
- Luna: 54,000 × 0.1 / 1,000,000 = $0.0054.
A 300K-token log will not fit into Flash in one piece. On Luna: (300,000 + 3,000) × 0.1 / 1,000,000 ≈ $0.030. The alternative is to split the log and process each part with Flash, but then the model cannot see connections between parts.
Agents and long conversations are a separate case. Each step resends the whole accumulated history, and the context grows. If your sessions regularly approach 100K tokens, Flash will hit its limit sooner. Mind the price too: at an agent's tenth step you pay for the history of all ten steps as input. Zukko bills cached tokens at the regular input price, while vendors charge roughly 10% of the input price for cache reads, so it pays to keep long agent sessions compact.
How to choose in practice
- Measure your request size. Take 20–50 real requests and look at
usage.prompt_tokensin the responses. If input plus the expected answer is comfortably below 128K, both models fit. - Check which endpoint your tool needs. If it needs
/v1/responses, Luna is the option. - Compare results on your own data with the script below: the same requests, both models, answers saved to a file for blind review.
- Calculate the month with the formula: (monthly input + output) × price / 1,000,000.
A script to compare them on your tasks
The script runs your prompts through both models, computes cost from usage, and saves the answers to JSON so they can be judged without knowing which model wrote what.
import json
import os
import random
import time
from openai import OpenAI
client = OpenAI(
base_url="https://api.zukko.pro/v1",
api_key=os.environ["OPENAI_API_KEY"],
)
PRICES = {"glm-5.3-flash": 0.04, "gpt-5.6-luna": 0.10} # $ per 1M, input = output
How to use it: ask a colleague to rate answers A and B in comparison.json without opening the model field, and only then check which model won. The script also records response time, but that is your measurement in your conditions, so repeat it at different times of day.
More on request format is in the Chat Completions reference and the models reference.
Typical scenarios
| Scenario | What matters | Where to start |
|---|---|---|
| High-volume classification and field extraction | Price per request | Flash, then check against Luna |
| Documents and logs larger than 128K tokens | Context | Luna |
| Codex and other Responses API clients | Endpoint | Luna |
| Agent chains with growing history | Context and the cost of history | Measure session size, compare both |
FAQ
Can Flash handle a 100K-token request?
Size-wise, yes: 100K is less than 128K. But the context limit includes the answer, so 100K of input plus max_tokens must fit into 128K with room to spare. A request larger than the model's context will be rejected with an error; trim the input, split the document, or use a 1M-context model. Do not confuse this with HTTP 413 payload_too_large: that Zukko error is about a request body larger than 32 MB, not about tokens.
How far does $1 go?
On glm-5.3-flash, $1 is 1 / 0.04 = 25 million tokens. With 7,000-token requests (5,000 + 2,000) that is about 3,570 requests; at 100 requests a day, roughly 35 days. On gpt-5.6-luna, $1 is 10 million tokens, about 1,430 such requests, roughly 14 days.
Which model is faster?
We have no data you could rely on: speed depends on answer length, load and time of day. Measure it yourself with the script above on your requests, and repeat the measurement several times.
Can I switch between the models without rewriting code?
Yes. Both models work through the same /v1/chat/completions with the same key; only the model field changes. Move the model name into configuration and both comparison and migration take a minute. To start, create a key in the dashboard and go through the quick start.
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
- GPT-6 Astra or Claude Fable 5.1: Two Top Models by Price and IndexTwo premium models with the same intelligence index and different Zukko prices. We price a single request and an agent session with cache, and explain how to choose on your own data.
- Qwen or DeepSeek via API: Price, Context and Intelligence IndexFour models, one task and an honest calculation: what a run costs on Qwen 3.8 Max and Flash versus DeepSeek V4 Pro and V4.1 Flash.
- Claude Fable 5.1 or Sonnet 5.5: when a big price gap is justifiedFable 5.1 costs far more than Sonnet 5.5. We price the same task in both API formats and give a way to choose the model from results on your own examples.
- DeepSeek V4 Flash or V4.1 Flash: which cheap model to pickA newer version is not always more expensive. We compare DeepSeek V4 Flash and V4.1 Flash on price, cache, context and intelligence index, cost a workload and show how to test.