Skip to main content
POST
CometAPI achemine les Chat Completions vers plusieurs fournisseurs, dont OpenAI, Claude et Gemini, via une interface unique compatible avec OpenAI. Basculez entre les modèles en modifiant le paramètre model ; la plupart des SDK compatibles avec OpenAI fonctionnent en définissant base_url sur https://api.cometapi.com/v1.
Les paramètres de requête et les champs de réponse peuvent varier considérablement selon les fournisseurs de modèles. Consultez la documentation officielle du fournisseur du modèle que vous utilisez chaque fois que vous avez besoin de la liste complète des paramètres ou d’un comportement propre au fournisseur. Par exemple, reasoning_effort s’applique uniquement aux modèles de raisonnement (o-series, GPT-5.1+), et certains modèles ne prennent pas en charge logprobs ou n > 1.
Pour les modèles OpenAI Pro, les modèles de raisonnement o-series et les modèles Codex, utilisez le point de terminaison Responses à la place. Ces familles de modèles bénéficient d’une prise en charge plus complète dans l’API Responses.

Rôles des messages

Pour les modèles plus récents (GPT-4.1, séries GPT-5, o-series), privilégiez developer à system pour les messages d’instruction. Les deux fonctionnent, mais developer offre un suivi des instructions plus robuste.

Envoyer une entrée multimodal

De nombreux modèles prennent en charge les images et l’audio en plus du texte. Pour envoyer des messages multimodal, utilisez le format de tableau pour content :
Le paramètre detail contrôle la profondeur d’analyse des images :
  • low — plus rapide, utilise moins de Tokens (coût fixe)
  • high — analyse détaillée, consomme davantage de Tokens
  • auto — le modèle décide (par défaut)

Diffuser les réponses en Streaming

Pour recevoir une sortie incrémentielle, définissez stream sur true. La réponse est envoyée sous forme de Server-Sent Events (SSE), où chaque événement contient un objet chat.completion.chunk :
Pour inclure les statistiques d’utilisation des Tokens dans les réponses en Streaming, définissez stream_options.include_usage sur true. Les données d’utilisation apparaissent dans le fragment final avant [DONE].

Demander une sortie structurée

Pour forcer le modèle à renvoyer du JSON valide correspondant à un schéma spécifique, utilisez response_format :
Le mode JSON Schema (json_schema) garantit que la sortie correspond exactement à votre schéma. Le mode JSON Object (json_object) garantit uniquement du JSON valide ; la structure n’est pas imposée.

Appeler des outils et des fonctions

Pour permettre au modèle d’appeler des fonctions externes, fournissez des définitions d’outils :
Lorsque le modèle décide d’appeler un outil, la réponse comportera finish_reason: "tool_calls" et le tableau message.tool_calls contiendra le nom de la fonction et ses arguments. Exécutez ensuite la fonction et renvoyez le résultat sous forme de message tool avec le tool_call_id correspondant.

Notes inter-fournisseurs

  • max_tokens — Le paramètre historique. Fonctionne avec la plupart des modèles, mais est obsolète pour les modèles OpenAI plus récents.
  • max_completion_tokens — Le paramètre recommandé pour les modèles GPT-4.1, les séries GPT-5 et les modèles o-series. Obligatoire pour les modèles de raisonnement, car il inclut à la fois les Tokens de sortie et les Tokens de raisonnement.
CometAPI gère automatiquement le mappage lors du routage vers différents fournisseurs.
  • system — Le rôle d’instruction traditionnel. Fonctionne avec tous les modèles.
  • developer — Introduit avec les modèles o1. Offre un suivi des instructions plus robuste pour les modèles plus récents. Revient au comportement de system sur les modèles plus anciens.
Utilisez developer pour les nouveaux projets ciblant les modèles GPT-4.1+ ou o-series.

FAQ

Comment gérer les limites de débit ?

Lorsque vous rencontrez 429 Too Many Requests, implémentez un backoff exponentiel :

Comment maintenir le contexte de la conversation ?

Incluez l’historique complet de la conversation dans le tableau messages :

Que signifie finish_reason ?

Comment contrôler les coûts ?

  1. Utilisez max_completion_tokens pour limiter la longueur de sortie.
  2. Utilisez gpt-5.6-terra pour un équilibre entre intelligence et coût, ou gpt-5.6-luna pour des charges de travail efficaces à volume élevé.
  3. Gardez les Prompts concis — évitez le contexte redondant.
  4. Surveillez l’utilisation des Tokens dans le champ de réponse usage.

Autorisations

Authorization
string
header
requis

Bearer token authentication. Use your CometAPI key.

Corps

application/json
model
string
défaut:gpt-5.6-sol
requis

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

Exemple:

"gpt-4.1"

messages
object[]
requis

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
défaut: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.

Plage requise: 0 <= x <= 2
top_p
number
défaut: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.

Plage requise: 0 <= x <= 1
n
integer
défaut: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
défaut: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.

Plage requise: -2 <= x <= 2
frequency_penalty
number
défaut:0

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

Plage requise: -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
défaut:auto

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

logprobs
boolean
défaut: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.

Plage requise: 0 <= x <= 20
reasoning_effort
enum<string>

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

Options disponibles:
low,
medium,
high
stream_options
object

Options for streaming. Only valid when stream is true.

service_tier
enum<string>

Specifies the processing tier.

Options disponibles:
auto,
default,
flex,
priority

Réponse

Successful chat completion response.

id
string

Unique completion identifier.

Exemple:

"chatcmpl-abc123"

object
enum<string>

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

Options disponibles:
chat.completion
Exemple:

"chat.completion"

created
integer

Unix timestamp of creation.

Exemple:

1774412483

model
string

The model used (may include version suffix).

Exemple:

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

Exemple:

"default"

system_fingerprint
string | null

Provider backend configuration fingerprint, when the provider reports one.

Exemple:

"fp_490a4ad033"