Claude Fable 5.1
Rufen Sie Claude Fable 5.1 mit der offiziellen Anthropic-API für Messages auf, oder verwenden Sie die OpenAI-Formate Chat Completions und Responses: adaptives Denken, ein Kontextfenster mit 1M Token und bis zu 128K Token Ausgabe.
Claude Fable 5.1 ist das aktuelle Fable-Modell von Anthropic für anspruchsvolle Denkarbeit und langfristige agentische Aufgaben. Sende die offizielle Anthropic-Messages-Anfrage an SeedRouter: änder die Basis-URL und den API-Schlüssel, behalte den Body bei. Dasselbe Modell beantwortet auch die OpenAI-Formate Chat Completions und Responses.
Modell-ID
| Modell-ID | Kontextfenster | Maximale Ausgabe | Denken | Standard-Denktiefe |
|---|---|---|---|---|
claude-fable-5-1 | 1M Token | 128K Token | Adaptiv, immer an | high |
Die aktuellen Preise findest du auf der Modellseite.
Kurzbeispiel
curl https://api.seedrouter.ai/v1/messages \
-H "x-api-key: $SEEDROUTER_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-fable-5-1",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Summarize the trade-offs of event sourcing in three bullet points."}]
}'Endpunkte
| Format | Methode und Pfad | Authentifizierung |
|---|---|---|
| Anthropic Messages | POST https://api.seedrouter.ai/v1/messages | x-api-key: <key> oder Authorization: Bearer <key>, plus anthropic-version |
| OpenAI Chat Completions | POST https://api.seedrouter.ai/v1/chat/completions | Authorization: Bearer <key> |
| OpenAI Responses | POST https://api.seedrouter.ai/v1/responses | Authorization: Bearer <key> |
Der Messages-Endpunkt leitet deinen Request-Body unverändert weiter, einschließlich optionaler Felder, und gibt die offizielle Antwort zurück. Ein anthropic-beta-Header wird ebenfalls durchgeleitet. Bewahre den API-Schlüssel in serverseitigem Code auf.
Parameter
| Name | Typ | Erforderlich | Standard | Hinweise |
|---|---|---|---|---|
model | string | Ja | — | claude-fable-5-1. |
max_tokens | integer | Ja | — | 0–128000. Umfasst die Token, die für Denken ausgegeben werden. 0 wärmt nur den Prompt-Cache vor. |
messages | object[] | Ja | — | Abwechselnde user- und assistant-Sprecherwechsel; content ist ein String oder ein Array von Content-Blöcken. Der letzte Sprecherwechsel muss user sein. Ausnahme: Um eine pause_turn-Antwort fortzusetzen, sende ihren Inhalt unverändert als letzte assistant-Nachricht zurück. |
system | string oder object[] | Nein | — | System-Prompt. |
thinking | object | Nein | {"type": "adaptive"} | Denken ist adaptiv und immer an. display: omitted (Standard) oder summarized. |
output_config.effort | enum | Nein | high | low, medium, high, xhigh, max. Steuert die Denktiefe des Modells. |
output_config.format | object | Nein | — | Ein JSON-Schema für strukturierte Ausgabe. |
stop_sequences | string[] | Nein | — | Stoppt, wenn eine dieser Zeichenketten generiert wird. |
stream | boolean | Nein | false | Streame die Antwort als Server-Sent Events. |
temperature | number | Nein | — | Aus Gründen der Abwärtskompatibilität wird nur 1 (der Standardwert) akzeptiert; jeder andere Wert gibt einen 400-Fehler zurück. Lass diesen Parameter weg. |
top_p | number | Nein | — | Aus Gründen der Abwärtskompatibilität werden nur Werte von 0.99 bis 1 akzeptiert; jeder andere Wert gibt einen 400-Fehler zurück. Lass diesen Parameter weg. |
top_k | integer | Nein | — | Nicht akzeptiert: jeder Wert gibt einen 400-Fehler zurück. Lass diesen Parameter weg. |
tools | object[] | Nein | — | Tool-Definitionen. |
tool_choice | object | Nein | — | auto oder none; das Erzwingen eines Tools (any oder tool) wird von diesem Modell nicht unterstützt. |
metadata.user_id | string | Nein | — | Eine durchsichtige ID für deinen Endnutzer, bis zu 512 Zeichen. |
cache_control | object | Nein | — | Breakpoint für Prompt-Cache auf oberster Ebene. |
container, context_management, mcp_servers, diagnostics, service_tier, inference_geo, speed | — | Nein | — | Werden wie erhalten durchgeleitet. |
Denken und Denktiefe
Claude Fable 5.1 verwendet immer adaptives Denken: Das Modell entscheidet, wie viel es denkt, und output_config.effort steuert das. Höhere Denktiefe bedeutet normalerweise mehr Output-Token, längere Wartezeit und höhere Kosten. Wenn thinking.display auf summarized gesetzt ist, enthält die Antwort thinking-Blöcke, die du anzeigen kannst; bei omitted werden sie weggelassen. Denk-Token werden als Output-Token berechnet.
Medieneingaben
Bilder und PDFs gehen in einen Sprecherwechsel des Benutzers als image- und document-Blöcke mit einer url-Quelle oder, wie in der offiziellen API, einer base64-Quelle:
{"role": "user", "content": [
{"type": "image", "source": {"type": "url", "url": "https://example.com/chart.png"}},
{"type": "text", "text": "What does this chart show?"}
]}Ersetze die Beispiel-URL durch eine öffentlich erreichbare Datei deiner eigenen.
Abrechnungsdimensionen
Siehe die aktuellen Tarife auf der Modellseite. Eine Anfrage wird nach den Token berechnet, die sie verbraucht:
- Input-Token,
- Output-Token, einschließlich Denken,
- Prompt-Cache-Lesevorgänge, und
- Prompt-Cache-Schreibvorgänge mit separaten 5-Minuten- und 1-Stunden-Tarifen.
Die Gebühr wird von der usage entnommen, die mit der fertigen Antwort gemeldet wird. Eine Anfrage, die fehlschlägt, wird nicht berechnet. Die Nutzungsdatensätze deines Kontos zeigen die genaue Gebühr für jede Anfrage.
Ausgabe
Eine Non-Streaming-Anfrage gibt das offizielle Message-Objekt zurück:
{
"id": "msg_...",
"type": "message",
"role": "assistant",
"model": "claude-fable-5-1",
"content": [{"type": "text", "text": "..."}],
"stop_reason": "end_turn",
"usage": {"input_tokens": 18, "output_tokens": 4, "cache_read_input_tokens": 0, "cache_creation_input_tokens": 0}
}Mit "stream": true ist die Antwort ein Stream der offiziellen Events: message_start, content_block_start, content_block_delta, content_block_stop, message_delta und message_stop. Das letzte message_delta enthält die Anzahl der Output-Token.
OpenAI-kompatible Formate
Dasselbe Modell beantwortet die OpenAI-Formate, sodass vorhandener OpenAI-Code nur eine neue Basis-URL und Modell-ID benötigt:
from openai import OpenAI
client = OpenAI(api_key="YOUR_SEEDROUTER_KEY", base_url="https://api.seedrouter.ai/v1")
chat = client.chat.completions.create(
model="claude-fable-5-1",
messages=[{"role": "user", "content": "Hello"}],
)
response = client.responses.create(model="claude-fable-5-1", input="Hello")Diese Anfragen werden in das Messages-Format konvertiert, sodass ein Feld ohne Messages-Äquivalent keine Auswirkung hat. Ihre Antworten enthalten die offiziellen OpenAI-Felder und können ein paar zusätzliche Nutzungsfelder enthalten; lies usage.total_tokens und die offiziellen Felder.
Fehler
Fehler auf /v1/messages verwenden die Anthropic-Form, {"type": "error", "error": {"type": "...", "message": "..."}}; die anderen Formate verwenden {"error": {"code": ..., "message": "..."}}. Der code ist ein Code aus dem gemeinsamen Fehlerkatalog. Fehlgeschlagene Anfragen werden nicht berechnet.
Tipps
- Beginne mit der Standard-Denktiefe und erhöhe sie nur für Aufgaben, die mehr Denken benötigen; Denktiefe ändert sowohl Qualität als auch Kosten.
- Setze
max_tokenshoch genug für Denken und Antwort: es ist ein Budget für beide. - Platziere langen, wiederverwendeten Kontext zuerst und markiere ihn mit
cache_control, damit spätere Anfragen ihn aus dem Cache mit niedrigerem Tarif lesen.
