Source: https://aiprimetech.io/it/docs/api-reference/chat-completions/ [Home](/it/) / [Documentazione](/it/docs/) / API Chat Completions # API Chat Completions POST /v1/chat/completions — l'endpoint in formato OpenAI, per Cursor, LangChain, LiteLLM e gli SDK OpenAI. Copia pagina [ Visualizza in Markdown](/it/docs/api-reference/chat-completions.md) [ Chiedi a ChatGPT](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/api-reference/chat-completions.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ Chiedi in Claude](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/api-reference/chat-completions.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) 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 | Campo | Tipo | Obbligatorio | Descrizione | model | stringa | sì | Qualsiasi ID presente in /v1/models, inclusi gli ID Claude | messages | array | sì | Supporta i ruoli system, user e assistant | max_tokens | intero | no | Facoltativo qui, a differenza della Messages API | temperature | numero | no | 0–2 secondo la convenzione OpenAI | stream | booleano | no | true per i blocchi SSE | tools | array | no | Struttura 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 ``` Copycurl 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 ``` Copy{ "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 ``` Copyfrom 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 | Concetto | Messages | Chat Completions | Prompt di sistema | di primo livello system | messages[0] con ruolo system | Testo della risposta | content[0].text | choices[0].message.content | Motivo dell'interruzione | stop_reason | finish_reason | Token di input | usage.input_tokens | usage.prompt_tokens | Token di output | usage.output_tokens | usage.completion_tokens | Delta dello streaming | content_block_delta | choices[0].delta.content [CursorConfigura Cursor per usare questo endpoint](/it/docs/guides/cursor/)[Migrazione da OpenAIMigra una base di codice esistente](/it/docs/guides/migration-from-openai/)[StreamingSSE per entrambi i formati](/it/docs/api-reference/streaming/) [PrecedenteAPI Messages](/it/docs/api-reference/messages/)[AvantiEndpoint dei modelli](/it/docs/api-reference/models-endpoint/)