Einführung
Kimi K3 ist das Langkontext-Agentenmodell von Moonshot AI und steht hier als ein OpenAI-kompatibler Endpunkt unter /v1/chat/completions bereit. Es liest bis zu 1.000.000 Token in höchstens 256 Nachrichten und kann bis zu 1.048.576 Token in einer Antwort zurückgeben.
Die Anfrage besteht aus sieben Feldern: messages, max_tokens, tools, tool_choice, response_format, reasoning_effort und stop. Die Denkstufe kennt low, high und max und beginnt bei max; temperature und top_p legt Moonshot fest, hier werden sie abgelehnt. Nachrichten können Text- und image_url-Teile enthalten, und Antworten kommen per Server-Sent Events als Stream.
Wichtige Funktionen und Highlights
reasoning_effort ist der einzige Regler
Da Moonshot das Sampling festlegt, steuern Sie, wie viel das Modell nachdenkt: low für kurze mechanische Züge, high für normales Review, max für Migrationen und Beweise. Ein aus einem anderen Modell kopierter Sampling-Wert scheitert sofort, statt still ignoriert zu werden – eine Anfrage bedeutet so in jeder Umgebung dasselbe.
Ein Paket lesen, eine Datei zurückgeben
Eine Million Token hinein und bis zu 1.048.576 zurück: Die Codebasis geht vollständig hinein, eine neu geschriebene Datei kann vollständig zurückkommen. Jeder Durchgang sieht weiterhin den Rest des Repositorys – genau den Kontext, den zerstückelte Pipelines meist verlieren.
Text und Bilder in derselben Nachricht
Eine User-Nachricht kann Text- und image_url-Teile mit der Detailstufe auto, low oder high mischen, und jeder Teil wird als Eingabe-Token gemessen. Ein Screenshot einer fehlerhaften Ansicht und der Quelltext, der sie rendert, gehen gemeinsam an das Modell; einen Videoteil gibt es nicht.
Request-Parameter
| Parameter | Pflicht | Beschreibung |
|---|---|---|
messages | Ja | Höchstens 256 geordnete Züge. Der Inhalt ist eine Zeichenkette oder ein Array aus Teilen: text und |
max_tokens | Nein | Deckelt die Antwort bei 1.048.576. Auch die Vorgabe von 32.768 kann eine komplett neu geschriebene Datei unbemerkt abschneiden – richten Sie den Wert am Ergebnis aus. |
reasoning_effort | Nein | low, high oder max, Vorgabe max – die Stufen und die Vorgabe, die Moonshot für K3 dokumentiert; eine Anfrage ohne dieses Feld bekommt also schon die sorgfältigste Einstellung. |
stop | Nein | Bis zu 4 Sequenzen mit je höchstens 32 Byte, als String oder Array. Die Antwort endet, sobald das Modell eine davon schreibt; der getroffene Text selbst wird nicht zurückgegeben. mindestens 1 Zeichen · mindestens 1 Einträge · höchstens 4 Einträge |
tools | Nein | Bis zu 128 Funktionsdefinitionen, in der ersten Anfrage einer Schleife deklariert. höchstens 128 Einträge |
tool_choice | Nein | auto lässt das Modell einen Aufruf auslassen; required erzwingt einen; none verbietet alle. |
response_format | Nein | Verlangen Sie ein JSON-Objekt, wenn die Ausgabe strukturierte Daten sind und kein Fließtext. |
Preis
Eingabe $2.70 / Ausgabe $13.50 je 1 Mio. Token
Anwendungsfälle
Repositoryweite Umbauten, Datei für Datei
Schicken Sie jede Datei eines Pakets und verlangen Sie jeweils eine migrierte Datei statt einer Beschreibung des Diffs. Die hohe Antwortgrenze bringt auch eine große Datei vollständig zurück, nichts geht an einer Fortsetzungsgrenze mitten in einer Funktion verloren.
Agentenschleifen mit fester Oberfläche
Deklarieren Sie bis zu 128 Tools, lassen Sie tool_choice auf auto und starten Sie die Schleife. Legen Sie reasoning_effort für die ganze Schleife fest, dann ändert sich zwischen den Iterationen nur das Gespräch – ein Agenten-Trace bleibt lesbar, wenn etwas schiefgeht.
Ganze Bücher übersetzen und umbauen
Laden Sie ein komplettes Manuskript samt Glossar und verlangen Sie pro Aufruf ein übersetztes oder umgebautes Kapitel, während das Modell den Rest des Buchs weiter sieht. Begriffe und Namen bleiben einheitlich, weil die früheren Kapitel in derselben Anfrage stehen.
Prompt-Leitfaden und Praxistipps
Die Denkstufe bewusst wählen
Ein weggelassenes reasoning_effort bedeutet bereits max – die sorgfältigste Stufe mit den meisten Ausgabe-Token. Entscheiden Sie je Aufgabe: max für eine Migration oder einen Beweis, high für Reviews, low für kurze mechanische Züge.
Das Artefakt verlangen, nicht seine Beschreibung
POST https://api.spicyapi.ai/v1/chat/completions mit {"model": "moonshot/kimi-k3", "messages": [{"role": "system", "content": "Return the migrated files in full. No commentary, no diffs, no omitted regions."}, {"role": "user", "content": "<every file in the package>"}], "max_tokens": 120000}. Bemessen Sie max_tokens nach der erwarteten Datei: Der Standard von 32.768 kann einen Umbau einer ganzen Datei ohne Fehlermeldung abschneiden.
Streaming und Grenzen
Ein nicht gestreamter Aufruf auf max mit vollem Fenster kann lange dauern – streamen Sie ihn oder bemessen Sie das Client-Timeout. Das Fenster fasst 1.000.000 Token, max_tokens über 1.048.576 ist ungültig, und temperature oder top_p im Body scheitern an der Validierung.
API-Schnellstart
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "moonshot/kimi-k3/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
Authentifizierung, vollständiges Schema, Polling und Fehlerbehandlung stehen in der API-Referenz.





