Chat Completions
MarkdownAntwoord van het model op een gesprek in OpenAI-formaat. Het meest gebruikte formaat: vrijwel alle clients ondersteunen het.
Volledige gids
https://api.ailoot.ai/v1/chat/completionscurl https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"messages": [
{"role": "user", "content": "Leg in twee zinnen uit wat een API is."}
]
}' from openai import OpenAI
import os
client = OpenAI(max_retries=0,
base_url="https://api.ailoot.ai/v1",
api_key=os.environ["AILOOT_API_KEY"],
)
resp = client.chat.completions.create(
model="claude-sonnet-5-5",
messages=[{"role": "user", "content": "Leg in twee zinnen uit wat een API is."}],
)
print(resp.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({ maxRetries: 0,
baseURL: "https://api.ailoot.ai/v1",
apiKey: process.env.AILOOT_API_KEY,
});
const resp = await client.chat.completions.create({
model: "claude-sonnet-5-5",
messages: [{ role: "user", content: "Leg in twee zinnen uit wat een API is." }],
});
console.log(resp.choices[0].message.content);{
"id": "chatcmpl-8f2c…",
"object": "chat.completion",
"created": 1790812800,
"model": "claude-sonnet-5-5",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Een API is een afspraak over hoe het ene programma een ander programma vraagt iets te doen…"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 21,
"completion_tokens": 48,
"total_tokens": 69
}
}Authenticatie
- Authorizationheaderverplicht
Sleutel in de vorm
Bearer sk-…. Ook de headersx-api-keyofx-goog-api-key.
Verzoekbody
- modelstringverplicht
Model-ID uit de catalogus, bijvoorbeeld
claude-sonnet-5-5. Het model moet het OpenAI Chat-formaat ondersteunen. - messagesarrayverplicht
Gespreksgeschiedenis: objecten met
role(system,developer,user,assistant,tool) encontent— een string of een array van onderdelen (tekst,image_url). - streambooleanoptioneel
Antwoord in Server-Sent Events-formaat. Standaard
false. Betaalde tekst komt na de kostenberekening als één blok binnen, niet woord voor woord. - stream_optionsobjectoptioneel
{"include_usage": true}— stuur de uiteindelijkeusageals laatste gebeurtenis in de stream. - max_tokensintegeroptioneel
Maximumaantal antwoordtokens. De nieuwe naam is
max_completion_tokens. Als geen limiet is opgegeven, vult Ailoot 4096 in (of minder als de antwoordlimiet van het model lager is; Grok heeft een eigen limiet). Geef voor lange antwoorden expliciet een limiet op, anders stopt het antwoord bij 4096 tokens metfinish_reason: "length". De limiet telt mee in de reservering: hoe hoger de limiet, hoe meer vrij saldo nodig is. - temperaturenumberoptioneel
Willekeurigheid van het antwoord, meestal van 0 tot 2. Kan bij redeneermodellen worden genegeerd.
- top_pnumberoptioneel
Alternatief voor temperature: het aandeel van de kansmassa dat bij de tokenselectie wordt gebruikt.
- stopstring | arrayoptioneel
Strings waarbij de generatie stopt.
- toolsarrayoptioneel
Beschrijvingen van functies die het model kan aanroepen. Het formaat is hetzelfde als bij OpenAI:
{"type": "function", "function": {...}}. - tool_choicestring | objectoptioneel
auto,none,requiredof een specifieke functie. - response_formatobjectoptioneel
{"type": "json_object"}of{"type": "json_schema", ...}voor een gestructureerd antwoord — als het model dit ondersteunt. - reasoning_effortstringoptioneel
Redeneerdiepte voor redeneermodellen:
low,medium,high.
De overige OpenAI-parameters worden ongewijzigd doorgegeven; de ontwikkelaar van het model bepaalt of dat specifieke model ze ondersteunt.
Antwoord
- choices[].messageobject
Antwoord van het model:
content, bij het aanroepen van tools:tool_calls. - choices[].finish_reasonstring
stop— het antwoord is voltooid;length— de limiet is bereikt:max_tokens(dit antwoord is nog steeds volledig en wordt naar daadwerkelijk verbruik afgerekend);tool_calls— het model roept een tool aan. - usageobject
prompt_tokens,completion_tokens,total_tokens— hiermee wordt de afschrijving berekend.