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

Parameterglm-5.3-flashgpt-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.50not published
Context window128K tokens1M tokens
/v1/chat/completionsyesyes
Anthropic format /v1/messagesyes (the gateway converts)yes (the gateway converts)
/v1/responsesnoyes

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

  1. Measure your request size. Take 20–50 real requests and look at usage.prompt_tokens in the responses. If input plus the expected answer is comfortably below 128K, both models fit.
  2. Check which endpoint your tool needs. If it needs /v1/responses, Luna is the option.
  3. Compare results on your own data with the script below: the same requests, both models, answers saved to a file for blind review.
  4. 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.

bash
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

ScenarioWhat mattersWhere to start
High-volume classification and field extractionPrice per requestFlash, then check against Luna
Documents and logs larger than 128K tokensContextLuna
Codex and other Responses API clientsEndpointLuna
Agent chains with growing historyContext and the cost of historyMeasure 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.

Get API keyDocumentation

api.zukko.pro · fetch_*

GLM-5.3-Flash vs GPT-5.6-Luna: Which Budget API Model to Pick · Zukko