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).

ModelInput / outputCache: read / writeContextImagesIndex
claude-opus-5-50.8 / 40.08 / 11Myes58
claude-fable-5-17 / 350.7 / 8.751Myes53
claude-opus-50.8 / 40.088 / 11Myes50
claude-sonnet-5-50.4 / 20.05 / 0.51Myes48
claude-sonnet-50.4 / 20.05 / 0.51Myes45
claude-sonnet-4-60.5 / 2.50.063 / 0.61Myes42

What you can see here:

  1. Opus comes in two versions, claude-opus-5-5 and claude-opus-5. They cost the same for input and output, and 5.5 has a higher index (58 against 50).
  2. Sonnet also exists in several versions. The prices of claude-sonnet-5-5 and claude-sonnet-5 match, and 5.5 has the higher index.
  3. 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.
  4. 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/models or 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:

ModelInput / outputContextImagesIndex
claude-sonnet-5-50.4 / 21Myes48
gemini-3.8-flash0.125 / 0.61Mno41
glm-5.3-flash0.04 / 0.04128Kno42
gpt-6-luna0.04 / 0.211Mno38
deepseek-v4.1-flash0.013 / 0.0381Mno39

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.

ModelCalculationTotal
claude-opus-5-55 × 0.8 + 0.5 × 4 = 4 + 2$6.00
claude-sonnet-5-55 × 0.4 + 0.5 × 2 = 2 + 1$3.00
gemini-3.8-flash5 × 0.125 + 0.5 × 0.6 = 0.625 + 0.3about $0.93
gpt-6-luna5 × 0.04 + 0.5 × 0.21 = 0.2 + 0.105about $0.31
glm-5.3-flash5 × 0.04 + 0.5 × 0.04 = 0.2 + 0.02$0.22
deepseek-v4.1-flash5 × 0.013 + 0.5 × 0.038 = 0.065 + 0.019about $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:

bash
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

  1. Define the task: bulk and simple, working (code, assistant) or hard (long reasoning, a tough bug).
  2. Take one model from each price level and run 20 to 50 examples of your task.
  3. 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.

Get API keyDocumentation

api.zukko.pro · fetch_*

Claude Haiku vs Sonnet vs Opus: differences, prices · Zukko