Passer au contenu principal
Point de terminaison : POST /chat/completions Utilisez ce point de terminaison pour la plupart des intégrations API modèle. Envoyez un ID model et un tableau messages ; YouRouter renvoie une réponse de complétion compatible OpenAI. Pour les modèles vision, ce point de terminaison accepte aussi des images dans messages[].content.

Requête

curl https://api.yourouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $YOUROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {
        "role": "user",
        "content": "Reply with exactly: connected"
      }
    ]
  }'

SDK OpenAI

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["YOUROUTER_API_KEY"],
    base_url="https://api.yourouter.ai/v1",
)

completion = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Reply with exactly: connected"}],
)

print(completion.choices[0].message.content)

En-têtes

En-têteObligatoireDescription
AuthorizationOuiBearer <YOUR_YOUROUTER_API_KEY>
Content-TypeOuiUtilisez application/json.
vendorNonauto ou omission pour le routage automatique. Valeurs comme openai, anthropic, ou google pour fixer le fournisseur.

Paramètres du corps

model
string
requis
ID du modèle à appeler, par ex. gpt-4o, claude-sonnet-4-20250514, ou gemini-2.5-flash.
messages
array
requis
Messages de conversation ordonnés. Chaque message a un role et un content.
stream
boolean
défaut:"false"
Si vrai, la réponse est renvoyée sous forme de fragments server-sent events.
temperature
number
Contrôle l’aléa lorsque le modèle sélectionné le prend en charge.
max_tokens
integer
Limite le nombre de jetons de sortie lorsque le modèle le prend en charge.
tools
array
Définitions d’outils pour les modèles qui prennent en charge l’appel de fonctions ou le tool use.

Entrée image multimodale

Pour les modèles vision, envoyez content comme tableau de blocs : un bloc text pour la consigne et un ou plusieurs blocs image_url pour l’image.
curl https://api.yourouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $YOUROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "Describe this image in one sentence."
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://example.com/image.jpg"
            }
          }
        ]
      }
    ]
  }'
Pour des images privées, utilisez une data URL base64 :
{
  "type": "image_url",
  "image_url": {
    "url": "data:image/jpeg;base64,<BASE64_IMAGE>"
  }
}
Voir le guide Multimodal pour d’autres exemples, y compris les formats natifs Gemini et Claude.

Réponse

Les réponses réussies suivent le format OpenAI Chat Completions.
{
  "id": "chatcmpl_example",
  "object": "chat.completion",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "connected"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 1,
    "total_tokens": 13
  }
}
Lisez le texte de l’assistant dans :
choices[0].message.content

Routage fournisseur

Le routage automatique est le comportement par défaut :
curl https://api.yourouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $YOUROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}]}'
Fixez un fournisseur avec vendor :
curl https://api.yourouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $YOUROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -H "vendor: openai" \
  -d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "Hello"}]}'

Streaming

Définissez stream sur true pour recevoir des événements server-sent events incrémentaux.
curl https://api.yourouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $YOUROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "stream": true,
    "messages": [
      {
        "role": "user",
        "content": "Explain model routing in two sentences."
      }
    ]
  }'

Erreurs courantes

StatutCauseÀ vérifier
400Corps de requête invalide ou paramètre non pris en chargemodel, messages et le JSON.
401Clé API manquante ou invalideEn-tête Authorization.
429Limite de débit ou de concurrence fournisseurNouvelle tentative avec backoff ou routage automatique.
500Erreur passerelle ou fournisseur amontRéessayer prudemment et conserver les ID de requête pour le support.
Pour les ID de modèle et la fixation du fournisseur, voir Modèles et le guide Routage.