Chat-Completions
OpenAI-kompatible Chat-Completions mit Streaming, Bildern, Tool-Aufrufen und der Steuerung von Denkprozessen.
POST /v1/chat/completions
curl https://api.unquant.io/v1/chat/completions \
-H "Authorization: Bearer $UNQUANT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"glm-5.3-flash",
"messages":[{"role":"user","content":"Hello!"}]}'Anfragefelder
modelZeichenfolgeErforderlichglm-5.3-flash oder qwen-3.8-flash-next.
messagesArrayErforderlichRollen: system, user, assistant und tool. Der Inhalt ist eine Zeichenfolge oder ein Array aus text- und image_url-Elementen.
streamBoolescher WertÜberträgt die Antwort als vom Server gesendete Ereignisse.
stream_optionsObjekt{"include_usage": true} fügt einen abschließenden Datenblock mit Token-Zählerständen hinzu.
max_tokensGanzzahlObergrenze für die Antwortlänge.
max_completion_tokensGanzzahlEntspricht max_tokens.
temperatureZahlGrad der Zufälligkeit beim Sampling.
top_pZahlNukleus-Sampling.
top_kGanzzahlWählt aus den k wahrscheinlichsten Token aus.
min_pZahlMinimale relative Wahrscheinlichkeit für ein Token.
seedGanzzahlStartwert für reproduzierbares Sampling.
stopZeichenfolge oder ArrayStoppsequenzen.
frequency_penaltyZahlWertet Token abhängig davon ab, wie häufig sie bereits vorkamen.
presence_penaltyZahlWertet Token ab, die bereits mindestens einmal vorkamen.
repetition_penaltyZahlMultiplikative Abwertung für Wiederholungen.
toolsArrayFunktionen, die das Modell aufrufen darf, im OpenAI-Format.
tool_choiceZeichenfolge oder Objektauto, none, required oder eine namentlich angegebene Funktion.
parallel_tool_callsBoolescher WertErlaubt mehrere Tool-Aufrufe innerhalb eines Gesprächsschritts.
response_formatObjektJSON-Ausgabe.
logprobsBoolescher WertGibt logarithmierte Token-Wahrscheinlichkeiten zurück.
top_logprobsGanzzahlAnzahl der Alternativen, die pro Token zurückgegeben werden.
nGanzzahlMuss 1 sein: eine Completion pro Anfrage.
reasoning_effortZeichenfolgeBeide Modelle: none, low oder high; GLM-5.3-Flash unterstützt auch max.
chat_template_kwargsObjektSchalter für die Vorlage, etwa {"enable_thinking": false}.
Andere Felder werden ignoriert.
Antwort
response.choices[0].message.contentDie Nutzungszahlen werden für Ihre eigene Überwachung zurückgegeben; sie werden niemals abgerechnet.
Streaming
Mit "stream": true wird die Antwort als Folge vom Server gesendeter Ereignisse im OpenAI-Datenblockformat übertragen und mit data: [DONE] abgeschlossen. Lesen Sie den Text aus choices[0].delta.content aus.
Bilder
Beide Modelle akzeptieren Bilder als image_url-Elemente mit einer Base64-Daten-URL (data:image/png;base64,..., JPEG oder WebP). Bildverweise per URL werden nicht abgerufen und führen zu einem Fehler mit Statuscode 400.
{"role": "user", "content": [
{"type": "text", "text": "Describe this image."},
{"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,/9j/4AAQ..."}}
]}Tool-Aufrufe
Übergeben Sie tools wie in der OpenAI API. Wenn das Modell ein Tool aufruft, enthält die Antwort finish_reason: "tool_calls" und message.tool_calls. Führen Sie das Tool aus, hängen Sie eine tool-Nachricht mit dem Ergebnis und der passenden tool_call_id an und senden Sie erneut eine Anfrage.
Denkprozesse
Beide Modelle denken vor dem Antworten nach und unterstützen reasoning_effort: none für direkte Antworten, low für kurze Denkprozesse oder high für schwierigere Probleme. GLM-5.3-Flash unterstützt zusätzlich max und verwendet standardmäßig high. Der Denkprozess wird separat in reasoning_content zurückgegeben und niemals mit content vermischt. Auch "thinking": {"type": "disabled"} und "chat_template_kwargs": {"enable_thinking": false} deaktivieren den Denkprozess.
Gleichzeitige Anfragen
Ihr Plan legt fest, wie viele Anfragen über alle Ihre Schlüssel hinweg gleichzeitig laufen können. Eine Anfrage, die dieses Limit überschreitet, erhält sofort den Statuscode 429 und wird nicht in eine Warteschlange aufgenommen. Laufende Anfragen bleiben davon unberührt.