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

# Gebruik AI SDK met CometAPI

> Gebruik deze handleiding om AI SDK met CometAPI te configureren door de base URL, API key en model- of provideropties in te stellen.

De [CometAPI-provider voor de AI SDK](https://github.com/cometapi-dev/ai-sdk-provider) geeft je toegang tot meer dan 500 AI-modellen via een uniforme TypeScript-interface. Gebruik deze om tekstgeneratie, streaming, embeddings en beeldgeneratie toe te voegen aan elke Node.js- of Edge-runtimeapplicatie.

## Ondersteunde functies

| Functie         | Methode                | Status      |
| --------------- | ---------------------- | ----------- |
| Tekstgeneratie  | `generateText()`       | Ondersteund |
| Tekststreaming  | `streamText()`         | Ondersteund |
| Tekstembeddings | `textEmbeddingModel()` | Ondersteund |
| Beeldgeneratie  | `imageModel()`         | Ondersteund |

## Vereisten

* Node.js 18+
* Een CometAPI-account met een actieve API key — [haal die hier op](https://www.cometapi.com/console/token)

<Steps>
  <Step title="Installeer de provider">
    Installeer `@cometapi/ai-sdk-provider` samen met het AI SDK-kernpakket:

    <CodeGroup>
      ```bash npm theme={null}
      npm install @cometapi/ai-sdk-provider ai
      ```

      ```bash pnpm theme={null}
      pnpm add @cometapi/ai-sdk-provider ai
      ```

      ```bash yarn theme={null}
      yarn add @cometapi/ai-sdk-provider ai
      ```
    </CodeGroup>
  </Step>

  <Step title="Stel je API key in">
    De provider leest standaard de omgevingsvariabele `COMETAPI_KEY`:

    ```bash theme={null}
    read -rsp "CometAPI API key: " COMETAPI_KEY
    printf '\n'
    export COMETAPI_KEY
    ```

    <Note>
      Gebruik omgevingsvariabelen om te voorkomen dat credentials hardcoded in je broncode komen te staan.
    </Note>
  </Step>

  <Step title="Importeer de provider">
    Importeer de standaard providerinstantie:

    ```typescript theme={null}
    import { cometapi } from '@cometapi/ai-sdk-provider';
    ```

    Gebruik `createCometAPI` om de API key, base URL of andere instellingen te overschrijven:

    ```typescript theme={null}
    import { createCometAPI } from '@cometapi/ai-sdk-provider';

    const cometapi = createCometAPI({
      apiKey: process.env.COMETAPI_KEY,       // override env variable
      baseURL: 'https://api.cometapi.com/v1',  // default
    });
    ```
  </Step>
</Steps>

## Gebruik

### Genereer tekst

Gebruik `generateText()` voor een eenmalige respons:

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';
import { generateText } from 'ai';

const { text } = await generateText({
  model: cometapi('your-model-id'),
  prompt: 'What is CometAPI?',
});

console.log(text);
```

### Stream tekst

Gebruik `streamText()` voor realtime output in chunks:

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';
import { streamText } from 'ai';

const result = streamText({
  model: cometapi('your-model-id'),
  prompt: 'Write a short story about AI.',
});

for await (const chunk of result.textStream) {
  process.stdout.write(chunk);
}
```

### Genereer embeddings

Gebruik `textEmbeddingModel()` om vector embeddings te maken:

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';

const model = cometapi.textEmbeddingModel('text-embedding-3-small');

// Single embedding
const single = await model.doEmbed({ values: ['Hello, world!'] });
console.log('Dimensions:', single.embeddings[0].length);

// Batch embeddings
const batch = await model.doEmbed({
  values: ['sunny day', 'rainy afternoon', 'cold winter night'],
});
console.log('Count:', batch.embeddings.length);
```

### Genereer afbeeldingen

Gebruik `imageModel()` om afbeeldingen te genereren op basis van tekstprompts:

```typescript theme={null}
import { cometapi } from '@cometapi/ai-sdk-provider';
import { experimental_generateImage as generateImage } from 'ai';

const { image } = await generateImage({
  model: cometapi.imageModel('your-model-id'),
  prompt: 'A beautiful sunset over mountains',
});
```

## Providerconfiguratie

`createCometAPI` accepteert de volgende opties:

| Optie     | Type                     | Standaard                     | Beschrijving                   |
| --------- | ------------------------ | ----------------------------- | ------------------------------ |
| `apiKey`  | `string`                 | `process.env.COMETAPI_KEY`    | CometAPI API-sleutel           |
| `baseURL` | `string`                 | `https://api.cometapi.com/v1` | Basis-URL van de API           |
| `headers` | `Record<string, string>` | —                             | Aangepaste requestheaders      |
| `fetch`   | `FetchFunction`          | —                             | Aangepaste fetch-implementatie |

## Modelmethoden

De provider biedt verschillende modelconstructors:

| Methode                                | Retourneert        | Gebruiksscenario                            |
| -------------------------------------- | ------------------ | ------------------------------------------- |
| `cometapi(modelId)`                    | `LanguageModelV2`  | Tekstgeneratie en Streaming (verkorte vorm) |
| `cometapi.chatModel(modelId)`          | `LanguageModelV2`  | Chat completions                            |
| `cometapi.completionModel(modelId)`    | `LanguageModelV2`  | Tekstcompletions                            |
| `cometapi.languageModel(modelId)`      | `LanguageModelV2`  | Alias voor `chatModel`                      |
| `cometapi.textEmbeddingModel(modelId)` | `EmbeddingModelV2` | Tekstembeddings                             |
| `cometapi.imageModel(modelId)`         | `ImageModelV2`     | Afbeeldingsgeneratie                        |

Bekijk de volledige lijst met beschikbare model ID's op de [Models page](/nl/overview/models).

<AccordionGroup>
  <Accordion title="Tips en probleemoplossing">
    * **Modelselectie**: Elk model uit de [CometAPI model catalog](/nl/overview/models) werkt met de bijbehorende modelmethode — chatmodellen via `cometapi()`, embeddingmodellen via `textEmbeddingModel()`, afbeeldingsmodellen via `imageModel()`.
    * **Fine-tuning van responses**: Geef `temperature`, `maxTokens` en `topP` direct door aan `generateText()` of `streamText()`, bijvoorbeeld `generateText(\{..., temperature: 0.7\})`.
    * **Foutafhandeling**: Omwikkel aanroepen met `try/catch` om authenticatiefouten, rate limits of netwerkproblemen af te handelen.
    * **Beveiliging**: Commit API-sleutels nooit naar versiebeheer. Gebruik omgevingsvariabelen of een secrets manager.
    * **Rate limits**: Monitor het gebruik in de [CometAPI console](https://www.cometapi.com/console).
  </Accordion>
</AccordionGroup>

## Gerelateerde bronnen

* [CometAPI AI SDK Provider op GitHub](https://github.com/cometapi-dev/ai-sdk-provider)
* [@cometapi/ai-sdk-provider op npm](https://www.npmjs.com/package/@cometapi/ai-sdk-provider)
* [AI SDK-documentatie](https://ai-sdk.dev/docs)
* [CometAPI-snelstartgids](/nl/overview/quick-start)

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#howto",
        "name": "AI SDK gebruiken met CometAPI",
        "description": "Gebruik deze handleiding om AI SDK met CometAPI te configureren door de basis-URL, API-sleutel en model- of provideropties in te stellen.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-1",
            "position": 1,
            "name": "De provider installeren",
            "text": "Voltooi de stap De provider installeren in de handleiding AI SDK gebruiken met CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-2",
            "position": 2,
            "name": "Je API-sleutel instellen",
            "text": "Sla je CometAPI API-sleutel op in de omgevingsvariabele of het instellingenveld dat door de integratie wordt gebruikt."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/ai-sdk#step-3",
            "position": 3,
            "name": "De provider importeren",
            "text": "Voltooi de stap De provider importeren in de handleiding AI SDK gebruiken met CometAPI."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "CometAPI-documentatie",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Integraties",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "AI SDK gebruiken met CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/ai-sdk"
          }
        ]
      }
    ]
    }
    `}
</script>
