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

# OpenAI-compatibele API-snelstart: Verstuur Chat Completions-aanvragen met CometAPI

> Gebruik CometAPI als een OpenAI API-compatibele base URL voor Chat Completions-aanvragen met curl, Python, Node.js en OpenAI SDK's.

Deze pagina is een CometAPI OpenAI-compatibele API-snelstart. Hiermee kun je de Chat Completions-aanvraagstructuur, OpenAI SDK's en een CometAPI base URL hergebruiken. Dit is geen handleiding voor het instellen van een OpenAI-account of een pagina die alleen over OpenAI-modellen gaat.

## Wat je gaat bouwen

Je verstuurt één tekstaanvraag naar de OpenAI-compatibele `POST /v1/chat/completions`-route van CometAPI, print het assistant-bericht en houdt de aanvraagstructuur gereed voor apps die al OpenAI SDK's gebruiken.

## Wanneer je deze pagina moet gebruiken

Gebruik deze snelstart wanneer een van deze situaties op jouw project van toepassing is:

* Je gebruikt al OpenAI SDK's of Chat Completions-aanvraagstructuren.
* Je wilt de base URL omzetten naar CometAPI.
* Je wilt een CometAPI model ID aanroepen via een OpenAI API-compatibele route.

## Vereisten

* Een CometAPI API key opgeslagen in `COMETAPI_KEY`
* Een tekst-model ID van de [Models-pagina](/nl/overview/models)
* `curl`, Python 3.10+ of Node.js 18+

## API key, base URL, authenticatie

Gebruik de CometAPI base URL met OpenAI-compatibele clients:

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

Authenticeer directe HTTP-aanvragen met een Bearer-token:

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

## Codevoorbeelden

Gebruik de tabbladen hieronder om dezelfde Chat Completions-aanvraag te versturen met cURL, Python en 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>

## Uitleg van de flow

OpenAI-compatibel betekent dat je applicatie het Chat Completions-endpoint, de aanvraagbody en de SDK-methodenamen behoudt, terwijl je de base URL en model ID wijzigt naar CometAPI-waarden.

De route is standaard synchroon. De API retourneert het voltooide response-object in één HTTP-response, en je applicatie leest `choices[0].message.content`.

Voor incrementele output stel je `stream` in op `true`. De response wordt dan Server-Sent Events en eindigt met `data: [DONE]`. Gebruik streaming voor chatinterfaces en lange responses. Behoud de synchrone vorm voor background jobs en eenvoudige tests.

## Algemene parameters

| Parameter               | Gebruik                                                                                  |
| ----------------------- | ---------------------------------------------------------------------------------------- |
| `model`                 | Het CometAPI model ID voor een model dat tekst ondersteunt.                              |
| `messages`              | De conversatie-array. Begin met één `user`-bericht voor een minimale aanvraag.           |
| `temperature`           | Regelt willekeur. Lagere waarden maken output deterministischer.                         |
| `max_completion_tokens` | Begrenst gegenereerde output voor modelfamilies die completion-tokenbudgetten gebruiken. |
| `stream`                | Streamt incrementele response-chunks wanneer ingesteld op `true`.                        |
| `response_format`       | Vraagt JSON-output aan wanneer het geselecteerde model dit ondersteunt.                  |

## Problemen oplossen en FAQ

<AccordionGroup>
  <Accordion title="Is dit de OpenAI API?">
    Nee. Dit is de OpenAI-compatibele API-route van CometAPI. Je gebruikt een CometAPI API-sleutel, de CometAPI-basis-URL en een CometAPI model ID.
  </Accordion>

  <Accordion title="De aanvraag retourneert 401">
    Bevestig dat `COMETAPI_KEY` is ingesteld in dezelfde shell of runtime die de aanvraag verstuurt. Plak geen echte sleutel in bronbestanden.
  </Accordion>

  <Accordion title="Het model is niet gevonden">
    Gebruik een CometAPI model ID dat tekst- of chataanvragen ondersteunt. Controleer de Models-pagina voordat je het opnieuw probeert.
  </Accordion>

  <Accordion title="De SDK roept nog steeds OpenAI aan">
    Bevestig dat de client `base_url` in Python of `baseURL` in Node.js instelt op `https://api.cometapi.com/v1`.
  </Accordion>
</AccordionGroup>

## Volgende stappen

* Lees de [Chat Completions API-referentie](/api/text/chat).
* Configureer SDK-clients in [Gebruik CometAPI met OpenAI SDK's](/nl/guides/use-cometapi-with-openai-sdk).
* Toon beschikbare modellen met [Beschikbare CometAPI-modellen weergeven](/nl/guides/how-to-list-available-models).
* Voeg retry- en rate-limit-afhandeling toe met [Foutcodes en retry-strategie](/nl/guides/error-codes-and-retry-strategy).
