Chat Completions
Gebruik CometAPI POST /v1/chat/completions om gesprekken met meerdere berichten te verzenden en LLM-antwoorden te krijgen met Streaming-, temperature- en max_tokens-regelaars.
CometAPI routeert Chat Completions naar meerdere providers — waaronder OpenAI, Claude en Gemini — via één OpenAI-compatibele interface. Wissel tussen modellen door de parameterDocumentation Index
Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
Use this file to discover all available pages before exploring further.
model te wijzigen; de meeste OpenAI-compatibele SDK’s werken door base_url in te stellen op https://api.cometapi.com/v1.
Berichtrollen
| Role | Description |
|---|---|
system | Stelt het gedrag en de persoonlijkheid van de assistant in. Wordt aan het begin van het gesprek geplaatst. |
developer | Vervangt system voor nieuwere modellen (o1+). Geeft instructies die het model moet volgen ongeacht gebruikersinvoer. |
user | Berichten van de eindgebruiker. |
assistant | Eerdere modelresponses, gebruikt om de gespreksgeschiedenis te behouden. |
tool | Resultaten van tool/function-calls. Moet tool_call_id bevatten die overeenkomt met de oorspronkelijke tool-call. |
Verstuur multimodale input
Veel modellen ondersteunen afbeeldingen en audio naast tekst. Om multimodale berichten te versturen, gebruik je het array-formaat voorcontent:
detail bepaalt de diepte van de afbeeldingsanalyse:
low— sneller, gebruikt minder tokens (vaste kosten)high— gedetailleerde analyse, meer tokens verbruiktauto— het model beslist (standaard)
Stream responses
Om incrementele output te ontvangen, stel jestream in op true. De response wordt geleverd als Server-Sent Events (SSE), waarbij elk event een chat.completion.chunk-object bevat:
Gestructureerde output aanvragen
Om het model te dwingen geldige JSON terug te geven die overeenkomt met een specifiek schema, gebruik jeresponse_format:
json_schema) garandeert dat de output exact overeenkomt met je schema. JSON Object-modus (json_object) garandeert alleen geldige JSON — de structuur wordt niet afgedwongen.Tools en functies aanroepen
Om het model externe functies te laten aanroepen, geef je tooldefinities op:finish_reason: "tool_calls" en bevat de array message.tool_calls de functienaam en argumenten. Vervolgens voer je de functie uit en stuur je het resultaat terug als een tool-bericht met de overeenkomende tool_call_id.
Opmerkingen over providers
Parameterondersteuning per provider
Parameterondersteuning per provider
| Parameter | OpenAI GPT | Claude (via compat) | Gemini (via compat) |
|---|---|---|---|
temperature | 0–2 | 0–1 | 0–2 |
top_p | 0–1 | 0–1 | 0–1 |
n | 1–128 | alleen 1 | 1–8 |
stop | Tot 4 | Tot 4 | Tot 5 |
tools | ✅ | ✅ | ✅ |
response_format | ✅ | ✅ (json_schema) | ✅ |
logprobs | ✅ | ❌ | ❌ |
reasoning_effort | o-series, GPT-5.1+ | ❌ | ❌ (gebruik thinking voor native Gemini) |
max_tokens vs max_completion_tokens
max_tokens vs max_completion_tokens
max_tokens— De legacy-parameter. Werkt met de meeste modellen, maar is verouderd voor nieuwere OpenAI-modellen.max_completion_tokens— De aanbevolen parameter voor GPT-4.1, GPT-5 series en o-series modellen. Vereist voor reasoning-modellen, omdat deze zowel output tokens als reasoning tokens omvat.
system vs developer role
system vs developer role
system— De traditionele instructierol. Werkt met alle modellen.developer— Geïntroduceerd met o1-modellen. Zorgt voor sterkere instructie-opvolging bij nieuwere modellen. Valt terug opsystem-gedrag bij oudere modellen.
developer voor nieuwe projecten die gericht zijn op GPT-4.1+ of o-series modellen.FAQ
Hoe om te gaan met rate limits?
Wanneer je429 Too Many Requests tegenkomt, implementeer dan exponentiële backoff:
Hoe behoud je gesprekscontext?
Neem de volledige gespreksgeschiedenis op in demessages-array:
Wat betekent finish_reason?
| Value | Betekenis |
|---|---|
stop | Natuurlijke voltooiing of een stop sequence bereikt. |
length | Limiet van max_tokens of max_completion_tokens bereikt. |
tool_calls | Het model heeft een of meer tool-/function calls aangeroepen. |
content_filter | Output is gefilterd vanwege het contentbeleid. |
Hoe beheers je kosten?
- Gebruik
max_completion_tokensom de lengte van de output te begrenzen. - Kies kostenefficiënte modellen (bijv.
gpt-5.4-miniofgpt-5.4-nanovoor eenvoudigere taken). - Houd prompts beknopt — vermijd redundante context.
- Controleer tokengebruik in het
usage-responseveld.
Autorisaties
Bearer token authentication. Use your CometAPI key.
Body
Model ID to use for this request. See the Models page for current options.
"gpt-4.1"
A list of messages forming the conversation. Each message has a role (system, user, assistant, or developer) and content (text string or multimodal content array).
If true, partial response tokens are delivered incrementally via server-sent events (SSE). The stream ends with a data: [DONE] message.
Sampling temperature between 0 and 2. Higher values (e.g., 0.8) produce more random output; lower values (e.g., 0.2) make output more focused and deterministic. Recommended to adjust this or top_p, but not both.
0 <= x <= 2Nucleus sampling parameter. The model considers only the tokens whose cumulative probability reaches top_p. For example, 0.1 means only the top 10% probability tokens are considered. Recommended to adjust this or temperature, but not both.
0 <= x <= 1Number of completion choices to generate for each input message. Defaults to 1.
Up to 4 sequences where the API will stop generating further tokens. Can be a string or an array of strings.
Maximum number of tokens to generate in the completion. The total of input + output tokens is capped by the model's context length.
Number between -2.0 and 2.0. Positive values penalize tokens based on whether they have already appeared, encouraging the model to explore new topics.
-2 <= x <= 2Number between -2.0 and 2.0. Positive values penalize tokens proportionally to how often they have appeared, reducing verbatim repetition.
-2 <= x <= 2A JSON object mapping token IDs to bias values from -100 to 100. The bias is added to the model's logits before sampling. Values between -1 and 1 subtly adjust likelihood; -100 or 100 effectively ban or force selection of a token.
A unique identifier for your end-user. Helps with abuse detection and monitoring.
An upper bound for the number of tokens to generate, including visible output tokens and reasoning tokens. Use this instead of max_tokens for GPT-4.1+, GPT-5 series, and o-series models.
Specifies the output format. Use {"type": "json_object"} for JSON mode, or {"type": "json_schema", "json_schema": {...}} for strict structured output.
A list of tools the model may call. Currently supports function type tools.
Controls how the model selects tools. auto (default): model decides. none: no tools. required: must call a tool.
Whether to return log probabilities of the output tokens.
Number of most likely tokens to return at each position (0-20). Requires logprobs to be true.
0 <= x <= 20Controls the reasoning effort for o-series and GPT-5.1+ models.
low, medium, high Options for streaming. Only valid when stream is true.
Specifies the processing tier.
auto, default, flex, priority Respons
Successful chat completion response.
Unique completion identifier.
"chatcmpl-abc123"
chat.completion "chat.completion"
Unix timestamp of creation.
1774412483
The model used (may include version suffix).
"gpt-5.4-2025-07-16"
Array of completion choices.
"default"
"fp_490a4ad033"