Nouveau Inscription gratuite, 10 appels offerts. Jusqu'à 1 $, sans carte.

Claude Haiku 4.5 vs Claude Sonnet 5

vs

Lequel choisir, et quand

Sonnet 5 double la grille de Haiku ($2/$10 contre $1/$5) et quintuple le contexte (1M contre 200K). Haiku reste le plancher de latence et de prix de la gamme Claude ; au moment où les prompts dépassent 200K ou nécessitent un raisonnement plus profond, Sonnet est le point de chute naturel.

Benchmarks

Au-dessus de la moyenneNon dépasséClaude Haiku 4.50 / 50 / 5Claude Sonnet 54 / 221 / 22
Claude Haiku 4.5 Claude Sonnet 5 autres modèles mesurés moyenne des modèles comparés ★ aucun autre modèle n'a fait mieux
SWE-Bench Pro
39.5%
N/A
BioMysteryBench hard
N/A
34.1%
OSWorld-Verified
50.7%
N/A
Finance Agent v2
N/A
53.9%
Harvey Lab-AA
N/A
90.1%
HLE-Verified
N/A
31%
AutomationBench
N/A
10.7%
CharXiv (RQ) no tools
61.7%
70.1%

Chiffres publiés par les fournisseurs : Alibaba (Qwen) Anthropic ByteDance DeepSeek Google Moonshot OpenAI Tencent Z.ai

Tarifs

Claude Haiku 4.5 Claude Sonnet 5 Δ
Entrée / 1M de tokens $1 $2 0.5×
Sortie / 1M de tokens $5 $10 0.5×
Lecture de cache / 1M de tokens $0.1 $0.2 0.5×
Écriture de cache 1.25x (5m) / 2x (1h) 1.25x (5m) / 2x (1h) -

Tarifs relevés dans le catalogue en direct à la génération du site ; la page de chaque modèle affiche la grille tarifaire à jour.

Leur position : prix en entrée pour 1M de tokens, parmi les 76 modèles de chat facturés dans cette unité (échelle logarithmique)

Capacités

Claude Haiku 4.5 Claude Sonnet 5
Appel d'outils oui oui
Contrôle de la réflexion configurable configurable
Sortie structurée oui oui
Mise en cache des prompts explicite (vous indiquez le préfixe) explicite (vous indiquez le préfixe)
Durée de vie du cache 5m default, 1h option 5m default, 1h option
Préfixe minimal mis en cache 1024 tokens 1024 tokens

Spécifications

Claude Haiku 4.5 Claude Sonnet 5
Modalités d'entrée texte image texte image
Modalités de sortie texte texte
Date de sortie 2025-10-15 2026-06-30
Coupure des connaissances 2025-02 2026-01
Fenêtre de contexte 200K 1M
Sortie maximale 64K 128K
Paramètre de réflexion
  • thinking.type "enabled"
  • budget_tokens
  • thinking.type "adaptive"
  • output_config.effort
Valeurs acceptées
budget_tokens
  • at least 1,024 and below max_tokens

"adaptive" returns 400

thinking.type
  • adaptive
  • disabled
effort
  • low
  • medium
  • high
  • xhigh
  • max

"enabled" returns 400

Valeur par défaut off, with no thinking unless the request sets it

thinking on (adaptive)

effort
  • high

Les spécifications sont reprises de la documentation de chaque fournisseur ; quand un fournisseur ne publie pas une valeur, la ligne est omise et non déduite. Sources complètes : Claude Haiku 4.5 · Claude Sonnet 5

Un prompt, deux modèles, mesurés via la passerelle

PROMPT Explain to a CFO, in exactly three sentences, why our LLM bill doubled after we enabled reasoning. CRITÈRE exactement 3 phrases

Claude Haiku 4.5 réussi · 3 sentences

