/v1/chat/completions für OpenAI-kompatible Textgenerierung.
Streaming
Setzestream: true, um Server-Sent Events zu empfangen. Jedes Event ist ein OpenAI
chat.completion.chunk, und der Stream endet mit data: [DONE].
Parameter
OpenAI-Standardparameter werden akzeptiert, daruntertemperature, top_p,
max_tokens, stop, n, frequency_penalty, presence_penalty, seed,
response_format, tools, tool_choice, logprobs, top_logprobs,
logit_bias, user und stream.
Reasoning-Stärke
Setzereasoning_effort auf oberster Ebene, wenn das Modell konfigurierbares Reasoning unterstützt. Auch reasoning.effort im Responses-Format wird akzeptiert. Werden beide angegeben, müssen sie übereinstimmen; andernfalls wird 400 zurückgegeben.
GET /v1/models unter capability_metadata.reasoning; so lässt sich ein Modell konfigurieren, ohne eine Tabelle fest zu verdrahten.
Ausgabelimits wie max_completion_tokens, max_output_tokens und native Entsprechungen zählen Reasoning- und Antwort-Tokens gemeinsam. Effort ist kein Ausgabetokenlimit. Das Budget kann weiterhin erschöpft werden (finish_reason: "length" in Chat Completions), sodass die endgültige Antwort unvollständig oder leer bleibt.
Kimi K3-Kompatibilität
kimi-k3 verwendet denselben OpenAI-kompatiblen Endpoint, folgt aber einem
modellspezifischen Vertrag:
- K3 denkt immer und kann nicht deaktiviert werden. Akzeptiert werden
low,highundmax; der Standard istmax, und ein niedrigerer Effort erkauft geringere Latenz mit weniger Reasoning-Tiefe. Dasthinking-Objekt aus K2.x wird nur als aktivierter Kompatibilitätsalias akzeptiert. - Bevorzuge
max_completion_tokens. APIAny akzeptiert das veraltetemax_tokensund verwendet für Kimi K3max_completion_tokens. Ohne Angabe eines Limits gilt der Modellstandard. Das explizite Maximum beträgt 1.048.576 Tokens. - Die Sampling-Einstellungen von K3 sind fest. APIAny entfernt
temperature,top_p,frequency_penaltyundpresence_penaltynur für K3;nmuss1sein. reasoning_contentist der Reasoning-Verlauf undcontentdie endgültige Antwort. Streaming liefert beide als getrennte Deltas. Führe den Reasoning-Verlauf nicht mit der endgültigen Antwort zusammen.- Sende die vollständige Assistant-Nachricht einschließlich
reasoning_contentundtool_callsbei mehrstufigen Anfragen und Tool-Aufrufen unverändert zurück. - Die letzte Assistant-Nachricht darf
partial: trueverwenden. Eine Systemnachricht ohne Inhalt kanntoolstragen, um K3-Werkzeuge dynamisch zu laden. - Bild- und Video-Inhaltsblöcke für K3 müssen eine Base64-
data:-URL oder einems://-Datei-ID verwenden. Öffentliche HTTP-Medien-URLs werden abgelehnt, bevor die Modellanfrage gesendet wird.
finish_reason length ist, wurde das Ausgabebudget erschöpft. Die Antwort
bleibt OpenAI-kompatibel, aber die endgültige Antwort kann fehlen oder unvollständig
sein; erhöhe max_completion_tokens oder kürze die Eingabe, bevor du es erneut
versuchst.
Hinweise
- Das
modelist eine öffentliche APIAny.AI-Modell-ID. - Der Token-Verbrauch wird in das OpenAI-typische
usage-Objekt normalisiert, sofern Verbrauchsdaten verfügbar sind.
GPT-6-Ausgabe und Stream-Abschluss
Beigpt-6-astra werden erkennbare führende Denkblöcke von der endgültigen Antwort getrennt. Die Antwort steht in content / output_text, der Denktext in separaten Reasoning-Feldern oder Summary-Ereignissen. Explizite Tag-Beispiele und mehrdeutige Markierungen bleiben erhalten. Reasoning-Effort und Token-Limits ändern sich dadurch nicht.
HTTP 200 bei einem Stream garantiert keinen Erfolg. Behandeln Sie Fehlerereignisse und kennzeichnen Sie Teilantworten als unvollständig. Lesen Sie bei Chat den letzten usage-Block vor [DONE]; unterscheiden Sie bei Responses zwischen response.completed, response.incomplete und response.failed / error.
Bei GPT-6 Chat beendet [DONE] den Stream, hebt aber frühere Fehler nicht auf und garantiert keine vollständige Antwort. Prüfen Sie auch finish_reason: length bedeutet, dass das Ausgabelimit erreicht wurde, und content_filter weist auf gefilterte Inhalte hin. Beide Werte bleiben erhalten und werden nicht zu stop. Wird die Verbindung vor dem Abschluss geschlossen oder ein Fehlerereignis empfangen, gilt der Teiltext nicht als vollständige Antwort.