Much production AI traffic is not frontier work. It is classification, routing, extraction, short summaries, moderation and the first, simple step of an agent. For that traffic the small-model tier decides the bill, and the list rates in that tier are now far apart: the six models here span a factor of ten on input.
This comparison covers Gemini 3.8 Flash, GPT-6 Luna, Claude Haiku 4.5, DeepSeek Flash, GLM-5.3 Flash and Qwen3.8 Flash, using only what each vendor publishes, read on 2026-09-29. Where a vendor page did not state a fact, the grid says "Not listed" rather than guessing.
List rates
Vendor list rate, uncached
USD per 1M input tokens
- Claude Haiku 4.5$1.00
- Gemini 3.8 Flashintroductory, to 2026-12-31$0.75
- DeepSeek Flashpeak hours$0.30
- GLM-5.3 Flash$0.15
- Qwen3.8 FlashInternational$0.15
- GPT-6 Lunaprompts ≤272K$0.10
Vendor list rate
USD per 1M output tokens
- Claude Haiku 4.5$5.00
- Gemini 3.8 Flashintroductory, to 2026-12-31$3.75
- DeepSeek Flashpeak hours$1.20
- GLM-5.3 Flash$0.50
- GPT-6 Lunaprompts ≤272K$0.50
- Qwen3.8 FlashInternational$0.47
Per million input and output tokens, the published list rates are:
- Gemini 3.8 Flash: $0.75 and $3.75 through December 31, 2026; $1.50 and $7.50 from January 1, 20271.
- GPT-6 Luna: $0.10 and $0.50 for prompts up to 272K input tokens; above that the full request bills at 2x input and 1.5x output23.
- Claude Haiku 4.5: $1 and $54.
- DeepSeek Flash (
deepseek-flash, mapped to DeepSeek-V4.1-Flash): $0.30 and $1.20 in peak hours, $0.15 and $0.60 off-peak5. - GLM-5.3 Flash: $0.15 and $0.506.
- Qwen3.8 Flash, International (Singapore) deployment: $0.15 and $0.477.
Model pages with the catalog entries INFRO estimates against: Gemini 3.8 Flash, GPT-6 Luna, Claude Haiku 4.5, DeepSeek Flash, GLM-5.3 Flash and Qwen3.8 Flash.
Location options change these rates too. OpenAI charges a 10% uplift on regional processing endpoints for models released on or after March 5, 2026, and EU data residency for Luna is available only with standard processing3. Anthropic's inference_geo US-only option, with its 1.1x multiplier, applies to Claude 4.6 and later models; earlier models such as Haiku 4.5 do not accept the parameter4. The Qwen3.8 Flash rate above is for the International deployment only7.
Limits, modalities and features
| Vendor-published | Gemini 3.8 Flash | GPT-6 Luna | Claude Haiku 4.5 | DeepSeek Flash | GLM-5.3 Flash | Qwen3.8 Flash |
|---|---|---|---|---|---|---|
| Context | 1,048,576 in | 1.05M | 200K | 1M | Not listed | Not listed |
| Max output | 65,536 | 128K | 64K | 384K | Not listed | Not listed |
| Image input | ●Yes | ●Yes | ●Yes | ●Yes | Not listed | Not listed |
| Structured output | ●Yes | ●Yes | ●Yes | ●JSON output | Not listed | Not listed |
| Cached input / 1M | $0.075 | $0.01 | $0.10 | $0.006 peak | $0.03 | Caching listed |
| Batch | ●half rate | ●$0.05 / $0.25 | ●$0.50 / $2.50 | Off-peak: half rate | Not listed | Not listed |
The limits differ more than the tier name suggests:
- Gemini 3.8 Flash accepts 1,048,576 input tokens and returns up to 65,536, with text, image, video, audio and PDF input; Google lists batch, caching, code execution, function calling, search grounding, structured outputs and thinking at
low,mediumorhigh8. - GPT-6 Luna has a 1.05M window and 128K output, text and image input, and supports structured outputs, function calling and prompt caching; fine-tuning is not supported2.
- Claude Haiku 4.5 has a 200K window and 64K output, extended thinking, and reliable knowledge to February 20259; structured outputs are generally available on it10.
- DeepSeek Flash has a 1M context and a 384K maximum output, and supports JSON output, tool calls and chat prefix completion; vision is available on
deepseek-flash5. - GLM-5.3 Flash and Qwen3.8 Flash: the pricing pages list rates and caching, but not context or output limits. Read the model's own documentation before designing around a limit.
Caching and batch
In high-volume work the stable part of the prompt — instructions, label definitions, few-shot examples — is resent on every call, so the cached-input rate matters. Published cached-input rates per million are $0.075 for Gemini 3.8 Flash through 2026, plus storage at $0.50 per million tokens per hour1; $0.01 for Luna3; $0.10 for Haiku 4.54; $0.006 for DeepSeek Flash at peak5; and $0.03 for GLM-5.3 Flash, with cached storage listed as free for a limited time6. Alibaba Cloud lists context caching for Qwen3.8 Flash without a separate rate on the pricing page7.
For work nobody waits for, batch changes the comparison. Google lists batch at half the standard rate for Gemini 3.8 Flash1; OpenAI lists Luna's batch rate at $0.05 and $0.253; Anthropic lists Haiku 4.5's at $0.50 and $2.504. The DeepSeek pricing page read for this article lists no batch rate; its off-peak rate is half the peak rate5.
Dated changes to plan for
- WeekdaysDeepSeek peak hours01:00–04:00 and 06:00–10:00 UTC bill the peak rate; other hours bill half.
- 2026-10-15Claude Haiku 4.5Anthropic's retirement commitment: not sooner than this date.
- 2026-12-31Gemini 3.8 Flash introductory rate ends$0.75 input, $3.75 output per 1M tokens through this date.
- 2027-01-01Gemini 3.8 Flash standard rate$1.50 input, $7.50 output per 1M tokens.
- Gemini 3.8 Flash doubles on January 1, 2027. A cost model built on the introductory rate will be wrong from that day1.
- DeepSeek's peak hours are 01:00–04:00 and 06:00–10:00 UTC, Monday to Friday, excluding Chinese public holidays; all other hours bill off-peak5. For a European or American daytime workload, much of the traffic falls outside those windows; for an Asian daytime workload, much falls inside.
- Claude Haiku 4.5 will not be retired sooner than October 15, 2026 on Anthropic's own platforms9. That is a floor, not an announcement, but it is close.
What per-token rates hide in this tier
At high volume, three effects outweigh a few cents of rate:
- Pass rate. A model that fails 5% more of your classification tasks sends 5% more traffic to a retry or a larger model, at the larger model's rate.
- Output length. Small models differ in how much they write for the same instruction. On output-heavy tasks, verbosity multiplies the output rate.
- Thinking. Several of these models can reason before answering; Gemini 3.8 Flash exposes
lowtohigh, and Luna acceptsnonethroughmax82. The same model at a different effort is a different cost point.
A method for choosing
- Define the task and its check. For classification, exact-match labels; for extraction, schema validity plus field accuracy on a labelled sample.
- Filter on hard constraints: window, output limit, input modality, data location, and whether the vendor's terms fit your data.
- Run the shortlisted models on the same few hundred real inputs, at the effort you would ship, with the stable prefix cached.
- Compute cost per successful task, including what happens to failures.
- Route the task tier to the winner, with a second model as fallback, and re-run when a dated rate change arrives.
Before moving high-volume traffic to a smaller model
A change in this tier is multiplied by every request, so check more than the rate:
- The model's context and output limits fit the largest real input and the longest expected output, not the average.
- Every input modality the task uses (images, PDFs, audio) is listed for the model.
- Structured output or tool calling is documented for the exact model, if the task depends on it.
- The stable prefix is cacheable and the cached rate is in your cost model.
- Dated rate changes and retirement commitments are on the calendar, with an owner.
- Peak-hour or long-prompt pricing is modelled against your real traffic shape.
- A tested fallback model exists for the task, with its own measured pass rate.
- The vendor's data terms and processing region are approved for the data the task sends.
- Failures are detected by a check, not discovered by users.
Running the comparison through INFRO
Connect the providers you want to test as provider connections. Google AI (Gemini), OpenAI, Anthropic and DeepSeek have their own connection kinds; a model from a vendor without one can be reached through a host that serves it or through an OpenAI-compatible endpoint connection, which needs a model map from the catalog id to the id that endpoint uses. Each provider bills its own account directly.
Send the same inputs to each catalog id — for example google/gemini-3.8-flash, openai/gpt-6-luna and deepseek/deepseek-flash — with metadata.feature set to the task name. Each response carries usage.cost, the estimated provider cost, and usage.price_source; GET /v1/usage?group_by=model returns requests, cost, error rate and latency percentiles per model for the run (usage analytics).
Two details matter in this tier. First, rates that vary by time or date are estimated from one catalog rate per model: DeepSeek Flash is estimated at its peak rate, so an off-peak workload's estimate reads high, and a request above a vendor's long-prompt threshold is estimated at the base rate. If you have your own rate, enter it under Prices (billing), and use reconciliation to compare estimates against what the provider reports. Second, a model with no known rate is counted as unpriced_requests, never as zero, so an incomplete estimate is visible as incomplete.
When the decision is made, a route such as ticket-labels names the chosen model first and a tested alternative second. The application sends the slug, and switching models after the Gemini rate change, or after a Haiku 4.5 retirement, is a console edit.
