> ## 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.

# Guide de démarrage rapide de l’API compatible OpenAI : envoyer des requêtes Chat Completions avec CometAPI

> Utilisez CometAPI comme URL de base compatible avec l’API OpenAI pour les requêtes Chat Completions avec curl, Python, Node.js et les SDK OpenAI.

Cette page est un guide de démarrage rapide de l’API compatible OpenAI de CometAPI. Elle vous aide à réutiliser le format de requête Chat Completions, les SDK OpenAI et une URL de base CometAPI. Ce n’est ni un guide de configuration de compte OpenAI ni une page dédiée uniquement aux modèles OpenAI.

## Ce que vous allez créer

Vous allez envoyer une requête texte à la route `POST /v1/chat/completions` compatible OpenAI de CometAPI, afficher le message de l’assistant et conserver un format de requête prêt pour les applications qui utilisent déjà les SDK OpenAI.

## Quand utiliser cette page

Utilisez ce guide de démarrage rapide si l’un de ces cas correspond à votre projet :

* Vous utilisez déjà les SDK OpenAI ou des formats de requête Chat Completions.
* Vous souhaitez basculer l’URL de base vers CometAPI.
* Vous souhaitez appeler un model ID CometAPI via une route compatible avec l’API OpenAI.

## Prérequis

* Une clé API CometAPI stockée dans `COMETAPI_KEY`
* Un model ID de modèle textuel depuis la [page Models](/fr/overview/models)
* `curl`, Python 3.10+ ou Node.js 18+

## Clé API, URL de base, authentification

Utilisez l’URL de base CometAPI avec des clients compatibles OpenAI :

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

Authentifiez les requêtes HTTP directes avec un jeton Bearer :

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

## Exemples de code

Utilisez les onglets ci-dessous pour envoyer la même requête Chat Completions avec cURL, Python et 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>

## Explication du fonctionnement

Compatible OpenAI signifie que votre application conserve le point de terminaison Chat Completions, le corps de requête et les noms de méthodes du SDK, tout en remplaçant l’URL de base et le model ID par des valeurs CometAPI.

La route est synchrone par défaut. L’API renvoie l’objet de réponse complet dans une seule réponse HTTP, et votre application lit `choices[0].message.content`.

Pour une sortie incrémentale, définissez `stream` sur `true`. La réponse devient un flux Server-Sent Events et se termine par `data: [DONE]`. Utilisez le streaming pour les interfaces de chat et les réponses longues. Conservez la forme synchrone pour les tâches en arrière-plan et les tests simples.

## Paramètres courants

| Parameter               | Utilisation                                                                                           |
| ----------------------- | ----------------------------------------------------------------------------------------------------- |
| `model`                 | Le model ID CometAPI d’un modèle capable de traiter du texte.                                         |
| `messages`              | Le tableau de conversation. Commencez avec un message `user` pour une requête minimale.               |
| `temperature`           | Contrôle l’aléa. Des valeurs plus faibles rendent la sortie plus déterministe.                        |
| `max_completion_tokens` | Limite la sortie générée pour les familles de modèles qui utilisent des budgets de completion tokens. |
| `stream`                | Diffuse des fragments de réponse incrémentaux lorsqu’il est défini sur `true`.                        |
| `response_format`       | Demande une sortie JSON lorsque le modèle sélectionné le prend en charge.                             |

## Dépannage et FAQ

<AccordionGroup>
  <Accordion title="Est-ce l'API OpenAI ?">
    Non. Il s'agit de la route d'API compatible OpenAI de CometAPI. Vous utilisez une clé d'API CometAPI, l'URL de base CometAPI et un model ID CometAPI.
  </Accordion>

  <Accordion title="La requête renvoie 401">
    Vérifiez que `COMETAPI_KEY` est défini dans le même shell ou environnement d'exécution qui envoie la requête. Ne collez pas une vraie clé dans des fichiers source.
  </Accordion>

  <Accordion title="Le modèle est introuvable">
    Utilisez un model ID CometAPI qui prend en charge les requêtes de texte ou de chat. Consultez la page Models avant de réessayer.
  </Accordion>

  <Accordion title="Le SDK appelle toujours OpenAI">
    Vérifiez que le client définit `base_url` en Python ou `baseURL` en Node.js sur `https://api.cometapi.com/v1`.
  </Accordion>
</AccordionGroup>

## Étapes suivantes

* Lisez la [référence de l'API Chat Completions](/api/text/chat).
* Configurez les clients SDK dans [Utiliser CometAPI avec les SDK OpenAI](/fr/guides/use-cometapi-with-openai-sdk).
* Listez les modèles disponibles avec [Lister les modèles CometAPI disponibles](/fr/guides/how-to-list-available-models).
* Ajoutez la gestion des tentatives de nouvelle requête et des limites de débit avec [Codes d'erreur et stratégie de nouvelle tentative](/fr/guides/error-codes-and-retry-strategy).
