API Chat Completions
POST /v1/chat/completions — l’endpoint au format OpenAI, pour Cursor, LangChain, LiteLLM et les SDK OpenAI.
L’interface compatible avec OpenAI. Mêmes modèles, mêmes tarifs, enveloppe différente.
Endpoint
POST https://aiprimetech.io/v1/chat/completionsURL de base pour les SDK
https://aiprimetech.io/v1 — notez le /v1Authentification
Authorization: Bearer sk-...Corps de la requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
model | chaîne | oui | Tout identifiant provenant de /v1/models, y compris les identifiants Claude |
messages | tableau | oui | Prend en charge les rôles system, user et assistant |
max_tokens | entier | non | Facultatif ici, contrairement à l’API Messages |
temperature | nombre | non | 0–2 selon la convention OpenAI |
stream | booléen | non | true pour recevoir des fragments SSE |
tools | tableau | non | Structure d’appel de fonctions OpenAI |
Contrairement à Messages,
system est un rôle ici — placez-le comme première entrée de messages. N’envoyez pas de champ system au niveau racine à cet endpoint.Exemple
curl https://aiprimetech.io/v1/chat/completions \
-H "Authorization: Bearer $CLAUDEAPIKEY" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"messages": [{"role": "user", "content": "Hello"}]
}'
Réponse
{
"id": "chatcmpl-...",
"object": "chat.completion",
"model": "claude-sonnet-4-6",
"choices": [{
"index": 0,
"message": {"role": "assistant", "content": "..."},
"finish_reason": "stop"
}],
"usage": {"prompt_tokens": 9, "completion_tokens": 12, "total_tokens": 21}
}
Utilisation du SDK OpenAI
from openai import OpenAI
client = OpenAI(
api_key=class="s">"sk-your-key",
base_url=class="s">"https://aiprimetech.io/v1", class=class="s">"c"># the /v1 matters
)
resp = client.chat.completions.create(
model=class="s">"claude-sonnet-4-6",
messages=[{class="s">"role": class="s">"user", class="s">"content": class="s">"Hello"}],
)
print(resp.choices[0].message.content)
Correspondance des champs entre les deux formats
| Concept | Messages | Chat Completions |
|---|---|---|
| Prompt système | au niveau racine system | messages[0] avec le rôle system |
| Texte de la réponse | content[0].text | choices[0].message.content |
| Motif de l’arrêt | stop_reason | finish_reason |
| Tokens d’entrée | usage.input_tokens | usage.prompt_tokens |
| Tokens de sortie | usage.output_tokens | usage.completion_tokens |
| Delta du flux | content_block_delta | choices[0].delta.content |