Claude Fable 5 vs Claude Fable 5.1
Claude Fable 5 è disponibile su invito. Le cifre qui sotto sono le tariffe live, ma per chiamarlo il tuo workspace deve prima essere autorizzato: chiedici l'accesso prima di basare il tuo lavoro su questo confronto.
Claude Fable 5.1 è disponibile su invito. Le cifre qui sotto sono le tariffe live, ma per chiamarlo il tuo workspace deve prima essere autorizzato: chiedici l'accesso prima di basare il tuo lavoro su questo confronto.
Quale scegliere e quando
Questi due sono quasi identici nei fatti: entrambi accettano testo e immagini in input, entrambi restituiscono testo, entrambi presentano un contesto di 1000000 token con output massimo di 128000, gli stessi flag per chat, code, thinking, tools e reasoning, un thinking che non può essere disattivato, e gli stessi $10 in input e $50 in output per milione di token. La separazione risiede nelle letture della cache e nella datazione: claude-fable-5-1 addebita $0.25 per milione di token di input in cache contro $1 per claude-fable-5, una differenza di 4x, e include un knowledge cutoff al 2026-06 rispetto al 2026-01. Scegli 5.1 per carichi di lavoro pesanti sulla cache o con prefissi ripetuti; rimani su claude-fable-5 solo se sei già vincolato ad esso.
Benchmark
18 misurati su entrambi.
Dati pubblicati dai provider: Alibaba (Qwen) Anthropic ByteDance DeepSeek Google MiniMax Moonshot OpenAI Tencent Z.ai
Prezzi
| Claude Fable 5 | Claude Fable 5.1 | Δ | |
|---|---|---|---|
| Input / 1M token | $10 | $10 | = |
| Output / 1M token | $50 | $50 | = |
| Lettura cache / 1M token | $1 | $0.25 | 4× |
| 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 (79, scala logaritmica)
Funzionalità
| Claude Fable 5 | Claude Fable 5.1 | |
|---|---|---|
| Tool use | sì | sì |
| Controllo del ragionamento | sempre attivo | sempre attivo |
| 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 Fable 5 | Claude Fable 5.1 | |
|---|---|---|
| Modalità di input | testo immagine | testo immagine |
| Modalità di output | testo | testo |
| Rilascio | 2026-06-09 | 2026-09-01 |
| Knowledge cutoff | 2026-01 | 2026-06 |
| Finestra di contesto | 1M | 1M |
| Output massimo | 128K | 128K |
| Parametro di ragionamento | output_config.effort (thinking.type is adaptive-only and needs no configuration) | output_config.effort (thinking is adaptive-only and always on) |
| Valori accettati | effort
both "enabled" and "disabled" return 400 | effort
|
| Valore di default | thinking always on (adaptive) effort
| thinking always on (adaptive) effort
|
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 Fable 5 · Claude Fable 5.1
Un solo prompt, entrambi i modelli, misurati attraverso il gateway
Claude Fable 5 superato · 3 sentences
When we enabled reasoning, the model began generating extensive internal "thinking" tokens before each answer, and those tokens are billed as output even though users never see them. Output tokens typically cost several times more than input tokens, so adding thousands of hidden reasoning tokens per request effectively multiplied our per-query cost. In short, we're paying for a much longer response behind the scenes in exchange for higher answer quality, and we can manage this by tuning reasoning effort levels or reserving reasoning mode for complex tasks only.
out 228 tok latenza 6.7 s
Claude Fable 5.1 superato · 3 sentences
When we enabled reasoning, the model started generating a long chain of internal "thinking" tokens before producing each answer, and we're billed for those tokens at the same output rate even though users never see them. In practice, that hidden reasoning often runs several times longer than the visible response, so the total tokens per request roughly doubled while the number of requests stayed flat. The upside is measurably better accuracy on complex tasks, so the right conversation is whether that quality gain justifies the cost—and if not, we can restrict reasoning to the workflows that actually need it rather than turning it on globally.
out 186 tok latenza 3.2 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 Fable 5 superato · 8/8 cases
## Fixed code ```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 ``` ## Explanation The original function counts **adjacent equal pairs** rather than **items in a run**: a run of length *n* contains only *n − 1* equal neighbor pairs, so every result is off by one — a single-element list yields 0 instead of 1, and `[1, 2, 2]` yields 1 instead of 2 (which callers perceive as "missing" the run at the end). The fix is to initialize both `cur` and `best` to 1 (any nonempty list has a run of at least length 1), reset `cur` to 1 rather than 0 when
out 531 tok latenza 12.5 s
Claude Fable 5.1 superato · 8/8 cases
```python def longest_run(xs): if not xs: return 0 best = cur = 1 for i in range(1, len(xs)): cur = cur + 1 if xs[i] == xs[i - 1] else 1 best = max(best, cur) return best ``` The bug is that `cur` counts *matches between adjacent elements* rather than *elements in the run*: it starts at 0 and only increments when `xs[i] == xs[i-1]`, so a run of length k produces a count of k−1. That's why a single element returns 0 instead of 1, and why every other run also comes out one short — the "misses runs at the end" reports are the same off-by-one seen on inputs like `[1, 2, 2]`, where the trailing run of length 2 is reported as 1 (the original code does update `best` inside the loop, so end-of-list runs aren't actually skipped, just undercounted). […]
out 882 tok (+507 ragionamento) latenza 3.4 s
Se la correzione è davvero giusta (si può eseguire), quanto è densa la spiegazione e quanti token servono per un compito circoscritto.
Claude Fable 5 superato · 5/5 fields, guidance null
```json { "company": "Meridian Robotics", "quarter": "Q3 (September quarter)", "revenue_usd_m": 412, "growth_pct": 11, "guidance": null } ``` Notes on interpretation: "up eleven and change" is rendered as 11 (the precise figure isn't stated), and guidance is null because it was explicitly withheld.
out 192 tok latenza 6.5 s
Claude Fable 5.1 superato · 5/5 fields, guidance null
```json { "company": "Meridian Robotics", "quarter": "Q3 (September quarter)", "revenue_usd_m": 412, "growth_pct": 11, "guidance": null } ``` Notes on judgment calls (not part of the object): - **revenue_usd_m**: The text says "412 for the topline" but never states the currency or that the figure is in millions; it's also on a constant-currency basis and prefaced with "call it," so it's approximate. If you want strict literalism, this should be `null`. - **growth_pct**: "Eleven and change" means slightly above 11%; the exact figure isn't given. - **quarter**: "September quarter" is Q3 on a calendar basis, consistent with the reference to a pending Q4 close. - **guidance**: Explicitly withheld, so `null`.
out 633 tok (+349 ragionamento) latenza 3.8 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 Fable 5 superato · 120 words, 0 banned, 1 question
**Introducing Cross-Provider Prompt Caching for our API Gateway** Starting today, your repeated prompts are cached once and reused across OpenAI, Anthropic, Google, and any other provider you route through the gateway. Instead of paying full token costs every time your application sends the same system prompt or context block, the gateway detects matching prefixes and serves cached results in milliseconds. Why keep spending money and latency on identical requests? Early adopters report cost reductions of up to 60 percent on high-volume workloads, along with faster median response times. Configuration is simple: enable caching in your dashboard, set a TTL, and choose which routes participate. Cache entries are encrypted at rest and never shared between accounts. Available now on all plans.
out 1173 tok latenza 18.2 s
Claude Fable 5.1 superato · 121 words, 0 banned, 1 question
**Introducing Cross-Provider Prompt Caching for the Gateway.** Starting today, your API gateway can cache prompts once and reuse them across OpenAI, Anthropic, Google, and any other provider you route to. Long system instructions, retrieval context, and few-shot examples are stored at the gateway layer, so switching models no longer means paying to resend the same tokens. Why send the same 8,000-token preamble to three different vendors when you could send it once? Our cache normalizes prompt segments, fingerprints them, and serves matching prefixes from memory before the request ever reaches an upstream API. Early customers report token costs falling by 30 to 60 percent on high-volume workloads, with median latency dropping alongside. Available today on all Team and Enterprise plans.
out 1722 tok (+1463 ragionamento) latenza 2.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-fable-5",
# model="claude-fable-5-1", # decommenta questa riga, commenta quella sopra
messages=[{"role": "user", "content": "Summarize this diff"}],
reasoning_effort="medium",
)
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-fable-5",
// model: "claude-fable-5-1", // decommenta questa riga, commenta quella sopra
messages: [{ role: "user", content: "Summarize this diff" }],
reasoning_effort: "medium",
});
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-fable-5",
# "model": "claude-fable-5-1", # decommenta questa riga, commenta quella sopra
"messages": [{"role": "user", "content": "Hello"}],
"reasoning_effort": "medium"
}'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-fable-5",
// Model: "claude-fable-5-1", // decommenta questa riga, commenta quella sopra
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Summarize this diff"),
},
ReasoningEffort: openai.ReasoningEffortMedium,
})
fmt.Println(resp.Choices[0].Message.Content)
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.*;
import com.openai.models.ReasoningEffort;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ChatCompletion resp = client.chat().completions().create(
ChatCompletionCreateParams.builder()
.model("claude-fable-5")
// .model("claude-fable-5-1") // decommenta questa riga, commenta quella sopra
.addUserMessage("Summarize this diff")
.reasoningEffort(ReasoningEffort.MEDIUM)
.build());
System.out.println(resp.choices().get(0).message().content().orElse(""));FAQ
Qual è il più economico, Claude Fable 5 o Claude Fable 5.1?
Alla voce Input / 1M token hanno lo stesso prezzo ($10), quindi qui non è il prezzo a decidere: guarda le specifiche e le funzionalità qui sotto.
Posso fare un A/B test di Claude Fable 5 contro Claude Fable 5.1 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 Fable 5 e Claude Fable 5.1 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.