Chatantwoorden
OpenAI-compatibele chatantwoorden, met ondersteuning voor streamen, afbeeldingen, toolaanroepen en instelbaar redeneren.
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!"}]}'Aanvraagvelden
modeltekenreeksVerplichtglm-5.3-flash of qwen-3.8-flash-next.
messagesarrayVerplichtRollen: system, user, assistant en tool. De inhoud is een tekenreeks of een array met onderdelen van het type text en image_url.
streambooleaanse waardeStream het antwoord als gebeurtenissen die door de server worden verstuurd.
stream_optionsobject{"include_usage": true} voegt een laatste gegevensblok met tokenaantallen toe.
max_tokensgeheel getalBovengrens voor de lengte van het antwoord.
max_completion_tokensgeheel getalHetzelfde als max_tokens.
temperaturegetalMate van willekeur bij het selecteren van tokens.
top_pgetalSelectie uit de kleinste groep tokens waarvan de gezamenlijke waarschijnlijkheid de ingestelde drempel bereikt.
top_kgeheel getalSelecteer uit de k meest waarschijnlijke tokens.
min_pgetalMinimale relatieve waarschijnlijkheid van een token.
seedgeheel getalStartwaarde voor herhaalbare tokenselectie.
stoptekenreeks of arrayTekenreeksen waarbij het genereren stopt.
frequency_penaltygetalVerlaag de kans op tokens op basis van hoe vaak ze al zijn voorgekomen.
presence_penaltygetalVerlaag de kans op tokens die al eerder zijn voorgekomen.
repetition_penaltygetalVermenigvuldigingsfactor om herhaling te ontmoedigen.
toolsarrayFuncties die het model mag aanroepen, in het OpenAI-formaat.
tool_choicetekenreeks of objectauto, none, required of een functie die je bij naam opgeeft.
parallel_tool_callsbooleaanse waardeSta meerdere toolaanroepen binnen één beurt toe.
response_formatobjectUitvoer in JSON-formaat.
logprobsbooleaanse waardeGeef de logaritmische waarschijnlijkheden van tokens terug.
top_logprobsgeheel getalHet aantal alternatieven dat per token wordt teruggegeven.
ngeheel getalMoet 1 zijn: één gegenereerd antwoord per aanvraag.
reasoning_efforttekenreeksBeide modellen: none, low of high; GLM-5.3-Flash accepteert ook max.
chat_template_kwargsobjectSjablooninstellingen, zoals {"enable_thinking": false}.
Andere velden worden genegeerd.
Antwoord
response.choices[0].message.contentVerbruiksaantallen worden teruggegeven zodat je je eigen gebruik kunt bijhouden; ze worden nooit in rekening gebracht.
Streamen
Met "stream": true komt het antwoord binnen als gebeurtenissen die door de server worden verstuurd, in het gegevensblokformaat van OpenAI, met data: [DONE] als afsluiting. Lees de tekst uit choices[0].delta.content.
Afbeeldingen
Beide modellen accepteren afbeeldingen als image_url-onderdelen met een base64-data-URL (data:image/png;base64,..., JPEG of WebP). Afbeeldingen waarnaar een URL verwijst, worden niet opgehaald en leveren foutcode 400 op.
{"role": "user", "content": [
{"type": "text", "text": "Describe this image."},
{"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,/9j/4AAQ..."}}
]}Tools aanroepen
Geef tools mee zoals bij de OpenAI API. Wanneer het model een tool aanroept, bevat het antwoord finish_reason: "tool_calls" en message.tool_calls; voer de tool uit, voeg een tool-bericht toe met het resultaat en de bijbehorende tool_call_id, en doe opnieuw een aanvraag.
Redeneren
Beide modellen redeneren voordat ze antwoorden en accepteren reasoning_effort: none voor directe antwoorden, low voor beperkt redeneren of high voor moeilijkere problemen; GLM-5.3-Flash biedt ook max en gebruikt standaard high. De denkstappen worden afzonderlijk teruggegeven in reasoning_content en worden nooit vermengd met content. Met "thinking": {"type": "disabled"} of "chat_template_kwargs": {"enable_thinking": false} schakel je het redeneren ook uit.
Gelijktijdige aanvragen
Je abonnement bepaalt hoeveel aanvragen tegelijk kunnen worden uitgevoerd, over al je API-sleutels samen. Een aanvraag boven die limiet levert direct foutcode 429 op en wordt niet in een wachtrij geplaatst; lopende aanvragen gaan gewoon door.