Claude Fable 5: Caching, Tokenizer & Kosten vs. Opus 4.6
Inhalt
claude-fable-5 ist jetzt auf dem Synthorai-Gateway verfügbar. Wer gegen die Claude-Linie cached, kann sich freuen: Der Caching- und TTL-Vertrag wird übernommen – gleiche cache_control-Marker, gleiche 5-Minuten- und 1-Stunden-TTLs, gleiche Schreibaufschläge, gleicher tiefer Leserabatt. Der Caching-Code lässt sich durch Ändern einer einzigen Zeichenkette übertragen.
Was budgetiert werden muss, sind nicht die Cache-Mechanismen – sondern die Rechnung. Fable 5 wird zu 2x dem Opus-Token-Preis angeboten, und es tokenisiert denselben englischen Text in ~45 % mehr Token als Opus 4.6 (es verwendet den Post-4.6-Tokenizer, identisch mit Opus 4.8). Diese beiden Multiplikatoren addieren sich. Dieser Beitrag misst alles davon, damit Sie es nicht müssen.
Alle nachstehenden Zahlen wurden gegen
https://synthorai.io/(Anthropic-natives/v1/messages) am 2026-06-10 mit einem stabilen ~6,6–9,6K-Token-englischen System-Prompt, kleinemmax_tokens, einzelnem sequenziellem Durchlauf gemessen. Kostenwerte werden aus dem Gateway-Feldusage.costgelesen; Verhältnisse (Token-Anzahlen, Schreibaufschlag, Leserabatt, modellübergreifende Kosten) sind der übertragbare Teil – absolute Dollarbeträge skalieren mit Ihrem Prompt. Reproduzieren Sie die Werte gegen Ihren eigenen Prompt, bevor Sie sie zitieren.
Verfügbarkeit
import os
from anthropic import Anthropic
anth = Anthropic(
api_key=os.environ["SYNTHORAI_KEY"],
base_url="https://synthorai.io/", # SDK appends /v1/messages
)
msg = anth.messages.create(
model="claude-fable-5", # the only line that changes
max_tokens=512,
system=[
{"type": "text", "text": SYSTEM_PROMPT,
"cache_control": {"type": "ephemeral"}},
],
messages=[{"role": "user", "content": question}],
)
print(msg.usage) # input_tokens, cache_creation_input_tokens, cache_read_input_tokens, cost
Tauschen Sie claude-opus-4-6 → claude-fable-5 aus, und nichts in Ihrem Caching-Pfad muss geändert werden. Fable 5 ist ein Anthropic-natives Modell mit einem 1M-Token-Kontextfenster. Ein Hinweis zum Verhalten: Es handelt sich um ein Reasoning-Modell, das standardmäßig Thinking-Token ausgibt – selbst ein triviales „reply OK” lieferte in unseren Durchläufen output_tokens_details.thinking_tokens > 0, während Opus 4.6/4.8 null zurückgab. Planen Sie Output-Token entsprechend ein. Die Mechanik hinter cache_control wird im Caching-Tutorial erläutert; die Architektur, warum der Cache existiert, findet sich in Teil 1 der Serie.
Das Wichtigste: Fable 5 verwendet den neuen Tokenizer
Die Token-Anzahl für die Opus-Linie stieg mit der 4.7-Generation: Derselbe englische Text, der auf 4.6 als ~6,6K Token gezählt wurde, zählt auf 4.8 als ~9,6K. Fable 5 landet auf der neuen Seite – identischer Text meldet exakt dieselbe Token-Anzahl wie Opus 4.8.
| Modell | Input-Token (identischer Text) | Tokenizer-Generation |
|---|---|---|
claude-opus-4-6 | 6.614 | pre-4.7 |
claude-opus-4-8 | 9.619 | post-4.7 |
claude-fable-5 | 9.619 | post-4.7 (identisch mit 4.8) |
Derselbe System-Prompt hat auf Fable 5 ~45 % mehr Token als auf Opus 4.6 (9.619 / 6.614 = 1,45). Dies ist die wichtigste Zahl, die man vor einer Migration verinnerlichen sollte, da jede nachgelagerte Größe – Kosten, die 1.024-Token-Cache-Eignungsgrenze, Ihr Pro-Aufruf-Budget – in Token berechnet wird.
Wir beschreiben eine gemessene Beobachtung – identischer Text, identische Token-Anzahl auf Fable 5 und Opus 4.8, ~45 % über Opus 4.6 – am konsistentesten mit dem Tokenizer-/Vokabular-Update, das mit der 4.7-Generation eingeführt wurde. Wenn Sie von 4.6 oder früher kommen, messen Sie neu; wenn Sie von 4.7/4.8 kommen, erwarten Sie Parität.
Caching-Verhalten: Der Vertrag ist unverändert
Wir haben dieselbe Sequenz ohne Cache / Cold-Write / Warm-Read auf jedem Modell ausgeführt. Die Rabattstruktur ist von Anfang bis Ende identisch – Fable 5 berücksichtigt cache_control und meldet dieselben Usage-Felder (cache_creation_input_tokens, cache_read_input_tokens sowie die Buckets ephemeral_5m / ephemeral_1h).
| Modell | 5m Cache-Write | 1h Cache-Write | Warm-Read |
|---|---|---|---|
claude-opus-4-6 | 1,25x | 2,00x | ~9 % von No-Cache |
claude-opus-4-8 | 1,25x | 2,00x | ~6 % von No-Cache |
claude-fable-5 | 1,24x | 1,99x | ~6 % von No-Cache |
Zwei Invarianten gelten für alle drei:
- Schreibaufschlag ≈ 1,25x (5m), ≈ 2x (1h). Der erste (Cold-)Aufruf kostet ~1,25x den No-Cache-Preis, um einen 5-Minuten-Eintrag zu befüllen, oder ~2x für einen 1-Stunden-Eintrag. Break-even ist ein Treffer.
- Leserabatt ≈ 90 %+. Ein Warm-Cache-Read auf Fable 5 kostete ~6 % des No-Cache-Aufrufs – ein ~94 %-Rabatt, in Übereinstimmung mit (leicht besser als) Anthropics dokumentierter ~90 %-Cached-Read-Ökonomie. Reads bleiben unabhängig von der TTL tief rabattiert.
Die Prozentsätze sind über die gesamte Linie konstant. Wie beim Schritt Opus 4.7 → 4.8 ist die höhere absolute Rechnung bei Fable 5 eine Preis-und-Token-Geschichte, keine Cache-Ökonomie-Geschichte – dazu mehr im nächsten Abschnitt.
TTL-Verhalten: Beide Fenster werden berücksichtigt
Fable 5 unterstützt dieselben zwei TTLs wie der Rest der Linie: einen gleitenden 5-Minuten-Standard und ein optionales 1-Stunden-Fenster. Wir haben jede TTL mit einem eindeutigen Präfix pro Aufruf isoliert (damit kein veralteter Eintrag das Ergebnis verfälschen konnte) und bestätigt, dass das Usage-Objekt den richtigen Bucket meldet – cache_creation.ephemeral_5m_input_tokens oder ephemeral_1h_input_tokens.
# 1-hour TTL — same marker syntax on Fable 5 as on the Opus line
"cache_control": {"type": "ephemeral", "ttl": "1h"}
Der 1-Stunden-Write kostet ~2x No-Cache (vs. ~1,25x für den 5-Minuten-Write), und Reads bleiben unabhängig von der TTL tief rabattiert – identisch mit Opus 4.6/4.8. Wenn Sie 5m für Live-Chat und 1h für Agenten mit menschlichen Pausen auf Opus gewählt haben, behalten Sie diese Entscheidungen für Fable 5 bei.
Die Kostensituation: 2x Preis × 1,45x Token
Hier unterscheidet sich Fable 5 tatsächlich. Zwei Faktoren treiben die Rechnung in die Höhe, und sie multiplizieren sich.
1. Der Listenpreis beträgt 2x die Opus-Stufe.
| Modell | Input ($/M) | Output ($/M) | Cache-Read ($/M) |
|---|---|---|---|
claude-opus-4-6 / 4-8 | 5 | 25 | 0,5 |
claude-fable-5 | 10 | 50 | 1 |
2. Derselbe Text hat ~45 % mehr Token als auf 4.6 (die oben beschriebene Tokenizer-Verschiebung).
Multipliziert man sie, kostet derselbe englische Prompt deutlich mehr. Gemessen gegen den identischen System-Prompt auf jedem Modell (Gateway usage.cost, gleicher einzelner Durchlauf):
| Vergleich | Token-Verhältnis | Preis-Verhältnis | Gleicher-Prompt-Kostenverhältnis (gemessen) |
|---|---|---|---|
| Fable 5 vs. Opus 4.8 | 1,00x | 2,0x | 2,0x |
| Fable 5 vs. Opus 4.6 | 1,45x | 2,0x | 2,9x |
Gegenüber Opus 4.8 (gleicher Tokenizer) ist Fable 5 ein klares 2x – reiner Preisaufschlag. Gegenüber Opus 4.6 verstärkt die Tokenizer-Änderung die Preisänderung auf etwa 2,9x die Kosten für denselben Prompt. Ihr Cache-Rabatt ist unverändert, aber die absolute Basis, auf die er angewendet wird, ist ~2,9x größer als auf 4.6. Wenn Sie ein Pro-Aufruf-Budget auf Basis von 4.6 bemessen haben, überarbeiten Sie es.
Eine praktische Konsequenz: Überprüfen Sie die 1.024-Token-Cache-Eignungsgrenze. Anthropic cached Präfixe nur ab einer Mindestgröße. Ein Prompt, der auf 4.6 knapp unter der Grenze lag (in alten Tokenizer-Token), kann sie auf Fable 5 (~45 % mehr Token) überschreiten – und umgekehrt für Größenschätzungen, die auf der alten Anzahl basieren. Lesen Sie cache_creation_input_tokens / cache_read_input_tokens immer aus der Live-Antwort, anstatt sie aus einem lokalen Tokenizer zu schätzen, der möglicherweise nicht übereinstimmt.
Migrations-Checkliste (Opus → Fable 5)
- ✅ Caching-Code wird wörtlich übernommen.
cache_control-Marker, Breakpoint-Anzahl (bis zu 4),ttl: "1h", Usage-Feldnamen – alles identisch. - ✅ TTL-Entscheidungen werden übernommen. 5m für Live-/Session-Workloads, 1h für stoßweise/agenten-mit-Pausen.
- ✅ Rabatt-Ökonomie wird übernommen. ~90 %+ Read, ~1,25x Write (5m), ~2x Write (1h).
- ⚠️ Absoluten Kosten neu budgetieren. Fable 5 ist ~2x Opus pro Token und ~2,9x die gleiche-Prompt-Kosten vs. Opus 4.6. Der Rabattprozentsatz ist unverändert; die Basis, auf die er angewendet wird, nicht.
- ⚠️ Token-Anzahlen neu messen, wenn Sie von 4.6 oder früher kommen (erwarten Sie ~45 % mehr für denselben Text). Von 4.7/4.8 aus erwarten Sie Parität.
- ⚠️ Standard-Thinking-Token einplanen. Fable 5 gibt standardmäßig Reasoning-Token aus – sie werden zum Output-Tarif ($50/M) abgerechnet. Begrenzen oder deaktivieren Sie Thinking, wenn Sie es nicht benötigen.
Fazit
Für ein Team, das bereits gegen Claude cached, ist claude-fable-5 eine einfache Integration: Die gesamte Caching- und TTL-Oberfläche ist stabil, es gibt nichts neu zu lernen und keinen Code neu zu schreiben. Es ist kein einfacher Budget-Tausch von Opus 4.6 – zwischen dem 2x-Token-Preis und der ~45 %-Tokenizer-Inflation kostet derselbe Prompt ~2,9x so viel. Bestätigen Sie Ihre Zahlen gegen das Live-usage-Objekt, entscheiden Sie, ob Sie die Standard-Thinking-Token benötigen, und bemessen Sie die Cache-Breakpoints gegen die neuen Token-Anzahlen.
Das vollständige Caching-Playbook – Prompt-Struktur, Hit-Rate-Debugging, TTL-bewusste Muster – finden Sie in der vierteiligen Serie, beginnend mit How KV Cache & TTL Work und dem praktischen Python-Tutorial.
FAQ
Muss ich meinen cache_control-Code ändern, um Fable 5 zu verwenden?
Nein. Die Marker-Syntax, das Breakpoint-Limit und die TTL-Optionen sind identisch mit der Opus-Linie. Ändern Sie das Feld model und nichts anderes im Caching-Pfad.
**Hat sich der Cache-Read-Rabatt bei Fable 5 ge