B2BB2B LLM

POST /v1/chat/completions

Completamenti chat compatibili con OpenAI con streaming, strumenti, visione e alias di modello.

POST /v1/chat/completions

Richiesta

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
  }'

IL model può essere un ID canonico o un alias abilitato. Model Gate risolve gli alias prima della determinazione del prezzo e invia l'ID canonico a monte.

Risposta

{
  "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
  }
}

Richiesta di streaming

Impostato "stream": true. Gli eventi inviati dal server upstream vengono passati senza riscrivere i payload degli eventi riusciti.

Richiesta asincrona

Per gli endpoint supportati, aggiungi "async": true con "stream": false. La risposta immediata è HTTP 202 e contiene request_id e un URL di risultato Partner API.

Errori

Lo stato, il corpo e il tipo di contenuto del provider non 2xx vengono trasmessi invariati. Gli errori di convalida generati localmente utilizzano la busta di errore Model Gate.

StatoSensoAzione
400Richiesta non validaControllare il corpo della richiesta e l'ID del modello.
401Chiave non valida o bloccataVerifica o ruota la chiave API.
429Limite di velocità o concorrenza superatoRispetto Retry-After e riprovare con il backoff.
5xxErrore temporaneo upstream o gatewayRiprovare le richieste idempotenti con backoff esponenziale.