Claude Haiku vs Sonnet vs Opus: how the lines differ and what the API has
Haiku, Sonnet and Opus set three levels of size, price and strength. We explain the lines, the Claude list in the gateway API and a light-model replacement when Haiku is not in the catalog.
5 min · · models · сравнение
The comparison Claude Haiku vs Sonnet vs Opus comes down to one idea: Anthropic releases models in three lines, and the "senior" the line, the stronger and more expensive it is. But each gateway has its own set of models, and a line's name alone does not say it is in the API. Below we explain the logic of the three lines, see what is available on 18 October 2026, and work out what to use in place of a "light" model for bulk tasks.
The logic of the three lines
The scheme Anthropic uses looks like this:
- Haiku is the smallest, fastest and cheapest line. It is meant for bulk simple tasks: classification, extraction, short answers.
- Sonnet is the middle line, a balance of price and strength. It is usually taken as the workhorse for code and assistants.
- Opus is the largest line for hard tasks where the result matters more than the price per token.
This is general logic, not a guarantee for every version. Version numbers come out independently, so a line alone does not guarantee superiority over its neighbor. So compare not names but concrete models: price, context, intelligence index and, above all, the result on your tasks.
What is available in the gateway API
The table is as of 18 October 2026. Zukko prices, $ per 1M tokens. The index is the Intelligence Index (Artificial Analysis).
| Model | Input / output | Cache: read / write | Context | Images | Index |
|---|---|---|---|---|---|
claude-opus-5-5 | 0.8 / 4 | 0.08 / 1 | 1M | yes | 58 |
claude-fable-5-1 | 7 / 35 | 0.7 / 8.75 | 1M | yes | 53 |
claude-opus-5 | 0.8 / 4 | 0.088 / 1 | 1M | yes | 50 |
claude-sonnet-5-5 | 0.4 / 2 | 0.05 / 0.5 | 1M | yes | 48 |
claude-sonnet-5 | 0.4 / 2 | 0.05 / 0.5 | 1M | yes | 45 |
claude-sonnet-4-6 | 0.5 / 2.5 | 0.063 / 0.6 | 1M | yes | 42 |
What you can see here:
- Opus comes in two versions,
claude-opus-5-5andclaude-opus-5. They cost the same for input and output, and 5.5 has a higher index (58 against 50). - Sonnet also exists in several versions. The prices of
claude-sonnet-5-5andclaude-sonnet-5match, and 5.5 has the higher index. - Fable is a separate model in the list and the most expensive Claude by price: 7 / 35. Its index of 53 lies between the two Opus versions. A comparison of the two flagships is in the article Fable 5.1 or Opus 5.5.
- Haiku is not in the list on 18 October. The list changes, so check the current set this way:
GET https://api.zukko.pro/v1/modelsor the Models page in the dashboard, and also the models reference.
Any of these models can be called in both the Anthropic format (/v1/messages) and the OpenAI format (/v1/chat/completions). For Claude, cache is accounted differently: in the Anthropic format the gateway sees cache reads and writes, in the OpenAI format all input goes at the input price. More in the article Claude: messages or chat completions.
What replaces a light model when Haiku is absent
The role of "cheap and fast for bulk tasks" can be filled in several ways. All prices are as of 18 October 2026:
| Model | Input / output | Context | Images | Index |
|---|---|---|---|---|
claude-sonnet-5-5 | 0.4 / 2 | 1M | yes | 48 |
gemini-3.8-flash | 0.125 / 0.6 | 1M | no | 41 |
glm-5.3-flash | 0.04 / 0.04 | 128K | no | 42 |
gpt-6-luna | 0.04 / 0.21 | 1M | no | 38 |
deepseek-v4.1-flash | 0.013 / 0.038 | 1M | no | 39 |
If you need to stay in the Claude family, the cheapest options in the list are claude-sonnet-5-5 and claude-sonnet-5. If price is what matters, look at models from other developers in the table. Pay attention to the "Images" column: all Claude models in the list accept images, while the light models of other families in the table above do not.
What a bulk task costs
Suppose you need to label 10,000 tickets: each about 500 input tokens and 50 output tokens. That is 5M input tokens and 0.5M output. Formula: input × input price + output × output price, in millions of tokens.
| Model | Calculation | Total |
|---|---|---|
claude-opus-5-5 | 5 × 0.8 + 0.5 × 4 = 4 + 2 | $6.00 |
claude-sonnet-5-5 | 5 × 0.4 + 0.5 × 2 = 2 + 1 | $3.00 |
gemini-3.8-flash | 5 × 0.125 + 0.5 × 0.6 = 0.625 + 0.3 | about $0.93 |
gpt-6-luna | 5 × 0.04 + 0.5 × 0.21 = 0.2 + 0.105 | about $0.31 |
glm-5.3-flash | 5 × 0.04 + 0.5 × 0.04 = 0.2 + 0.02 | $0.22 |
deepseek-v4.1-flash | 5 × 0.013 + 0.5 × 0.038 = 0.065 + 0.019 | about $0.08 |
The difference between rows is large, but cheaper does not mean good enough. Before sending 10,000 tickets, run 100 with known answers through two or three models from the table and compare the share of correct ones.
How to use the lines together
A typical scheme: a cheap model handles the main flow, and a strong one kicks in where the first failed. The simplest version in Python with the OpenAI SDK:
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.zukko.pro/v1",
api_key=os.environ["ZUKKO_API_KEY"])
TIERS = {
"light": "deepseek-v4.1-flash",
"work": "claude-sonnet-5-5",
"hard": "claude-opus-5-5",
}
def ask(prompt, tier="light"):
r = client.chat.completions.create(
model=TIERS[tier],
messages=[{"role": "user", "content": prompt}],
)
return r.choices[0].message.content
answer = ask("Determine the sentiment of this review: 'Delivered fast, but the box was dented'")The tier is chosen with a parameter, so you can change the model in one place. How to build escalation and when to move up a tier is described in the article model cascade and escalation.
How to choose a model in three steps
- Define the task: bulk and simple, working (code, assistant) or hard (long reasoning, a tough bug).
- Take one model from each price level and run 20 to 50 examples of your task.
- Choose the cheapest one that passes your quality threshold, and keep a stronger one in reserve for hard cases.
A key is created in the dashboard: the minimum top-up of $1 is enough to check the first requests.
FAQ
Why is Haiku not in the API when the line exists?
The gateway's model set is determined by what is connected at the moment and it changes. On 18 October 2026 Haiku is not in the list. Check GET /v1/models.
Is Sonnet always weaker than Opus?
Versions come out independently, so compare concrete models. In the table Opus is higher: claude-opus-5 has an index of 50, claude-sonnet-5-5 has 48, and Opus costs twice as much for input and output. The gap is small, and whether it is worth the extra price is shown by a test on your tasks.
Which Claude is the cheapest?
By the table prices, claude-sonnet-5-5 and claude-sonnet-5: 0.4 / 2 per 1M tokens.
Can I use Claude in OpenAI-compatible clients?
Yes, any model can be called in any format. To get the most from Claude's cache, use the Anthropic format.
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.