# Why Your LLM Bill Doubled Reasoning models like o1 and o3 process queries through extended chains of thought before responding, consuming 5-10x more tokens internally than standard models while also charging higher per-token rates. This means both your input token usage and per-unit costs increased simultaneously—a compounding effect that easily doubles overall spend. Unless you've significantly reduced queries to other models or have very selective reasoning deployment, the math makes a doubling entirely predictable.

sortie 106 tok latence 2.8 s

Claude Sonnet 5 réussi · 3 sentences

Reasoning mode works by having the model generate extended internal "thinking" steps before producing its final answer, and since we're billed on total tokens, that hidden reasoning text adds significantly to what we pay for—even though you never see it in the output. This is different from simply getting longer visible responses; the model is essentially "showing its work" behind the scenes, and complex prompts can trigger thousands of extra reasoning tokens per request. The upside is improved accuracy on complex tasks, but if we want to control costs, we should selectively enable reasoning only for queries that truly need it, rather than applying it universally.

sortie 194 tok latence 4.3 s

Le respect de la consigne (exactement trois phrases, ça se compte), l'adaptation au public visé (le registre d'un directeur financier) et l'écart de facturation dû à la réflexion masquée, que révèlent les compteurs de tokens ci-dessous.

PROMPT This function is supposed to return the longest run of consecutive equal items, but callers report it is off by one on single-element inputs and misses runs that end at the last index. Fix it and explain the bug in one paragraph. CRITÈRE le correctif passe les tests

Claude Haiku 4.5 réussi · 8/8 cases

# Fixed Function ```python def longest_run(xs): if not xs: return 0 best = 1 cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 best = max(best, cur) else: cur = 1 return best ``` # Bug Explanation The original function has two related bugs stemming from incorrect initialization and loop logic. First, `best` and `cur` start at 0, which causes single-element lists to incorrectly return 0 instead of 1—a run of one identical element should have length 1. Second, `cur` is reset to 0 (not 1) when a mismatch occurs, causing the next matching pair to be undercounted. More critically, if the longest run ends at the last index, `best` is only updated *during* the loop when a mismatch is encountered; if no mismatch follows the final run, `best` never captures it. […]

sortie 310 tok latence 4.0 s

Claude Sonnet 5 réussi · 8/8 cases

## The Bug The function has two related off-by-one issues rooted in the same cause: `cur` and `best` are initialized to `0` instead of `1`, treating run lengths as the number of *matches* between adjacent elements rather than the number of *elements* in the run. This means a single-element input never enters the loop (since `range(1, 1)` is empty) and returns `0` instead of the correct answer of `1`. It also means that for any input, the run length is undercounted by exactly one — a run of 3 equal elements only produces 2 "match" increments, so `best` ends up as 2 instead of 3. The claim that it "misses runs that end at the last index" is actually a symptom of this same undercount: the logic does update `best` correctly on every iteration (including the last), but because it's counting matches instead of elements, the final reported value is always one less than the true longest run. […]

sortie 536 tok latence 7.1 s

La justesse réelle du correctif (il s'exécute), la densité de l'explication et l'économie de tokens sur une tâche bien délimitée.

PROMPT Extract a JSON object with fields {company, quarter, revenue_usd_m, growth_pct, guidance} from this text. Use null for anything not stated; add no other fields. CRITÈRE JSON valide, schéma exact

Claude Haiku 4.5 réussi · 5/5 fields, guidance null

```json { "company": "Meridian Robotics", "quarter": "Q3", "revenue_usd_m": 412, "growth_pct": 11, "guidance": null } ```

sortie 63 tok latence 1.6 s

Claude Sonnet 5 réussi · 5/5 fields, guidance null

```json { "company": "Meridian Robotics", "quarter": "Q3", "revenue_usd_m": 412, "growth_pct": 11.5, "guidance": null } ```

sortie 348 tok latence 5.3 s

Le respect du schéma (aucun champ inventé), la tentation d'halluciner (le texte indique que la guidance n'est pas communiquée) et les différences entre les mécanismes de sortie structurée.

