> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Guida rapida all'API compatibile con OpenAI: invia richieste Chat Completions con CometAPI

> Usa CometAPI come base URL compatibile con l'API OpenAI per richieste Chat Completions con curl, Python, Node.js e SDK OpenAI.

Questa pagina è una guida rapida all'API compatibile con OpenAI di CometAPI. Ti aiuta a riutilizzare la struttura delle richieste Chat Completions, gli SDK OpenAI e una base URL CometAPI. Non è una guida alla configurazione di un account OpenAI né una pagina dedicata solo ai modelli OpenAI.

## Cosa realizzerai

Invierai una richiesta di testo a una route `POST /v1/chat/completions` compatibile con OpenAI di CometAPI, stamperai il messaggio dell'assistente e manterrai la struttura della richiesta pronta per le app che già usano gli SDK OpenAI.

## Quando usare questa pagina

Usa questa guida rapida quando uno di questi casi corrisponde al tuo progetto:

* Usi già gli SDK OpenAI o la struttura delle richieste Chat Completions.
* Vuoi cambiare la base URL in CometAPI.
* Vuoi chiamare un model ID di CometAPI tramite una route compatibile con l'API OpenAI.

## Prerequisiti

* Una chiave API CometAPI archiviata in `COMETAPI_KEY`
* Un model ID di testo dalla [pagina Models](/it/overview/models)
* `curl`, Python 3.10+ o Node.js 18+

## Chiave API, base URL, autenticazione

Usa la base URL CometAPI con client compatibili con OpenAI:

```text theme={null}
https://api.cometapi.com/v1
```

Autentica le richieste HTTP dirette con un token Bearer:

```text theme={null}
Authorization: Bearer $COMETAPI_KEY
```

## Esempi di codice

Usa le schede qui sotto per inviare la stessa richiesta Chat Completions con cURL, Python e Node.js.

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.cometapi.com/v1/chat/completions \
    -H "Authorization: Bearer $COMETAPI_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "your-model-id",
      "messages": [
        {
          "role": "user",
          "content": "Write one sentence about CometAPI."
        }
      ]
    }'
  ```

  ```python Python theme={null}
  import os
  from openai import OpenAI

  client = OpenAI(
      api_key=os.environ["COMETAPI_KEY"],
      base_url="https://api.cometapi.com/v1",
  )

  completion = client.chat.completions.create(
      model="your-model-id",
      messages=[
          {
              "role": "user",
              "content": "Write one sentence about CometAPI.",
          }
      ],
  )

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

  ```javascript Node.js theme={null}
  import OpenAI from "openai";

  const client = new OpenAI({
    apiKey: process.env.COMETAPI_KEY,
    baseURL: "https://api.cometapi.com/v1",
  });

  const completion = await client.chat.completions.create({
    model: "your-model-id",
    messages: [
      {
        role: "user",
        content: "Write one sentence about CometAPI.",
      },
    ],
  });

  console.log(completion.choices[0].message.content);
  ```
</CodeGroup>

## Spiegazione del flusso

Compatibile con OpenAI significa che la tua applicazione mantiene l'endpoint Chat Completions, il corpo della richiesta e i nomi dei metodi SDK, cambiando al contempo la base URL e il model ID con valori di CometAPI.

La route è sincrona per impostazione predefinita. L'API restituisce l'oggetto di risposta completato in un'unica risposta HTTP e la tua applicazione legge `choices[0].message.content`.

Per un output incrementale, imposta `stream` su `true`. La risposta diventa Server-Sent Events e termina con `data: [DONE]`. Usa lo streaming per interfacce di chat e risposte lunghe. Mantieni la forma sincrona per job in background e test semplici.

## Parametri comuni

| Parameter               | Use                                                                                                   |
| ----------------------- | ----------------------------------------------------------------------------------------------------- |
| `model`                 | Il model ID CometAPI per un modello in grado di gestire testo.                                        |
| `messages`              | L'array della conversazione. Inizia con un messaggio `user` per una richiesta minima.                 |
| `temperature`           | Controlla la casualità. Valori più bassi rendono l'output più deterministico.                         |
| `max_completion_tokens` | Impone un limite all'output generato per le famiglie di modelli che usano budget di completion-token. |
| `stream`                | Trasmette in streaming blocchi di risposta incrementali quando è impostato su `true`.                 |
| `response_format`       | Richiede output JSON quando il modello selezionato lo supporta.                                       |

## Risoluzione dei problemi e FAQ

<AccordionGroup>
  <Accordion title="È questa l'API OpenAI?">
    No. Questo è il percorso API compatibile con OpenAI di CometAPI. Usi una chiave API di CometAPI, l'URL base di CometAPI e un model ID di CometAPI.
  </Accordion>

  <Accordion title="La richiesta restituisce 401">
    Conferma che `COMETAPI_KEY` sia impostata nella stessa shell o nello stesso runtime che invia la richiesta. Non incollare una chiave reale nei file sorgente.
  </Accordion>

  <Accordion title="Il modello non viene trovato">
    Usa un model ID di CometAPI che supporti richieste di testo o chat. Controlla la pagina Models prima di riprovare.
  </Accordion>

  <Accordion title="L'SDK chiama ancora OpenAI">
    Conferma che il client imposti `base_url` in Python o `baseURL` in Node.js su `https://api.cometapi.com/v1`.
  </Accordion>
</AccordionGroup>

## Passaggi successivi

* Leggi il [riferimento API Chat Completions](/api/text/chat).
* Configura i client SDK in [Usare CometAPI con gli SDK OpenAI](/it/guides/use-cometapi-with-openai-sdk).
* Elenca i modelli disponibili con [Elencare i modelli CometAPI disponibili](/it/guides/how-to-list-available-models).
* Aggiungi la gestione dei retry e dei limiti di velocità con [Codici di errore e strategia di retry](/it/guides/error-codes-and-retry-strategy).
