> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Vercel AI SDK

> **Note**
>
> **Handleiding** · Hierbij wordt ervan uitgegaan dat je de [Speech to Text- quickstart](/docs/nl/eleven-api/guides/cookbooks/speech-to-text) hebt voltooid en een Vercel-project hebt ingesteld.

# ElevenLabs Provider

De [ElevenLabs provider](https://ai-sdk.dev/providers/ai-sdk-providers/elevenlabs) biedt ondersteuning voor de [ElevenLabs-transcriptie-API](https://elevenlabs.io/speech-to-text).

## Instellen

De ElevenLabs provider is beschikbaar in de module `@ai-sdk/elevenlabs`. Je kunt deze met npm installeren:

```npm
npm install @ai-sdk/elevenlabs
```

## Providerinstance

Je kunt de standaardproviderinstance `elevenlabs` importeren vanuit `@ai-sdk/elevenlabs`:

```ts
import { elevenlabs } from "@ai-sdk/elevenlabs";
```

Als je een aangepaste configuratie nodig hebt, kun je `createElevenLabs` importeren vanuit `@ai-sdk/elevenlabs` en een providerinstance maken met je instellingen:

```ts
import { createElevenLabs } from "@ai-sdk/elevenlabs";

const elevenlabs = createElevenLabs({
  // custom settings, e.g.
  fetch: customFetch,
});
```

Je kunt de volgende optionele instellingen gebruiken om de ElevenLabs-providerinstance aan te passen:

* **apiKey** *string*

  API-sleutel die via de header `Authorization` wordt verzonden.
  Standaard wordt de omgevingsvariabele `ELEVENLABS_API_KEY` gebruikt.

* **headers** *Record\<string,string>*

  Aangepaste headers die in de requests moeten worden opgenomen.

* **fetch** *(input: RequestInfo, init?: RequestInit) => Promise\<Response>*

  Aangepaste implementatie van [fetch](https://developer.mozilla.org/en-US/docs/Web/API/fetch).
  Standaard wordt de globale functie `fetch` gebruikt.
  Je kunt deze als middleware gebruiken om requests te onderscheppen,
  of om bijvoorbeeld een aangepaste fetch-implementatie voor tests te bieden.

## Transcriptiemodellen

Je kunt modellen maken die de [ElevenLabs-transcriptie-API](https://elevenlabs.io/speech-to-text) aanroepen
met de factorymethode `.transcription()`.

Het eerste argument is de model-id, bijvoorbeeld `scribe_v2`.

```ts
const model = elevenlabs.transcription("scribe_v2");
```

Je kunt ook aanvullende providerspecifieke opties doorgeven met het argument `providerOptions`. Als je bijvoorbeeld vooraf de invoertaal in de indeling ISO-639-1 (bijv. `en`) opgeeft, kan dat de transcriptieprestaties soms verbeteren.

```ts {7}
import { elevenlabs } from "@ai-sdk/elevenlabs";
import { experimental_transcribe as transcribe } from "ai";

const result = await transcribe({
  model: elevenlabs.transcription("scribe_v2"),
  audio: new Uint8Array([1, 2, 3, 4]),
  providerOptions: { elevenlabs: { languageCode: "en" } },
});
```

De volgende provideropties zijn beschikbaar:

* **languageCode** *string*

  Een ISO-639-1- of ISO-639-3-taalcode die overeenkomt met de taal van het audiobestand.
  Kan de transcriptieprestaties soms verbeteren als deze vooraf bekend is.
  Standaard is dit `null`; in dat geval wordt de taal automatisch voorspeld.

* **tagAudioEvents** *boolean*

  Of audiogebeurtenissen zoals (gelach), (voetstappen) enzovoort in de transcriptie moeten worden getagd.
  Standaard is dit `true`.

* **numSpeakers** *integer*

  Het maximale aantal sprekers in het geüploade bestand.
  Kan helpen voorspellen wie wanneer spreekt.
  Het maximale aantal sprekers dat kan worden voorspeld is 32.
  Standaard is dit `null`; in dat geval wordt het aantal sprekers ingesteld op de maximale waarde die het model ondersteunt.

* **timestampsGranularity** *enum*

  De granulariteit van de tijdstempels in de transcriptie.
  Standaard is dit `'word'`.
  Toegestane waarden: `'none'`, `'word'`, `'character'`.

* **diarize** *boolean*

  Of moet worden geannoteerd welke spreker momenteel in het geüploade bestand spreekt.
  Standaard is dit `true`.

* **fileFormat** *enum*

  De indeling van de invoeraudio.
  Standaard is dit `'other'`.
  Toegestane waarden: `'pcm_s16le_16'`, `'other'`.
  Voor `'pcm_s16le_16'` moet de invoeraudio 16-bits PCM met een samplefrequentie van 16 kHz, één kanaal (mono) en little-endian bytevolgorde zijn.
  De latency is lager dan bij het doorgeven van een gecodeerde waveform.

## Volgende stappen

#### [Server-side streaming](/docs/nl/eleven-api/guides/how-to/speech-to-text/realtime/server-side-streaming)

Transcribeer audio realtime met de streaming-API op basis van WebSocket.

#### [API-referentie](/docs/nl/api-reference/speech-to-text)

Volledige Speech to Text API-referentie en parameters.