PROMPT Write a 120-word product announcement for an API gateway feature that caches prompts across providers. Forbidden words: "seamless", "unlock", "game-changer", "revolutionize", "empower". Exactly one sentence must be a question. CRITÈRE 120 mots, 0 mot interdit

Claude Haiku 4.5 réussi · 123 words, 0 banned, 1 question

# Introducing Prompt Cache Across Providers We're excited to announce our latest API gateway feature: intelligent prompt caching that works across multiple AI providers. This powerful capability stores frequently used prompts and their contexts, dramatically reducing latency and API costs for your applications. By intelligently managing cached prompts across providers like OpenAI, Anthropic, and others, you can optimize your infrastructure without changing your code. Why wait for responses when cached results can be delivered instantly? The system automatically handles cache invalidation and updates, ensuring your applications always access current information while maintaining performance gains. With support for complex multi-turn conversations and dynamic content, this feature scales seamlessly with your business needs. […]

sortie 165 tok latence 3.0 s

Claude Sonnet 5 réussi · 123 words, 0 banned, 1 question

## Introducing Cross-Provider Prompt Caching We're rolling out a new caching layer for our API gateway that works across every major LLM provider you connect through it. Instead of resending identical prompts and paying full price each time, the gateway recognizes repeated requests and serves cached responses in milliseconds—regardless of whether you're routing to OpenAI, Anthropic, or Google. What does this mean for your bill and your latency? Both drop, often significantly, especially for teams running high-volume, repetitive workloads like customer support bots or batch content generation. The cache is configurable per route, with adjustable TTLs and invalidation rules, so you stay in control of freshness versus cost. Available now for all Pro and Enterprise plans. Check your dashboard to enable it today.

sortie 259 tok latence 4.8 s

Le respect des contraintes (nombre de mots, liste de mots interdits, une seule question), l'empreinte stylistique et la maîtrise de la longueur.

Passez de l'un à l'autre en changeant une seule ligne

Les deux identifiants figurent dans chaque onglet ci-dessous : les deux lignes surlignées sont le seul changement. Même endpoint, même clé, même format de requête.

from openai import OpenAI

client = OpenAI(
    base_url="https://synthorai.io/v1",
    api_key="sk-syn-...",
)

resp = client.chat.completions.create(
    model="claude-haiku-4-5",
    # model="claude-sonnet-5",  # décommentez cette ligne, commentez celle du dessus
    messages=[{"role": "user", "content": "Summarize this diff"}],
)
print(resp.choices[0].message.content)

Obtenez votre clé API →

FAQ

Lequel est le moins cher, Claude Haiku 4.5 ou Claude Sonnet 5 ?

Claude Haiku 4.5 est moins cher sur la ligne « Entrée / 1M de tokens » ($1 contre $2, soit un écart de 2.0×). D'autres lignes peuvent dire l'inverse : le tableau ci-dessus donne la grille tarifaire complète, et le coût réel dépend de la composition de votre trafic.

Puis-je faire un test A/B entre Claude Haiku 4.5 et Claude Sonnet 5 sans deux intégrations ?

Oui. Les deux passent par le même endpoint compatible OpenAI, avec une seule clé API. Pour passer de l'un à l'autre, il suffit de changer l'identifiant du modèle, soit une ligne : vous pouvez donc envoyer une part du trafic à chacun et comparer directement les factures.

Claude Haiku 4.5 et Claude Sonnet 5 prennent-ils en charge la mise en cache des prompts ?

Oui. Les deux facturent les lectures de cache moins cher que leur tarif d'entrée : une charge de travail dont le préfixe est déjà en cache coûte donc moins que ne le laissent penser les tarifs publics. Les lignes de lecture de cache figurent dans le tableau des tarifs ci-dessus.

Comparatifs associés

Nos études, mesures à l'appui