The cheapest models for bulk tasks: prices, math and how to choose
The six cheapest models in the catalog in one table: what tens of thousands of requests cost, and which criteria decide between them.
6 min · · экономия · models
When you have tens or hundreds of thousands of requests, price per token becomes the main parameter. If you're looking for the cheapest AI model API for labelling, data extraction, or short answers, the Zukko catalog has six candidates. Below are their prices, the math for real volumes, and the criteria to choose by: images, context, and intelligence index.
Cheapest AI model API: price table
Prices in USD per 1M tokens, as of 2026-10-06.
| Model | id | Input / output | Cache: read / write | Intelligence index | Context | Images |
|---|---|---|---|---|---|---|
| DeepSeek V4.1 Flash | deepseek-v4.1-flash | 0.013 / 0.038 | 0.013 / — | 39 | 1M | no |
| Gemini 3.7 Flash | gemini-3.7-flash | 0.013 / 0.05 | 0.013 / — | — | 1M | no |
| Gemini 3.8 Flash | gemini-3.8-flash | 0.025 / 0.088 | 0.013 / — | 41 | 1M | no |
| GLM 5.3 Flash | glm-5.3-flash | 0.04 / 0.04 | 0.04 / — | 42 | 128K | no |
| Qwen 3.8 Flash | qwen3.8-flash | 0.038 / 0.088 | 0.038 / — | 40 | 1M | no |
| GPT-6 Luna | gpt-6-luna | 0.04 / 0.21 | 0.038 / — | 38 | 1M | no |
The intelligence index is the Artificial Analysis Intelligence Index, a composite benchmark score. The dash in the index column for Gemini 3.7 Flash means we have no index value for it. None of the six models has a separately charged cache write (the dash in the write column): the first request is billed at the input price. The gateway always sees cache reads for GPT-6 Luna; for the others, only if the provider reports them in the response.
Three things stand out:
- On input, DeepSeek V4.1 Flash and Gemini 3.7 Flash are cheapest, at $0.013 each.
- On output, DeepSeek V4.1 Flash is cheapest ($0.038), followed by GLM 5.3 Flash ($0.04) and Gemini 3.7 Flash ($0.05).
- None of the six accepts image input.
For the current model list and prices, call GET https://api.zukko.pro/v1/models or open the Models page in the dashboard.
Volume math
One formula for all:
cost = (N × input_per_request × input_price + N × output_per_request × output_price) / 1,000,000
Scenario 1: short answers
50,000 requests at 1,000 input and 200 output tokens each. That's 50,000,000 input and 10,000,000 output tokens — plug in "millions × price":
| Model | Input: 50 × price | Output: 10 × price | Total |
|---|---|---|---|
| DeepSeek V4.1 Flash | $0.65 | $0.38 | $1.03 |
| Gemini 3.7 Flash | $0.65 | $0.50 | $1.15 |
| Gemini 3.8 Flash | $1.25 | $0.88 | $2.13 |
| GLM 5.3 Flash | $2.00 | $0.40 | $2.40 |
| Qwen 3.8 Flash | $1.90 | $0.88 | $2.78 |
| GPT-6 Luna | $2.00 | $2.10 | $4.10 |
Checking one row: GLM 5.3 Flash — 50 × 0.04 + 10 × 0.04 = 2.00 + 0.40 = $2.40. The math assumes the same token count for every model; their tokenizers differ, so actual numbers may vary somewhat.
Scenario 2: long answers
10,000 requests at 500 input and 2,000 output tokens each (product descriptions, email drafts). That's 5,000,000 input and 20,000,000 output:
| Model | Input: 5 × price | Output: 20 × price | Total |
|---|---|---|---|
| DeepSeek V4.1 Flash | $0.065 | $0.76 | $0.825 |
| GLM 5.3 Flash | $0.20 | $0.80 | $1.00 |
| Gemini 3.7 Flash | $0.065 | $1.00 | $1.065 |
| Gemini 3.8 Flash | $0.125 | $1.76 | $1.885 |
| Qwen 3.8 Flash | $0.19 | $1.76 | $1.95 |
| GPT-6 Luna | $0.20 | $4.20 | $4.40 |
The order changed: with long answers, GLM 5.3 Flash, which charges the same for input and output, overtakes Gemini 3.7 Flash. So compute for your own profile: first measure average prompt_tokens and completion_tokens on 100–200 real requests.
Selection criteria
Images
If your task involves images (receipts, screenshots, product photos), none of the six will do. The cheapest catalog models with image input are DeepSeek V4 Pro (deepseek-v4-pro, $0.088 / $0.25, index 36) and Qwen 3.8 Max (qwen3.8-max, $0.1 / $0.263, index 45). You can split the stream: text requests to a cheap model, image requests to a model that supports them.
Context: 128K or 1M
GLM 5.3 Flash has a 128K-token context; the other five have 1M. For labelling short messages it makes no difference. For long contracts, logs, or exports that don't fit into 128K, GLM 5.3 Flash is out.
Intelligence index
Within the group the index ranges from 38 to 42: GLM 5.3 Flash 42, Gemini 3.8 Flash 41, Qwen 3.8 Flash 40, DeepSeek V4.1 Flash 39, GPT-6 Luna 38. A four-point spread is a reason to test on your own data, not to choose blindly. The index is averaged across many tasks, and you have one.
Caching
If all requests share a long common prefix (a big instruction or reference text), look at the cache-read price. In this group it is notably below input only for Gemini 3.8 Flash ($0.013 vs $0.025, if the provider reports the cache read), and slightly for GPT-6 Luna ($0.038 vs $0.04). For the rest, a cache read costs the same as input.
Format and existing stack
All six models are called through the same OpenAI-compatible endpoint, and the gateway converts the request, so switching is a one-line change of the model name.
How to compare candidates quickly
The script below computes the cost of your volume at catalog prices. Plug in your average tokens from a test run:
PRICES = { # USD per 1M tokens: (input, output), catalog as of 2026-10-06
"deepseek-v4.1-flash": (0.013, 0.038),
"gemini-3.7-flash": (0.013, 0.05),
"gemini-3.8-flash": (0.025, 0.088),
"glm-5.3-flash": (0.04, 0.04),
"qwen3.8-flash": (0.038, 0.088),
"gpt-6-luna": (0.04, 0.21),
}
requests_count = 50_000
avg_in, avg_out = 1_000, 200
for model, (p_in, p_out) in sorted(
PRICES.items(), key=lambda kv: avg_in * kv[1][0] + avg_out * kv[1][1]
):
cost = requests_count * (avg_in * p_in + avg_out * p_out) / 1_000_000
print(f"{model:22} ${cost:.2f}")Then check quality: run 50–100 real examples with reference answers through the two or three cheapest options and pick the cheapest one with acceptable accuracy. A request to any model looks the same:
from openai import OpenAI
client = OpenAI(base_url="https://api.zukko.pro/v1", api_key="fetch_your_key")
resp = client.chat.completions.create(
model="deepseek-v4.1-flash", # change it here
messages=[{"role": "user", "content": "Detect the language of this text: 'Guten Morgen'"}],
)
print(resp.choices[0].message.content, resp.usage.prompt_tokens, resp.usage.completion_tokens)For parallel sending and handling 429 at volume, see the article on bulk request processing. Request parameters are in the chat/completions docs, the model list in the /v1/models docs.
How to stay within budget
For a bulk run, create a separate key with a daily and monthly USD limit and allowed_models containing only the chosen model. If the script mistakenly calls another model, the request gets 403 model_not_allowed_for_key instead of being billed at a different price. Set it up on the API keys page in the dashboard.
Start with a key and a test run on a hundred examples — at the prices above it costs a fraction of a cent.
FAQ
Which is the cheapest model in the catalog?
At prices as of 2026-10-06, DeepSeek V4.1 Flash: $0.013 per 1M input and $0.038 per 1M output tokens. It came out cheapest in both scenarios. But "cheapest" doesn't mean "suitable": check accuracy on your own examples. A comparison with the closest alternative is in the article DeepSeek or Gemini Flash.
Is there a cheap model that understands images?
Not among the six in the table. Among models with image input, the cheapest are DeepSeek V4 Pro ($0.088 / $0.25) and Qwen 3.8 Max ($0.1 / $0.263).
How does Gemini 3.7 Flash differ from 3.8 Flash on price?
Gemini 3.7 Flash is $0.013 / $0.05, Gemini 3.8 Flash is $0.025 / $0.088. 3.8 Flash has an intelligence index of 41; we have no value for 3.7 Flash. Only a test on your own examples will show which one handles your task better.
Does caching save money on cheap models?
In this group, noticeably only for Gemini 3.8 Flash, where a cache read costs roughly half the input price ($0.013 vs $0.025) — if the provider reports it in the response. For DeepSeek V4.1 Flash, Gemini 3.7 Flash, GLM 5.3 Flash, and Qwen 3.8 Flash, the cache-read price equals the input price.
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.