Claude Opus 5.5 ist auf SeedRouter verfügbar

Text

Kimi K3.1 Pro

View Markdown

Native Chat Completions, Responses und Messages für Kimi K3.1 Pro. Offizielle Parameter, Reasoning-Verlauf, strukturierte Ausgabe, Medien und Cache-Abrechnung.

Verwenden Sie die öffentliche Modell-ID kimi-k3.1-pro. Auf der Modellseite finden Sie den Playground und aktuelle Preise. Laden Sie die OpenAPI-Spezifikation für vollständige verschachtelte Anfrage- und Antwortschemas herunter.

Schnellstart

curl https://api.seedrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model":"kimi-k3.1-pro",
    "messages":[{"role":"user","content":"How can an idempotency key prevent a duplicate payment?"}],
    "max_completion_tokens":2048,
    "reasoning_effort":"low"
  }'

Native Formate

FormatEndpunktPflichtfelder
Chat CompletionsPOST /v1/chat/completionsmodel, messages
ResponsesPOST /v1/responsesmodel, input
MessagesPOST /v1/messagesmodel, messages, max_tokens

Verwenden Sie Authorization: Bearer $SEEDROUTER_API_KEY. Messages verwendet zusätzlich anthropic-version: 2023-06-01. Jedes Format liefert natives JSON oder SSE-Ereignisse. Responses ist zustandslos: Senden Sie den vollständigen Verlauf erneut; previous_response_id ist kein unterstütztes Anfragefeld.

Anfrageparameter

Leere Playground-Felder werden weggelassen. Explizites false und der Zahlenwert 0 bleiben erhalten, soweit zulässig. Weglassen bedeutet nicht, dass null zulässig ist. Unbekannte Erweiterungen auf oberster Ebene werden verworfen; ungültige offizielle Felder werden abgelehnt. Verschachtelte Tool-Schemas und der zurückgegebene Verlauf bleiben erhalten.

Chat Completions

FeldTypErforderlichStandard / Bereich
logprobsbooleanNeinStandard false
top_logprobsintegerNein0–20; erfordert logprobs=true
predictionobjectNeinWeggelassen, sofern nicht angegeben
max_tokensintegerNein1–1048576
max_completion_tokensintegerNein1–1048576; Standard 131072
response_formatobjectNeinWeggelassen, sofern nicht angegeben
stopunionNein≤5 Zeichenketten; jeweils ≤32 UTF-8-Bytes
streambooleanNeinStandard false
stream_optionsobjectNeinWeggelassen, sofern nicht angegeben
toolsarrayNeinWeggelassen, sofern nicht angegeben
prompt_cache_keystringNeinWeggelassen, sofern nicht angegeben
prompt_cache_optionsobjectNeinWeggelassen, sofern nicht angegeben
safety_identifierstringNeinWeggelassen, sofern nicht angegeben
tool_choiceunionNeinWeggelassen, sofern nicht angegeben
messagesarrayJaWeggelassen, sofern nicht angegeben
reasoning_effortstringNeinlow, high, max; Standard "max"
modelstringJakimi-k3.1-pro; Standard "kimi-k3.1-pro"
temperaturenumberNein1
top_pnumberNein0.95
nintegerNein1
frequency_penaltynumberNein0
presence_penaltynumberNein0

Responses

FeldTypErforderlichStandard / Bereich
modelstringJakimi-k3.1-pro; Standard "kimi-k3.1-pro"
inputunionJaWeggelassen, sofern nicht angegeben
instructionsstringNeinWeggelassen, sofern nicht angegeben
streambooleanNeinStandard false
max_output_tokensintegerNein1–1048576; Standard 131072
reasoningobjectNeinWeggelassen, sofern nicht angegeben
textobjectNeinWeggelassen, sofern nicht angegeben
toolsarrayNeinWeggelassen, sofern nicht angegeben
tool_choiceobjectNeinWeggelassen, sofern nicht angegeben
includearrayNeinWeggelassen, sofern nicht angegeben
prompt_cache_keystringNeinWeggelassen, sofern nicht angegeben
prompt_cache_optionsobjectNeinWeggelassen, sofern nicht angegeben
safety_identifierstringNeinWeggelassen, sofern nicht angegeben

Messages

FeldTypErforderlichStandard / Bereich
modelstringJakimi-k3.1-pro; Standard "kimi-k3.1-pro"
messagesarrayJaWeggelassen, sofern nicht angegeben
max_tokensintegerJa1–1048576
systemunionNeinWeggelassen, sofern nicht angegeben
streambooleanNeinStandard false
stop_sequencesarrayNein≤5 Zeichenketten; jeweils ≤32 UTF-8-Bytes
toolsarrayNeinWeggelassen, sofern nicht angegeben
tool_choiceobjectNeinWeggelassen, sofern nicht angegeben
metadataobjectNeinWeggelassen, sofern nicht angegeben
cache_controlobjectNeinWeggelassen, sofern nicht angegeben
output_configobjectNeinWeggelassen, sofern nicht angegeben

