POST /v1/chat/completions
Complétions de chat compatibles OpenAI avec streaming, outils, vision et alias de modèle.
POST /v1/chat/completions
Demande
curl https://api.model-gate.com/v1/chat/completions \
-H "Authorization: Bearer mg_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "ch-47",
"messages": [
{"role": "user", "content": "Explain this API in one sentence."}
],
"stream": false
}'
Le model peut être un identifiant canonique ou un alias activé. Model Gate résout les alias avant la tarification et envoie l'ID canonique en amont.
Réponse
{
"id": "chatcmpl_example",
"object": "chat.completion",
"model": "claude-opus-4.7",
"choices": [
{
"index": 0,
"message": {"role": "assistant", "content": "Model Gate provides one compatible API for multiple AI models."},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 14,
"completion_tokens": 17,
"total_tokens": 31
}
}
Demande de diffusion en continu
Ensemble "stream": true. Les événements envoyés par le serveur en amont sont transmis sans réécriture des charges utiles des événements réussis.
Requête asynchrone
Pour les points de terminaison pris en charge, ajoutez "async": true avec "stream": false. La réponse immédiate est HTTP 202 et contient request_id et une URL de résultat Partner API.
Erreurs
Le statut, le corps et le type de contenu du fournisseur non-2xx sont transmis sans modification. Les erreurs de validation générées localement utilisent l’enveloppe d’erreur Model Gate.
| Statut | Signification | Action |
|---|---|---|
400 | Demande invalide | Vérifiez le corps de la demande et l'ID du modèle. |
401 | Clé invalide ou gelée | Vérifiez ou faites pivoter la clé API. |
429 | Limite de débit ou de simultanéité dépassée | Respect Retry-After et réessayez avec recul. |
5xx | Erreur temporaire en amont ou en passerelle | Réessayez les requêtes idempotentes avec une interruption exponentielle. |