Text
Claude Haiku 5.5
Claude Haiku 5.5 Messages-Referenz: Parameter, Denken, erzwungene Tools, Cache-Nutzung, Betafunktionen, Streaming und Antwortverarbeitung.
Verwenden Sie claude-haiku-5-5 mit POST https://api.seedrouter.ai/v1/messages. Das Modell verarbeitet Text, Bilder und Dokumente und liefert Text oder Tool-Anfragen. Die Modellseite zeigt aktuelle Tokenpreise.
Die folgende Spezifikation folgt Anthropics modellspezifischer Dokumentation, geprüft am 9. Oktober 2026. Offizielle Funktionsgrenzen und die Prüfung der gesamten Verarbeitungskette sind getrennt zu betrachten: Die Annahme eines Feldes beweist nicht, dass seine beabsichtigte Wirkung eingetreten ist. Beachten Sie vor erweiterten Optionen die folgenden Kompatibilitätsergebnisse.
Schnellstart
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-haiku-5-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Classify this request as billing, technical or account: I was charged twice. Return only the label."}]
}'import os
import anthropic
client = anthropic.Anthropic(
api_key=os.environ["SEEDROUTER_API_KEY"],
base_url="https://api.seedrouter.ai",
)
message = client.messages.create(
model="claude-haiku-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Summarize the purpose of a database index."}],
)
for block in message.content:
if block.type == "text":
print(block.text)import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: process.env.SEEDROUTER_API_KEY,
baseURL: 'https://api.seedrouter.ai',
});
const message = await client.messages.create({
model: 'claude-haiku-5-5',
max_tokens: 1024,
messages: [{ role: 'user', content: 'Summarize the purpose of a database index.' }],
});
for (const block of message.content) {
if (block.type === 'text') console.log(block.text);
}Bewahren Sie Ihren API-Schlüssel auf dem Server auf. Wählen Sie Antwortblöcke anhand von type; eine Antwort kann mit einem Denkblock oder Tool-Aufruf beginnen.
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"os"
"time"
)
func main() {
body, err := json.Marshal(map[string]any{
"model": "claude-haiku-5-5",
"max_tokens": 1024,
"messages": []map[string]string{
{"role": "user", "content": "Summarize the purpose of a database index."},
},
})
if err != nil { panic(err) }
req, err := http.NewRequest("POST", "https://api.seedrouter.ai/v1/messages", bytes.NewReader(body))
if err != nil { panic(err) }
req.Header.Set("x-api-key", os.Getenv("SEEDROUTER_API_KEY"))
req.Header.Set("anthropic-version", "2023-06-01")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{Timeout: 2 * time.Minute}
res, err := client.Do(req)
if err != nil { panic(err) }
defer res.Body.Close()
data, err := io.ReadAll(res.Body)
if err != nil { panic(err) }
if res.StatusCode >= 400 { panic(fmt.Sprintf("HTTP %d: %s", res.StatusCode, data)) }
fmt.Println(string(data))
}Anfrageparameter
Die native Spezifikation umfasst 25 Felder auf oberster Ebene. Optional bedeutet nicht nullable: Nur Zeilen, die ausdrücklich null nennen, akzeptieren diesen Wert. Unbekannte Felder und nicht unterstützte Sampling-Felder werden gemäß der Parameterregel für Textmodelle vor der Weiterleitung verworfen. Ungültige Werte unterstützter Felder führen vor der Generierung zu einem invalid_request_error.
| Feld | Erforderlich | Spezifikation |
|---|---|---|
model | Ja | claude-haiku-5-5. |
max_tokens | Ja | Ganzzahl 0–128000, einschließlich Denktoken. Kein API-Standardwert. Der Playground startet bei 8192. |
messages | Ja | 1–100000 Nachrichten mit einer Rolle und Zeichenfolge oder einem Array von Inhaltsblöcken. Siehe Gesprächsregeln unten. |
system | Nein | Zeichenfolge oder Array von Textblöcken. Nicht null. |
thinking | Nein | Standardmäßig adaptive, alternativ disabled. Kein manuelles Budget und kein between_tools-Modus. |
output_config | Nein | Objekt mit effort, format und optionalem Beta-Feld task_budget. |
stop_sequences | Nein | Array von Stoppzeichenfolgen. |
stream | Nein | Boolescher Wert; standardmäßig false. |
temperature | Nein | Weglassen. Wird hier verworfen; der offizielle Kompatibilitätswert ist 1. |
top_p | Nein | Weglassen. Wird hier verworfen; der offizielle Kompatibilitätswert ist 0.99. |
top_k | Nein | Nicht unterstützt und verworfen. |
tools | Nein | Array von Client-Tools oder offiziellen Server-Tool-Deklarationen. |
tool_choice | Nein | auto, none, any oder benanntes tool. Erzwungene Tools werden unterstützt. |
metadata | Nein | Objekt; optionales user_id ist eine Zeichenfolge mit höchstens 512 Zeichen oder null. |
cache_control | Nein | Null oder {"type":"ephemeral","ttl":"5m"}; TTL akzeptiert auch 1h. Standard-TTL ist 5m. |
container | Nein | Null, Container-ID als Zeichenfolge oder Objekt mit optionaler ID und bis zu 20 Skills. |
context_management | Nein | Null oder Objekt mit offiziellen Kontextbearbeitungen; Beta-Header gelten. |
mcp_servers | Nein | Array von höchstens 20 URL-Servern; benötigt einen passenden MCP-Beta-Header. |
service_tier | Nein | auto oder standard_only. Haiku hat keine Kapazität im Priority Tier. |
inference_geo | Nein | global, us oder null. Ohne Angabe gilt der Kontostandard; prüfen Sie die gemeldete Nutzung, bevor Sie eine Region annehmen. |
diagnostics | Nein | Null oder Objekt; previous_message_id ist null oder eine Zeichenfolge mit höchstens 256 Zeichen. |
compaction | Nein | Null oder {"type":"summarize","instructions":"..."}. Anweisungen sind optional, nullable und höchstens 16384 Zeichen lang. |
fallbacks | Nein | Null oder default mit der zugehörigen Beta. Haiku hat keine automatischen Fallback-Modelle; explizite Listen sind ungültig. |
fallback_credit_token | Nein | Null, Token-Zeichenfolge oder {token,mode}. Die API muss Berechtigung und Gültigkeit prüfen; nehmen Sie nicht an, dass jedes Modell als Ziel berechtigt ist. |
speed | Nein | standard oder null. Schnellmodus wird nicht unterstützt. |
Der Playground bietet Steuerelemente für unterstützte Felder, einschließlich JSON-Eingaben für verschachtelte Strukturen. Sampling-Parameter und die feste Standardgeschwindigkeit fehlen im Formular. Die Modell-ID ist für diese Seite festgelegt. Prüfen Sie den übermittelten Inhalt in der JSON-Anfragevorschau.
Denken und Aufwand
Standardmäßig wird adaptives Denken mit medium-Aufwand verwendet; der Denktext wird ausgelassen. Effort akzeptiert low, medium, high, xhigh, max oder null für den Standardwert.
{
"thinking": {"type": "adaptive", "display": "summarized"},
"output_config": {"effort": "medium"}
}Zum Deaktivieren des Denkens verwenden Sie {"type":"disabled"} mit low, medium oder high. Fügen Sie im disabled-Modus weder display noch block_binding hinzu. enabled, budget_tokens, between_tools und deaktiviertes Denken bei xhigh/max sind ungültig.
Bei adaptivem Denken akzeptiert display die Werte omitted, summarized oder null. Der generische Beta-Wert updates benötigt thinking-display-updates-2026-08-18; Anthropic bestätigt derzeit keine lesbaren Fortschrittsmeldungen für Haiku. Verlassen Sie sich daher nicht auf diese Ausgabe.
Das optionale thinking.block_binding benötigt thinking-binding-controls-2026-08-01. Es ist null oder ein Objekt, dessen prefix_mismatch_behavior den Wert error, drop_block oder null hat. Lassen Sie frühere Gesprächsrunden und vollständige Denkblöcke beim erneuten Übermitteln des Verlaufs unverändert. Denksignaturen sind an das erzeugende Konto oder ein damit verknüpftes Konto gebunden.
output_config.task_budget ist null oder { "type": "tokens", "total": 20000 } mit optionalem ganzzahligem/null remaining. Es benötigt task-budgets-2026-03-13; total muss mindestens 20000 betragen. Für remaining wird hier kein zusätzlicher Wertebereich vorgegeben.
Tools und strukturierte Ausgabe
Client-Tools benötigen einen Namen aus 1–128 Buchstaben, Ziffern, Unterstrichen oder Bindestrichen sowie ein input_schema mit type: "object". Verwenden Sie tool_choice: {"type":"any"} oder {"type":"tool","name":"lookup"}, um ein deklariertes Tool zu erzwingen. Bei adaptivem Denken beginnt eine Antwort mit erzwungenem Tool direkt mit dem Tool-Aufruf, ohne Denkblock.
disable_parallel_tool_use ist ein optionaler boolescher Wert für die Auswahlarten auto, any und tool; er ist kein Feld von none. Senden Sie das Tool-Ergebnis mit der ursprünglichen tool_use_id zurück. Der Playground zeigt Aufrufe an, führt Ihre Client-Tools aber nicht aus.
{
"tools": [{
"name": "lookup",
"description": "Look up a product by SKU.",
"input_schema": {
"type": "object",
"properties": {"sku": {"type": "string"}},
"required": ["sku"],
"additionalProperties": false
}
}],
"tool_choice": {"type": "tool", "name": "lookup"}
}Strukturierte Antworten verwenden output_config.format: {"type":"json_schema","schema":{...}}. Beachten Sie Anthropics unterstützte JSON-Schema-Teilmenge, einschließlich additionalProperties: false für Objekte. Eine gültige Struktur garantiert keine sachlich korrekten Werte. Für strikte Tools und strukturierte Ausgabe gelten Grenzen für das gesamte Schema; siehe die offizielle Referenz zur strukturierten Ausgabe.
Computer-Nutzung benötigt computer_toolset_20260801; alte Computer-Tool-Versionen sind ungültig. Browser-Nutzung verwendet das eigene browser_toolset_20260801. Die Deklaration eines Tools bestätigt nicht, dass eine vollständige Server-Tool-Sitzung funktioniert. Lesen Sie vor der Nutzung den offiziellen Leitfaden des Tools und mögliche Beta-Anforderungen.
Gespräche und Kontextverwaltung
Gewöhnliches Assistant-Prefill wird nicht unterstützt. Die Fortsetzung eines pausierten Server-Tools ist ein anderer Fall: Senden Sie die vollständigen Assistant-Blöcke entsprechend dem Messages-Protokoll erneut.
Eine Systemnachricht mit Inhalt darf nach einer Nutzernachricht oder einem pausierten Server-Tool-Ergebnis stehen. Danach muss eine Assistant-Nachricht folgen, oder sie muss die letzte Nachricht sein. Aufeinanderfolgende Systemnachrichten werden als eine Gruppe ausgewertet. Fügen Sie keine zwischen einem Client-Tool-Aufruf und seinem erforderlichen Ergebnis ein.
Eine Systemnachricht ohne Inhalt darf mit mid-conversation-output-config-2026-07-01 nur output_config.effort ändern. Sie darf an jeder Stelle stehen. Bei deaktiviertem Denken kann sie den wirksamen Aufwand nicht ändern. System-clear_at akzeptiert mit mid-conversation-system-clear-at-2026-08-21 die Werte never, next_user_message oder null; auf eine Gesprächsrunde begrenzte Nachrichten erlauben nur Text, ohne Ausgabekonfiguration oder Block-Caching.
Kontextbearbeitungen umfassen:
| Bearbeitung | Beta | Wichtigste Einschränkungen |
|---|---|---|
clear_tool_uses_20250919 | context-management-2025-06-27 | Auslösezahl mindestens 1; Anzahl beibehaltener Elemente mindestens 0. |
clear_thinking_20251015 | context-management-2025-06-27 | Alle oder mindestens eine Denkrunde behalten. Bei kombinierten Bearbeitungen vor der Löschung von Tool-Aufrufen platzieren. |
compact_20260112 | compact-2026-01-12 | Auslösung durch Eingabe-Token mindestens 50000; Standard 150000. |
Bedarfsgesteuertes compaction benötigt compact-2026-09-04. Es lässt sich nicht mit context_management, stop_sequences, einem Ausgabeformat, erzwungenen Tools oder task_budget.remaining kombinieren. Ein signierter Komprimierungsblock lässt sich ebenfalls nicht mit task_budget.remaining oder schwellenbasierter Komprimierung kombinieren. Bewahren Sie bei der Fortsetzung den zurückgegebenen Block und seine Signatur auf.
Bilder, PDFs und Anfragegröße
Bilder akzeptieren JPEG, PNG, GIF und WebP per URL, base64 oder Dateireferenz. PDFs akzeptieren URL, base64 oder Dateireferenz. Dateireferenzen benötigen die passende Files-API-Beta und gültigen Dateizugriff. Textdokumente können Text- oder Inhaltsquellen verwenden.
Die native Anfragegrenze beträgt 32 MB. Offizielle Bildgrenzen sind bis zu 600 Bilder, 10 MB base64-kodierte Daten pro Bild und 8000 Pixel an jeder Kante; für Anfragen mit vielen Bildern können strengere plattformspezifische Grenzen gelten. PDFs müssen unverschlüsselt sein und dürfen bei der Kontextgröße dieses Modells höchstens 600 Seiten haben. Die API bleibt für die Prüfung entfernter Dateien zuständig; lokale Strukturprüfungen können den Inhalt einer URL nicht bestätigen.
Der Playground lädt Anhänge hoch, bevor er URLs übermittelt. Unterhaltungen als JSON unterstützen ebenfalls native Medieninhaltsblöcke. Prüfungen der vollständigen Mediengrößen- und Kontextfenstergrenzen sind von einer kleinen Beispielanfrage zu unterscheiden.
Prompt-Caching und Abrechnung
Haikus minimale cachefähige Prompt-Länge beträgt 512 Token. Kürzere markierte Prompts können ohne Cache-Eintrag ausgeführt werden. Nutzen Sie höchstens vier Cache-Trennpunkte; automatische Cache-Steuerung auf oberster Ebene belegt einen davon. Platzieren Sie länger gültige Cache-Präfixe vor kürzer gültigen.
max_tokens: 0 fordert Cache-Vorwärmen ohne Antwortgenerierung an. Es ist nicht mit stream: true, strukturierter Ausgabe oder erzwungener Tool-Nutzung kombinierbar. Halten Sie Denk- und Aufwandseinstellungen zwischen der Cache-Vorbereitung und den wiederverwendenden Anfragen konsistent.
Lesen Sie usage.input_tokens, output_tokens, cache_creation_input_tokens, cache_read_input_tokens sowie die 5m/1h-Aufteilung unter cache_creation. Denken ist in den Ausgabe-Token enthalten; eine gemeldete Denktoken-Aufteilung ist kein zusätzlich anzurechnender Betrag. Aktuelle Tarife stehen im Preisbereich, weitere Erläuterungen im Preisleitfaden.
Antworten, Streaming und Fehler
Eine abgeschlossene Antwort enthält id, type: "message", role: "assistant", model, content, stop_reason, stop_sequence und usage. Die optionalen Felder container, diagnostics, context_management, stop_details und input_transformations bleiben bei Rückgabe erhalten.
Verarbeiten Sie end_turn, max_tokens, stop_sequence, tool_use, pause_turn, compaction, refusal und model_context_window_exceeded. Ein Stopp wegen eines Limits oder eine Verweigerung ist nicht dasselbe wie ein HTTP-Fehler. Gehen Sie nie davon aus, dass der erste Inhaltsblock sicher Text enthält.
Streaming verwendet die Messages-SSE-Ereignisse message_start, content_block_start, content_block_delta, content_block_stop, message_delta und message_stop. Verarbeiten Sie auch ping- und error-Ereignisse. Bewahren Sie Denksignaturen und Tool-Blöcke auf, die spätere Gesprächsrunden benötigen.
Fehler verwenden das Anthropic-Format:
{"type":"error","error":{"type":"invalid_request_error","message":"max_tokens must be an integer from 0 to 128000."}}Anfragen mit Fehlerrückgabe werden nicht berechnet. Gemeinsame Fehlertypen finden Sie unter Fehlerbehandlung.
OpenAI-kompatible Formate
Dieselbe ID ist mit /v1/chat/completions und /v1/responses verfügbar. Verwenden Sie deren native Felder: Chat nutzt messages; Responses nutzt input. Native Claude-Optionen gehören zu Messages und sollten nicht vollständig in einen Anfrageinhalt im OpenAI-Format kopiert werden.
curl https://api.seedrouter.ai/v1/chat/completions \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-haiku-5-5","max_tokens":256,"messages":[{"role":"user","content":"Reply with OK."}]}'curl https://api.seedrouter.ai/v1/responses \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-haiku-5-5","max_output_tokens":256,"input":"Reply with OK."}'Kompatibilitätsergebnisse
Geprüft am 9. Oktober 2026 in der Entwicklungsumgebung. Diese Prüfungen belegen das beobachtete Verhalten konkreter Anfragen, nicht jede offizielle Grenze oder eine Bereitstellung in Produktion.
| Funktion | Beobachtetes Ergebnis |
|---|---|
| Native Messages und SSE | Textantwort und vollständige Ereignisfolge geprüft. |
| Klassifizierung | Billing zurückgegeben; 41 Eingabe- und 5 Ausgabe-Token. |
| Strukturiertes JSON und Client-Tools | JSON-Werte, Auswahl mit auto/none/benanntem Tool/any, Argumente strikter Tools und Fortsetzung mit Tool-Ergebnissen geprüft. |
| Bilder und PDFs | Erwartete Bildfarbe und PDF-Markierung aus base64-Testdaten zurückgegeben. Vollständige Mediengrenzen wurden nicht getestet. |
| Cache-Vorwärmen | max_tokens: 0 gab keinen generierten Text und null Ausgabe-Token zurück. |
| Caching für fünf Minuten und eine Stunde | Erstellung und anschließende Cache-Treffer-Nutzung für beide TTLs geprüft. |
| Stoppsequenzen | Angeforderter Stoppgrund zurückgegeben und vor dem ausgeschlossenen Suffix gestoppt. |
| Denken und Aufwand | Alle fünf Aufwandswerte wurden akzeptiert. Einige Anfragen mit explizit deaktiviertem Denken lieferten trotzdem Denkblöcke. Annahme allein bestätigt das Aufwandsverhalten nicht. |
| Systemanweisungen und Aufwand pro Nachricht | Ergebnisse waren inkonsistent; ein Test mit größerem Budget und nachrichtenbezogenem Aufwand lieferte weiterhin sachfremden Text. Testen Sie vor dem Rollout Ihr konkretes Gespräch. |
| Bedarfsgesteuerte Komprimierung | Signierten Komprimierungsblock und stop_reason: compaction zurückgegeben. Vollständige Wiederübermittlung und Abrechnungsprüfung stehen noch aus. |
| Metadaten und Inferenzregion | metadata.user_id führte zu einem Berechtigungsfehler; eine explizite Region führte zu einer Einschränkung des Kontotyps. |
| MCP | Die aktuelle MCP-Beta führte zu einer Zugangsdatenbeschränkung. Eine vollständige MCP-Sitzung wurde nicht geprüft. |
| OpenAI Chat und Responses | Einfache Anfragen und explizite Reasoning-Anfragen mit max/none lieferten die erwartete Antwort. Reasoning-Semantik wurde nicht unabhängig bestätigt. |
| Weitere Beta-Felder | Task-Budget, Bindungssteuerung und Fallback default wurden akzeptiert; die vollständige Funktionssemantik wurde nicht bestätigt. |
Die Abrechnung einstündiger Cache-Schreibvorgänge und der Komprimierung hat die Freigabeprüfung noch nicht bestanden. Läufe mit maximalem Kontext/Ausgabebudget, gehostete Tools mit separaten Gebühren, Files-API-Zugriff und das Einlösen von Fallback-Guthaben wurden nicht getestet. Behalten Sie die offiziellen Anfrageformate bei; leiten Sie Unterstützung nicht allein aus einem erfolgreichen Status ab.