Chat hat 22 Felder auf oberster Ebene: model, fünf feste Sampling-Felder und 16 variable Eingaben. Responses hat model plus 12 Eingaben; Messages hat model plus 10 Eingaben. Der Playground blendet das feste Modell und die festen Sampling-Optionen aus.

Reasoning und Ausgabelimits

Denken ist immer aktiviert. Chat reasoning_effort, Responses reasoning.effort und Messages output_config.effort akzeptieren low, high oder max; Standard ist max. Alle Ausgabelimits schließen Reasoning ein. Für Chat und Responses gelten standardmäßig 131.072 Ausgabe-Token und höchstens 1.048.576. Messages erfordert ein positives max_tokens. Chat akzeptiert das veraltete max_tokens; verwenden Sie für neue Integrationen bevorzugt max_completion_tokens.

Das Kontextfenster umfasst 1.048.576 Token. Die Eingabe selbst muss hineinpassen. Überschreiten Eingabe und Generierungsbudget zusammen das Fenster, kann der Dienst das Budget auf den verbleibenden Platz reduzieren. Ein kleines Ausgabelimit kann erreicht sein, bevor eine sichtbare Antwort erscheint.

Die Chat-Sampling-Werte sind fest: temperature:1, top_p:0.95, n:1, frequency_penalty:0, presence_penalty:0. Andere Werte sind ungültig. Stoppsequenzen müssen dem Text exakt entsprechen und werden aus der Antwort ausgeschlossen. Ihr Limit von 32 Bytes zählt UTF-8-Bytes, keine Zeichen.

Strukturierte Ausgabe und Vorhersagen

Chat akzeptiert für response_format.type die Werte text, json_object oder json_schema. Der JSON-Modus benötigt außerdem einen Prompt, der JSON verlangt. JSON Schema erfordert json_schema.name und json_schema.schema; strict ist standardmäßig true.

Responses verwendet text.format mit type:json_schema, schema sowie optional name und strict. Messages verwendet output_config.format mit type:json_schema und schema. Beachten Sie Moonshot Flavored JSON Schema; gehen Sie nicht davon aus, dass jede allgemeine JSON-Schema-Erweiterung durchgesetzt wird. Validieren Sie die abgeschlossene Ausgabe in Ihrer Anwendung.

Die vorhergesagte Chat-Ausgabe verwendet prediction:{type:"content",content:...}. Der Inhalt ist eine Zeichenkette oder besteht aus reinen Textteilen. Nutzen Sie dies für weitgehend bekannte Ausgaben, etwa eine Datei mit einer kleinen Änderung.

Tools und Erhalt des Gesprächsverlaufs

Chat-Tools verwenden type:function mit function.name und function.parameters. Optionale Felder sind unter anderem description und strict (Standard true). Namen entsprechen ^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$. Die Tool-Auswahl unterstützt auto, none und required; required erfordert mindestens ein verfügbares Tool. Das Erzwingen einer benannten Funktion steht im Konflikt mit dem stets aktivierten Denken.

Eine dynamische Chat-Tool-Nachricht ist {role:"system",tools:[...]} ohne Inhalt. Bewahren Sie diese Nachrichten im Gespräch auf. Fügen Sie die vollständige Assistentenantwort einschließlich reasoning_content und tool_calls hinzu und geben Sie anschließend jedes Tool-Ergebnis als role:tool-Nachricht mit passender tool_call_id zurück. Assistentenantworten mit Tool-Aufrufen dürfen null als Inhalt haben. Andere Nachrichtenrollen benötigen weiterhin Inhalt.

Responses unterstützt native Tool-Definitionen für function, namespace, benutzerdefinierte apply_patch-Tools und web_search mit tool_choice:"auto". Geben Sie function_call_output- oder custom_tool_call_output-Elemente mit passenden Aufruf-IDs zurück. Die include-Werte web_search_call.results und web_search_call.action.sources betreffen nur die Websuchausgabe.

Messages unterstützt native Tool-Definitionen und Tool-Auswahlobjekte vom Typ auto, any oder none. Bewahren Sie die Denkblöcke des Assistenten und ihre Signaturen auf. Geben Sie Tool-Ergebnisblöcke innerhalb von Nutzernachrichten zurück. Ihre Anwendung validiert Argumente, führt benutzerdefinierte Funktionen aus und kontrolliert externe Aktionen.

