Claude Haiku 4.5 vs Claude Haiku 5.5
Quale scegliere e quando
claude-haiku-5-5 è la generazione più recente e costa un decimo: $0.1 in input e $0.5 in output contro i $1 e $5 di claude-haiku-4-5, con letture in cache a $0.01 contro $0.1. Alza anche i limiti: un contesto di 1000000 token contro 200000, 128000 token di output contro 64000, un knowledge cutoff al 2026-06 contro 2025-02 e caching a partire da 512 token, mentre a claude-haiku-4-5 ne servono 4096. Due cose da verificare prima di passare al nuovo modello: i prompt oltre i 100000 token vengono fatturati a 5x, e il suo tokenizer conta lo stesso testo come circa il 30% di token in più. Per la maggior parte dei carichi di lavoro l'aggiornamento resta comunque più economico.
Benchmark
Claude Haiku 5.5: il provider non ha pubblicato risultati di benchmark.
Dati pubblicati dai provider: Alibaba (Qwen) Anthropic ByteDance Google Moonshot OpenAI Tencent Z.ai
Prezzi
| Claude Haiku 4.5 | Claude Haiku 5.5 | Δ | |
|---|---|---|---|
| Input / 1M token | $1 | $0.1 | 10× |
| Output / 1M token | $5 | $0.5 | 10× |
| Lettura cache / 1M token | $0.1 | $0.01 | 10× |
| Scrittura in cache | 1.25x (5m) / 2x (1h) | 1.25x (5m) / 2x (1h) | - |
Tariffe lette dal catalogo live al momento della build; il listino aggiornato è sulla pagina di ciascun modello.
Dove si collocano: prezzo di input per 1M di token tra tutti i modelli di chat con questa unità di fatturazione (78, scala logaritmica)
Funzionalità
| Claude Haiku 4.5 | Claude Haiku 5.5 | |
|---|---|---|
| Tool use | sì | sì |
| Controllo del ragionamento | configurabile | configurabile |
| Output strutturato | sì | sì |
| Prompt caching | esplicito (contrassegni tu il prefisso) | esplicito (contrassegni tu il prefisso) |
| Durata della cache | 5m default, 1h option | 5m default, 1h option |
| Prefisso minimo in cache | 1024 token | 1024 token |
Specifiche
| Claude Haiku 4.5 | Claude Haiku 5.5 | |
|---|---|---|
| Modalità di input | testo immagine | testo immagine |
| Modalità di output | testo | testo |
| Rilascio | 2025-10-15 | 2026-10-07 |
| Knowledge cutoff | 2025-02 | 2026-06 |
| Finestra di contesto | 200K | 1M |
| Output massimo | 64K | 128K |
| Parametro di ragionamento |
| output_config.effort |
| Valori accettati | budget_tokens
"adaptive" returns 400 | output_config.effort
|
| Valore di default | off, with no thinking unless the request sets it | medium |
Le specifiche sono riprese dalla documentazione di ciascun provider; se un provider non pubblica un dato, la riga viene omessa e non dedotta. Fonti complete: Claude Haiku 4.5 · Claude Haiku 5.5
Un solo prompt, entrambi i modelli, misurati attraverso il gateway
Claude Haiku 4.5 superato · 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.
out 106 tok latenza 2.8 s
Claude Haiku 5.5 superato · 3 sentences
Enabling reasoning makes the model generate a long internal chain of thought before its answer, and those thinking tokens are billed as output tokens, which cost several times more than input tokens. The model often produces many times more output per request than it did without reasoning, so the per-call cost rises even when the visible answer looks about the same length. Because that extra spend scales with every request, the bill roughly doubled, and we can control it by setting reasoning budgets, using reasoning only for tasks that need it, or routing simpler requests to a non-reasoning model.
out 332 tok (+159 ragionamento) latenza 2.9 s
Rispetto delle istruzioni (esattamente tre frasi: si contano), adattamento al destinatario (registro da CFO) e lo scarto di fatturazione dovuto al ragionamento nascosto, che i contatori di token qui sotto mettono in luce.
Claude Haiku 4.5 superato · 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. […]
out 310 tok latenza 4.0 s
Claude Haiku 5.5 superato · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = cur = 1 for i in range(1, len(xs)): if xs[i] == xs[i - 1]: cur += 1 else: cur = 1 best = max(best, cur) return best ``` The bug is that `cur` counts adjacent equal *pairs*, not run *elements*. A run of k equal items produces k−1 matching pairs, so the function returns one less than the true length, and a single-element input produces no pairs at all, so it returns 0 instead of 1. Resetting `cur` to 0 on a mismatch compounds this by starting every run one step behind. The fix starts both `cur` and `best` at 1 (a non-empty list always has a run of at least one element), resets `cur` to 1 on a mismatch, and updates `best` after every element rather than only inside the equal-branch. The empty-list guard keeps the function from returning 1 for `[]`. […]
out 1012 tok (+591 ragionamento) latenza 6.0 s
Se la correzione è davvero giusta (si può eseguire), quanto è densa la spiegazione e quanti token servono per un compito circoscritto.
Claude Haiku 4.5 superato · 5/5 fields, guidance null
```json { "company": "Meridian Robotics", "quarter": "Q3", "revenue_usd_m": 412, "growth_pct": 11, "guidance": null } ```
out 63 tok latenza 1.6 s
Claude Haiku 5.5 superato · 5/5 fields, guidance "Formal guidance withheld pending the Q4 "
```json { "company": "Meridian Robotics", "quarter": "September quarter", "revenue_usd_m": null, "growth_pct": 11, "guidance": "Formal guidance withheld pending the Q4 close" } ``` Notes: The text gives revenue as 412 but doesn't state the currency, so I left `revenue_usd_m` as null. Growth is "eleven and change," so 11 is an approximation.
out 725 tok (+572 ragionamento) latenza 4.6 s
Aderenza allo schema (nessun campo inventato), tentazione di allucinare (il testo dice espressamente che la guidance non viene comunicata) e differenze tra i percorsi di output strutturato.
Claude Haiku 4.5 superato · 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. […]
out 165 tok latenza 3.0 s
Claude Haiku 5.5 superato · 120 words, 0 banned, 1 question
**Introducing Prompt Cache Sync, the newest feature in GatewayOne.** Teams routing requests across OpenAI, Anthropic, and Google have often paid to process the same long system prompts again and again. Now the gateway stores those prompts once and reuses them wherever they appear, regardless of provider. Repeated context is matched by content hash, so cached prefixes return faster and cost less, with no changes to your application code. How much could this save your team? Enable Prompt Cache Sync from the dashboard, and your next billing report will show the difference. Cache entries follow your existing retention settings and can be purged per project at any time. Availability begins this week for all Scale and Enterprise plans worldwide. Start today.
out 2164 tok (+1929 ragionamento) latenza 9.9 s
Rispetto dei vincoli (budget di parole, elenco di parole vietate, l'unica domanda), impronta stilistica e controllo della lunghezza.
Passa dall'uno all'altro cambiando una sola riga
In ogni scheda qui sotto ci sono entrambi gli id: le due righe evidenziate sono l'unica modifica. Stesso endpoint, stessa chiave, stessa struttura della richiesta.
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-haiku-5-5", # decommenta questa riga, commenta quella sopra
messages=[{"role": "user", "content": "Summarize this diff"}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.chat.completions.create({
model: "claude-haiku-4-5",
// model: "claude-haiku-5-5", // decommenta questa riga, commenta quella sopra
messages: [{ role: "user", content: "Summarize this diff" }],
});
console.log(resp.choices[0].message.content);curl https://synthorai.io/v1/chat/completions \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "claude-haiku-4-5",
# "model": "claude-haiku-5-5", # decommenta questa riga, commenta quella sopra
"messages": [{"role": "user", "content": "Hello"}]
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
resp, _ := client.Chat.Completions.New(context.TODO(), openai.ChatCompletionNewParams{
Model: "claude-haiku-4-5",
// Model: "claude-haiku-5-5", // decommenta questa riga, commenta quella sopra
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ChatCompletion resp = client.chat().completions().create(
ChatCompletionCreateParams.builder()
.model("claude-haiku-4-5")
// .model("claude-haiku-5-5") // decommenta questa riga, commenta quella sopra
.addUserMessage("Summarize this diff")
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));FAQ
Qual è il più economico, Claude Haiku 4.5 o Claude Haiku 5.5?
Claude Haiku 5.5 costa meno alla voce Input / 1M token ($0.1 contro $1, 10× di differenza). Altre voci potrebbero dire il contrario: la tabella qui sopra riporta il listino completo, e il costo reale dipende dal tuo mix di utilizzo.
Posso fare un A/B test di Claude Haiku 4.5 contro Claude Haiku 5.5 senza due integrazioni?
Sì. Si chiamano entrambi dallo stesso endpoint compatibile con OpenAI, con una sola chiave API. Per passare dall'uno all'altro basta cambiare la stringa del modello in una riga, quindi puoi mandare una parte del traffico a ciascuno e confrontare direttamente i costi.
Claude Haiku 4.5 e Claude Haiku 5.5 supportano il prompt caching?
Sì: entrambi fanno pagare le letture dalla cache meno della tariffa di input, quindi i carichi di lavoro con un prefisso già in cache costano meno di quanto facciano pensare le tariffe di listino. Le voci esatte per la lettura dalla cache sono nella tabella dei prezzi qui sopra.