Skip to main content
POST
CometAPI routeert Chat Completions naar meerdere providers — waaronder OpenAI, Claude en Gemini — via één OpenAI-compatibele interface. Wissel tussen modellen door de parameter model te wijzigen; de meeste OpenAI-compatibele SDK’s werken door base_url in te stellen op https://api.cometapi.com/v1.
Aanvraagparameters en antwoordvelden kunnen aanzienlijk verschillen tussen modelproviders. Raadpleeg altijd de officiële documentatie van de provider achter het model dat je gebruikt wanneer je de volledige parameterlijst of providerspecifiek gedrag nodig hebt. Zo geldt reasoning_effort alleen voor reasoning-modellen (o-series, GPT-5.1+) en ondersteunen sommige modellen logprobs of n > 1 niet.
Gebruik voor OpenAI Pro-modellen, reasoning-modellen van o-series en Codex-modellen in plaats daarvan het Responses -endpoint. Deze modelfamilies hebben uitgebreidere ondersteuning in de Responses API.

Berichtrollen

Gebruik voor nieuwere modellen (GPT-4.1, GPT-5-serie, o-series) bij voorkeur developer in plaats van system voor instructieberichten. Beide werken, maar developer biedt sterkere opvolging van instructies.

Multimodale invoer verzenden

Veel modellen ondersteunen afbeeldingen en audio naast tekst. Gebruik de arrayindeling voor content om multimodale berichten te verzenden:
De parameter detail bepaalt de diepgang van afbeeldingsanalyse:
  • low — sneller, gebruikt minder tokens (vaste kosten)
  • high — gedetailleerde analyse, meer tokens verbruikt
  • auto — het model beslist (standaard)

Antwoorden streamen

Stel stream in op true om incrementele uitvoer te ontvangen. Het antwoord wordt geleverd als Server-Sent Events (SSE), waarbij elk event een object chat.completion.chunk bevat:
Stel stream_options.include_usage in op true om statistieken over tokengebruik in streaming-antwoorden op te nemen. De gebruiksgegevens verschijnen in het laatste chunk vóór [DONE].

Gestructureerde uitvoer aanvragen

Gebruik response_format om het model te dwingen geldige JSON terug te geven die overeenkomt met een specifiek schema:
De JSON Schema-modus (json_schema) garandeert dat de uitvoer exact overeenkomt met je schema. De JSON Object-modus (json_object) garandeert alleen geldige JSON — de structuur wordt niet afgedwongen.

Tools en functies aanroepen

Geef tooldefinities op om het model externe functies te laten aanroepen:
Wanneer het model besluit een tool aan te roepen, bevat het antwoord 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 bericht tool met de overeenkomende tool_call_id.

Opmerkingen over providers

  • max_tokens — De verouderde parameter. Werkt met de meeste modellen, maar is verouderd voor nieuwere OpenAI-modellen.
  • max_completion_tokens — De aanbevolen parameter voor modellen van GPT-4.1, de GPT-5-serie en o-series. Vereist voor reasoning-modellen, omdat deze zowel uitvoertokens als reasoning-tokens omvat.
CometAPI verwerkt de toewijzing automatisch bij routering naar verschillende providers.
  • system — De traditionele instructierol. Werkt met alle modellen.
  • developer — Geïntroduceerd met modellen van o1. Biedt sterkere opvolging van instructies voor nieuwere modellen. Valt bij oudere modellen terug op het gedrag van system.
Gebruik developer voor nieuwe projecten die gericht zijn op modellen van GPT-4.1+ of o-series.

Veelgestelde vragen

Hoe ga je om met rate limits?

Implementeer exponential backoff wanneer je 429 Too Many Requests tegenkomt:

Hoe behoud je gesprekscontext?

Neem de volledige gesprekshistorie op in de array messages:

Wat betekent finish_reason?

Hoe beheers je kosten?

  1. Gebruik max_completion_tokens om de uitvoerlengte te beperken.
  2. Gebruik gpt-5.6-terra voor een balans tussen intelligentie en kosten, of gpt-5.6-luna voor efficiënte workloads met hoge volumes.
  3. Houd Prompts beknopt — vermijd overbodige context.
  4. Controleer het tokengebruik in het antwoordveld usage.

Autorisaties

Authorization
string
header
vereist

Bearer token authentication. Use your CometAPI key.

Body

application/json
model
string
standaard:gpt-5.6-sol
vereist

Model ID to use for this request. See the Models page for current options.

Voorbeeld:

"gpt-4.1"

messages
object[]
vereist

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).

stream
boolean

If true, partial response tokens are delivered incrementally via server-sent events (SSE). The stream ends with a data: [DONE] message.

temperature
number
standaard:1

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.

Vereist bereik: 0 <= x <= 2
top_p
number
standaard:1

Nucleus 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.

Vereist bereik: 0 <= x <= 1
n
integer
standaard:1

Number of completion choices to generate for each input message. Defaults to 1.

stop
string

Up to 4 sequences where the API will stop generating further tokens. Can be a string or an array of strings.

max_tokens
integer

Maximum number of tokens to generate in the completion. The total of input + output tokens is capped by the model's context length.

presence_penalty
number
standaard:0

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.

Vereist bereik: -2 <= x <= 2
frequency_penalty
number
standaard:0

Number between -2.0 and 2.0. Positive values penalize tokens proportionally to how often they have appeared, reducing verbatim repetition.

Vereist bereik: -2 <= x <= 2
logit_bias
object

A 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.

user
string

A unique identifier for your end-user. Helps with abuse detection and monitoring.

max_completion_tokens
integer

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.

response_format
object

Specifies the output format. Use {"type": "json_object"} for JSON mode, or {"type": "json_schema", "json_schema": {...}} for strict structured output.

tools
object[]

A list of tools the model may call. Currently supports function type tools.

tool_choice
standaard:auto

Controls how the model selects tools. auto (default): model decides. none: no tools. required: must call a tool.

logprobs
boolean
standaard:false

Whether to return log probabilities of the output tokens.

top_logprobs
integer

Number of most likely tokens to return at each position (0-20). Requires logprobs to be true.

Vereist bereik: 0 <= x <= 20
reasoning_effort
enum<string>

Controls the reasoning effort for o-series and GPT-5.1+ models.

Beschikbare opties:
low,
medium,
high
stream_options
object

Options for streaming. Only valid when stream is true.

service_tier
enum<string>

Specifies the processing tier.

Beschikbare opties:
auto,
default,
flex,
priority

Respons

Successful chat completion response.

id
string

Unique completion identifier.

Voorbeeld:

"chatcmpl-abc123"

object
enum<string>

Object type. Non-streaming responses use chat.completion.

Beschikbare opties:
chat.completion
Voorbeeld:

"chat.completion"

created
integer

Unix timestamp of creation.

Voorbeeld:

1774412483

model
string

The model used (may include version suffix).

Voorbeeld:

"gpt-5.4-2026-03-05"

choices
object[]

Array of completion choices.

usage
object

Token accounting for this request. Billing uses these counts.

service_tier
string

Service tier that processed the request, when the provider reports one.

Voorbeeld:

"default"

system_fingerprint
string | null

Provider backend configuration fingerprint, when the provider reports one.

Voorbeeld:

"fp_490a4ad033"