Chat Partial Mode setzt partial:true nur bei der letzten Assistentennachricht. Messages setzt eine letzte Assistentennachricht direkt fort. Rekonstruieren Sie den Verlauf nicht allein aus sichtbarem Antworttext.

Medienvorgaben

Chat akzeptiert Text-, image_url- und video_url-Inhaltsblöcke. Verwenden Sie Base64-Daten-URLs oder akzeptierte ms://-Verweise; beliebige öffentliche Medien-URLs werden nicht unterstützt. Bildformate: JPEG, PNG, GIF, WebP, BMP, HEIC und HEIF. Videoformate: MP4, MPEG, MOV, AVI, FLV, MPG, WebM, WMV und 3GPP. Der offizielle Leitfaden nennt ein Gesamtlimit von 100M für den Anfrage-Body ohne gesonderte Begrenzung der Bildanzahl. 4K-Bilder und Full-HD-Video sind Empfehlungen, keine verbindlichen Limits.

Responses verwendet input_image.image_url mit einer Daten-URL. Messages verwendet eine Bildquelle wie {type:"base64",media_type:"image/png",data:"..."} oder den Typ url mit einem akzeptierten ms://-Verweis. Inline-Bildtypen für Messages sind JPEG, PNG, GIF und WebP. Diese Formate übernehmen nicht automatisch den Videoblock von Chat; verwenden Sie ihre eigenen Schemas.

Der Playground fügt Bilder inline an. Verwenden Sie für Videoblöcke und Dateiverweise die nativen Gesprächsfelder oder den JSON-Editor. Datei-Upload und -Verwaltung sind nicht Teil dieser Generierungsendpunkte. Eine mit einem anderen Konto erstellte Datei-ID ist nicht zwingend nutzbar.

Caching und Verbrauch

Chat und Responses verwenden prompt_cache_key und prompt_cache_options:{mode:"implicit",ttl:"5m"}. TTL akzeptiert 5m oder 1h, Standard sind 5 Minuten. Messages verwendet cache_control:{type:"ephemeral",ttl:"5m"} auf oberster Ebene und optional metadata.user_id. Verschachtelte Cache-Control-Marker in Messages werden ignoriert. prompt_cache_breakpoint auf Inhaltsebene ist ungültig.

Ein bestehendes Cache-Präfix behält beim Auffrischen seine ursprüngliche TTL. Das Anfordern einer anderen Lebensdauer beweist nicht, dass sie angewendet wurde. Die offiziellen Cache-Schreib-Header von Chat melden die tatsächlichen Mengen für 5 Minuten und 1 Stunde. Responses kann die angewendeten prompt_cache_options zurückgeben; Messages meldet beide TTL-Zähler in usage.cache_creation.

FormatGesamteingabeCache-LesenCache-Schreiben
Chatusage.prompt_tokensprompt_tokens_details.cached_tokensprompt_tokens_details.cache_write_tokens
Responsesusage.input_tokensinput_tokens_details.cached_tokensinput_tokens_details.cache_write_tokens
Messagesinput_tokens + cache_read_input_tokens + cache_creation_input_tokenscache_read_input_tokenscache_creation_input_tokens

Die Gesamteingaben von Chat und Responses enthalten bereits Cache-Lese- und Cache-Schreibvorgänge. Diese Kategorien und der ungecachte Rest überschneiden sich nicht; zählen Sie Cache-Token nicht doppelt. Die Ausgabe umfasst Reasoning. Messages unterteilt Schreibvorgänge in ephemeral_5m_input_tokens und ephemeral_1h_input_tokens. Siehe aktuelle Tarife; öffentliche Generierungsantworten enthalten keine Geldbeträge.

Streaming und Abschluss

Setzen Sie stream:true. Chat sendet Daten-Chunks und [DONE]; stream_options.include_usage:true fordert den letzten Verbrauchs-Chunk an. Responses verwendet benannte Ereignisse wie response.output_text.delta, response.completed und response.incomplete. Messages verwendet message_start, Inhaltsblock-Ereignisse, message_delta und message_stop.

Eine geschlossene Verbindung allein belegt keinen vollständigen Abschluss. Prüfen Sie die nativen Abschlussgründe und den Endstatus. Bei einem unterbrochenen Stream kann der abschließende Verbrauch fehlen. Das Stoppen des Lesens garantiert keinen Abbruch der Generierung.

Offizielle Quellen

Geprüft am 25. Oktober 2026: Kimi K3.1 Pro Leitfaden, Chat, Responses, Messages, Bildverarbeitung und Caching.