Home / Documentazione / API Chat Completions

API Chat Completions

POST /v1/chat/completions — l'endpoint in formato OpenAI, per Cursor, LangChain, LiteLLM e gli SDK OpenAI.

L'interfaccia compatibile con OpenAI. Stessi modelli, stessi prezzi, struttura diversa.

EndpointPOST https://aiprimetech.io/v1/chat/completions
URL di base per gli SDKhttps://aiprimetech.io/v1 — nota il suffisso /v1
AutenticazioneAuthorization: Bearer sk-...

Corpo della richiesta

CampoTipoObbligatorioDescrizione
modelstringasìQualsiasi ID presente in /v1/models, inclusi gli ID Claude
messagesarraysìSupporta i ruoli system, user e assistant
max_tokensinteronoFacoltativo qui, a differenza della Messages API
temperaturenumerono0–2 secondo la convenzione OpenAI
streambooleanonotrue per i blocchi SSE
toolsarraynoStruttura delle chiamate di funzione OpenAI
A differenza di Messages, system è un ruolo qui: inseriscilo come prima voce di messages. Non inviare un campo di primo livello system a questo endpoint.

Esempio

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

Risposta

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

Uso dell'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)

Corrispondenza dei campi tra i due formati

ConcettoMessagesChat Completions
Prompt di sistemadi primo livello systemmessages[0] con ruolo system
Testo della rispostacontent[0].textchoices[0].message.content
Motivo dell'interruzionestop_reasonfinish_reason
Token di inputusage.input_tokensusage.prompt_tokens
Token di outputusage.output_tokensusage.completion_tokens
Delta dello streamingcontent_block_deltachoices[0].delta.content