Models & pricing
Zukko gives you text models from Claude, GPT, Grok, Gemini, Qwen, DeepSeek, GLM, Kimi, and MiniMax. Prices are in US dollars per 1M tokens. Input and output are priced differently, and prompt caching is billed separately: cache reads and cache writes have their own prices.
1Available models
| Model ID | Model | Input | Output | Cache read | Cache write | Context | Image input |
|---|---|---|---|---|---|---|---|
claude-opus-5-5 | Claude Opus 5.5 | 0.8 | 4 | 0.08 | 1 | 1M | yes |
claude-fable-5-1 | Claude Fable 5.1 | 7 | 35 | 0.7 | 8.75 | 1M | yes |
claude-fable-5 | Claude Fable 5 | 7 | 35 | 0.7 | 8.75 | 1M | yes |
claude-opus-5 | Claude Opus 5 | 0.8 | 4 | 0.08 | 1 | 1M | yes |
claude-opus-4.8 | Claude Opus 4.8 | 0.8 | 4 | 0.08 | 1 | 1M | yes |
claude-opus-4.7 | Claude Opus 4.7 | 0.8 | 4 | 0.08 | 1 | 1M | yes |
claude-opus-4.6 | Claude Opus 4.6 | 0.8 | 4 | 0.08 | 1 | 1M | yes |
claude-sonnet-5-5 | Claude Sonnet 5.5 | 0.4 | 2 | 0.04 | 0.5 | 1M | yes |
claude-sonnet-5 | Claude Sonnet 5 | 0.4 | 2 | 0.04 | 0.5 | 1M | yes |
claude-sonnet-4-6 | Claude Sonnet 4.6 | 0.5 | 2.5 | 0.05 | 0.6 | 1M | yes |
claude-haiku-5-5 | Claude Haiku 5.5 | 0.05 | 0.2 | 0.01 | 0.06 | 1M | yes |
claude-haiku-4.5 | Claude Haiku 4.5 | 0.18 | 0.9 | 0.02 | 0.23 | 200K | yes |
gpt-6-astra | GPT-6 Astra | 0.62 | 3.05 | 0.05 | 0.61 | 1M | yes |
gpt-6.1-sol | GPT-6.1 Sol | 0.27 | 1.32 | 0.01 | 0.22 | 1M | yes |
gpt-6-sol | GPT-6 Sol | 0.13 | 0.63 | 0.01 | 0.13 | 1M | yes |
gpt-6-luna | GPT-6 Luna | 0.04 | 0.21 | 0.03 | 0.14 | 1M | no |
gpt-5.6-sol | GPT-5.6 Sol | 0.22 | 1.07 | 0.02 | 0.22 | 1M | yes |
gpt-5.6-terra | GPT-5.6 Terra | 0.13 | 0.63 | 0.01 | 0.13 | 1M | yes |
gpt-5.6-luna | GPT-5.6 Luna | 0.06 | 0.3 | 0.01 | 0.06 | 1M | no |
grok-4.7 | Grok 4.7 | 0.18 | 0.53 | 0.05 | 0.18 | 256K | yes |
grok-4.6 | Grok 4.6 | 0.17 | 0.49 | 0.05 | 0.17 | 256K | yes |
grok-4.5 | Grok 4.5 | 0.18 | 0.54 | 0.03 | 0.18 | 256K | yes |
gemini-3.1-pro | Gemini 3.1 Pro | 0.15 | 0.9 | 0.03 | 0.15 | 1M | yes |
gemini-3.8-flash | Gemini 3.8 Flash | 0.12 | 0.6 | 0.01 | 0.12 | 1M | no |
gemini-3.7-flash | Gemini 3.7 Flash | 0.12 | 0.6 | 0.01 | 0.12 | 1M | no |
qwen3.8-max | Qwen 3.8 Max | 0.1 | 0.28 | 0.1 | 0.1 | 1M | yes |
qwen3.8-flash | Qwen 3.8 Flash | 0.03 | 0.07 | 0.03 | 0.03 | 1M | no |
qwen3.8-omni-flash | Qwen 3.8 Omni Flash | 0.03 | 0.08 | 0.01 | 0.03 | 1M | yes |
deepseek-v4-pro | DeepSeek V4 Pro | 0.07 | 0.21 | 0.07 | 0.07 | 1M | yes |
deepseek-v4.1-flash | DeepSeek V4.1 Flash | 0.03 | 0.1 | 0.03 | 0.03 | 1M | no |
deepseek-v4.1-flash-1017 | DeepSeek V4.1 Flash 1017 | 0.03 | 0.1 | 0.03 | 0.03 | 1M | yes |
deepseek-v4-flash | DeepSeek V4 Flash | 0.05 | 0.14 | 0.02 | 0.05 | 1M | no |
glm-5.2 | GLM 5.2 | 0.08 | 0.2 | 0.04 | 0.08 | 1M | yes |
kimi-k3.1-pro | Kimi K3.1 Pro | 0.26 | 1.29 | 0.03 | 0.26 | 1M | no |
kimi-k3 | Kimi K3 | 0.39 | 1.93 | 0.04 | 0.39 | 1M | yes |
kimi-k2.7-code | Kimi K2.7 Code | 0.12 | 0.5 | 0.02 | 0.12 | 256K | yes |
minimax-m3.1-flash | MiniMax M3.1 Flash | 0.16 | 0.6 | 0.02 | 0.16 | 1M | yes |
glm-5.3 | GLM 5.3 | 0.1 | 0.1 | 0.1 | 0.1 | 128K | no |
glm-5.3-flash | GLM 5.3 Flash | 0.04 | 0.04 | 0.04 | 0.04 | 128K | no |
Original API Standard
The same Claude models through another provider channel: one price for any token — input, output, and cache. There is no cache discount, so Standard pays off where context does not repeat: pipelines, chatbots, batch jobs. The model code ends with -standard.
| Model ID | Model | Price per any token | Context | Image input |
|---|---|---|---|---|
claude-opus-5-5-standard | Claude Opus 5.5 | 0.3 | 1M | yes |
claude-opus-5-standard | Claude Opus 5 | 0.3 | 1M | yes |
claude-opus-4.8-standard | Claude Opus 4.8 | 0.3 | 1M | yes |
claude-opus-4.7-standard | Claude Opus 4.7 | 0.3 | 1M | yes |
claude-opus-4.6-standard | Claude Opus 4.6 | 0.3 | 1M | yes |
claude-sonnet-5-standard | Claude Sonnet 5 | 0.2 | 1M | yes |
claude-sonnet-4-6-standard | Claude Sonnet 4.6 | 0.2 | 1M | yes |
All prices are $ per 1M tokens. Image models are currently unavailable (see below).
The list and prices change: models get added and temporarily switched off. Before you put a model id into a config, check the live catalog — it is public, no key required:
curl https://api.zukko.pro/v1/models
curl https://api.zukko.pro/v1/models/info/v1/models/info returns prices (cache prices included) and limits and is the source of truth if the table above ever disagrees with it. The same catalog with prices is on the Models page in the dashboard.
2Strength index
In the dashboard catalog each model has a "Strength index" — the Intelligence Index from Artificial Analysis, a composite score across a set of benchmarks. By default the models are sorted by it, strongest first. Current values:
| Model | Strength index |
|---|---|
| Claude Opus 5.5 | 58 |
| Claude Sonnet 5.5 | 56 |
| Kimi K3.1 Pro | 55 |
| Claude Fable 5.1 | 53 |
| GPT-6 Astra | 53 |
| GPT-6.1 Sol | 52 |
| Grok 4.7 | 46 |
| Qwen 3.8 Max | 45 |
| DeepSeek V4.1 Flash 1017 | 45 |
| GLM 5.3 | 45 |
| Kimi K3 | 44 |
| Claude Haiku 5.5 | 43 |
| MiniMax M3.1 Flash | 43 |
| GPT-5.6 Terra | 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 |
| DeepSeek V4 Pro | 36 |
| Gemini 3.1 Pro | 30 |
| Kimi K2.7 Code | 26 |
| Claude Haiku 4.5 | 17 |
The index is a general guide, not a score for your particular task. Before moving work to another model, test it on your own requests.
3Which model to pick
- Highest strength index —
claude-opus-5-5(58) at $0.8 / $4. - Index 52–53 —
gpt-6.1-sol(52, $0.27 / $1.32),gpt-6-astra(53, $0.62 / $3.05), andclaude-fable-5-1(53, $7 / $35). The index is close, the price differs several times over — compare them on your own volume using the table. - Default Claude —
claude-sonnet-5($0.4 / $2): the main model in the examples throughout these docs. The newclaude-sonnet-5-5costs the same. - Cheaper Claude without a cache discount — Standard:
claude-sonnet-5-standardat $0.2 and Opus at $0.3 per any token. - Index 45 at $0.1 input or less —
qwen3.8-max($0.1 / $0.28, accepts images) andglm-5.3($0.1 / $0.1, 128K context, no images). - Cheap bulk jobs —
deepseek-v4.1-flash($0.03 / $0.1, index 39),glm-5.3-flash($0.04 / $0.04, index 42, 128K context). - You need to send images — pick a model with "yes" in the last column: every Claude and Grok,
gpt-6-astra,gpt-6.1-sol,gpt-6-sol,gpt-5.6-sol,gpt-5.6-terra,gemini-3.1-pro,qwen3.8-max,deepseek-v4-pro,glm-5.2. - Long context — most models have a 1M-token window; Grok has 256K,
glm-5.3andglm-5.3-flashhave 128K.
claude-opus-5, claude-opus-4.8, claude-opus-4.7, claude-opus-4.6, and claude-fable-5 are previous versions; they keep working for configs that already use them.
4How to write the model name
The canonical name is the id from the table above, and that is what you should put in configs. On top of that the gateway recognizes a few common variants on its own:
- with a vendor or router prefix:
anthropic/claude-sonnet-5,zhipu/glm-5.3,deepseek/deepseek-v4-pro; - with a version date at the end:
deepseek-v4-flash-0731,claude-sonnet-5-20260101; - Bedrock style:
us.anthropic.claude-sonnet-5; - a dot or a dash in the version number:
claude-opus-5.5andclaude-opus-5-5are the same model; - case does not matter.
Old Qwen names work as second names: qwen3.5-flash and qwen3.7-plus point to qwen3.8-flash, qwen3.7-max and qwen3.8-max-preview point to qwen3.8-max.
What the gateway answers when something is wrong with the model:
- 404 `model_not_found` — there is no such model in the catalog. The request does not reach a provider and is not charged.
- 503 `model_disabled` — the model is temporarily switched off; pick another one from
GET /v1/models. - 400 `model_retired` — the model was retired; the message names the one to switch to.
5Endpoints per model family
| Family | /v1/chat/completions | /v1/messages | /v1/responses | /v1/messages/count_tokens |
|---|---|---|---|---|
Claude (claude-*) | yes | yes, native | yes | yes |
GPT (gpt-*) | yes, native | yes | yes | yes |
| Gemini, Qwen, DeepSeek, Kimi, MiniMax | yes | yes | yes | yes |
GLM (glm-*) | yes, native | yes, Zukko converts the format | no | no |
The safest choice is the model's native format. For GPT use /v1/chat/completions or /v1/responses. For Gemini, Qwen, and DeepSeek use Chat Completions or Messages. GLM does not understand the Responses API input and instructions fields — use Chat Completions or Messages for it.
6GLM specifics
- Text only: image input is not accepted.
- By default GLM answers without extended reasoning, so you do not pay for hidden thinking. To enable reasoning, send
"reasoning_effort": "high"or"thinking": {"type": "enabled"}. - Zukko raises
max_tokensto at least 256, or to at least 4096 when reasoning is on; with less the answer comes back empty.
7Names for Cursor
Cursor refuses to add a custom model whose name it already knows, so there are second names for it:
| Name for Cursor | Model |
|---|---|
cursor-opus-55 | claude-opus-5-5 |
cursor-opus-5 | claude-opus-5 |
cursor-opus-48 | claude-opus-4.8 |
cursor-opus-47 | claude-opus-4.7 |
cursor-opus-46 | claude-opus-4.6 |
cursor-sonnet-5 | claude-sonnet-5 |
cursor-gpt-sol | gpt-5.6-sol |
cursor-gpt-terra | gpt-5.6-terra |
cursor-gpt-luna | gpt-5.6-luna |
cursor-qwen | qwen3.8-max |
See the Cursor IDE guide.
8Image generation
Image models are temporarily unavailable: requests to them get 503 model_disabled. The request format is described on POST /v1/images/generations.
9How cost is calculated
Input is split into three parts, each with its own price:
cost = fresh input × input price
+ cache read × cache read price
+ cache write × cache write price
+ output × output priceCharging happens in two steps:
- Right after the response — from the
usagein the provider's response. - About a minute later — from the provider's actual count for that request: input, cache reads, cache writes, and output. The charge is recalculated at our prices, and the difference is refunded to your balance or charged. Request history keeps the final numbers.
The second step exists because usage in the response is not always complete. For example, for Claude in the OpenAI format (/v1/chat/completions) the provider sends no cache breakdown, yet caching still works; after recalculation the cache is billed at cache prices in any format.
- For models whose cache prices equal the input price (Qwen, DeepSeek, GLM 5.3), cached input costs the same as regular input.
Example for claude-sonnet-5 via /v1/messages: 100,000 input tokens, 90,000 of them read from the cache, and 2,000 output tokens.
10,000 × $0.4 / 1M = $0.004 fresh input
90,000 × $0.04 / 1M = $0.0036 cache read
2,000 × $2 / 1M = $0.004 output
total $0.0116The same request via /v1/chat/completions ends up costing the same. This format's response carries no cache breakdown, so $0.044 (100,000 × $0.4 / 1M + $0.004) is charged at first, and about a minute later the charge is recalculated from the provider's actual usage to $0.0116, with the difference refunded. More in Billing.