> 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**
>
> **Anleitung** · Setzt voraus, dass Sie den [Speech to Text Schnellstart](/docs/de/eleven-api/guides/cookbooks/speech-to-text) abgeschlossen und ein Vercel-Projekt eingerichtet haben.

# ElevenLabs Provider

Der [ElevenLabs Provider](https://ai-sdk.dev/providers/ai-sdk-providers/elevenlabs) unterstützt die [ElevenLabs Transcription API](https://elevenlabs.io/speech-to-text).

## Einrichtung

Der ElevenLabs Provider ist im Modul `@ai-sdk/elevenlabs` verfügbar. Sie können ihn mit npm installieren:

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

## Provider-Instanz

Sie können die Standard-Provider-Instanz `elevenlabs` aus `@ai-sdk/elevenlabs` importieren:

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

Wenn Sie eine angepasste Einrichtung benötigen, können Sie `createElevenLabs` aus `@ai-sdk/elevenlabs` importieren und mit Ihren Einstellungen eine Provider-Instanz erstellen:

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

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

Mit den folgenden optionalen Einstellungen können Sie die ElevenLabs Provider-Instanz anpassen:

* **apiKey** *string*

  API-Schlüssel, der über den Header `Authorization` gesendet wird.
  Standardmäßig wird die Umgebungsvariable `ELEVENLABS_API_KEY` verwendet.

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

  Benutzerdefinierte Header, die in die Anfragen aufgenommen werden.

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

  Benutzerdefinierte [fetch](https://developer.mozilla.org/en-US/docs/Web/API/fetch)-Implementierung.
  Standardmäßig wird die globale Funktion `fetch` verwendet.
  Sie können sie als Middleware verwenden, um Anfragen abzufangen,
  oder etwa eine benutzerdefinierte Fetch-Implementierung für Tests bereitzustellen.

## Transkriptionsmodelle

Mit der Factory-Methode `.transcription()` können Sie Modelle erstellen, die die [ElevenLabs Transcription API](https://elevenlabs.io/speech-to-text)
aufrufen.

Das erste Argument ist die Modell-ID, z. B. `scribe_v2`.

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

Über das Argument `providerOptions` können Sie auch zusätzliche Provider-spezifische Optionen übergeben. Wenn die Eingabesprache im ISO-639-1-Format (z. B. `en`) im Voraus bekannt ist, kann ihre Angabe die Transkriptionsleistung mitunter verbessern.

```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" } },
});
```

Folgende Provider-Optionen sind verfügbar:

* **languageCode** *string*

  Ein ISO-639-1- oder ISO-639-3-Sprachcode, der der Sprache der Audiodatei entspricht.
  Kann die Transkriptionsleistung mitunter verbessern, wenn er im Voraus bekannt ist.
  Standardmäßig `null`; in diesem Fall wird die Sprache automatisch vorhergesagt.

* **tagAudioEvents** *boolean*

  Gibt an, ob Audioereignisse wie (Lachen), (Schritte) usw. in der Transkription markiert werden.
  Standardmäßig `true`.

* **numSpeakers** *integer*

  Die maximale Anzahl von Sprechern in der hochgeladenen Datei.
  Kann helfen vorherzusagen, wer wann spricht.
  Es können maximal 32 Sprecher vorhergesagt werden.
  Standardmäßig `null`; in diesem Fall wird die Sprecheranzahl auf den maximal vom Modell unterstützten Wert gesetzt.

* **timestampsGranularity** *enum*

  Die Granularität der Zeitstempel in der Transkription.
  Standardmäßig `'word'`.
  Zulässige Werte: `'none'`, `'word'`, `'character'`.

* **diarize** *boolean*

  Gibt an, ob markiert werden soll, welcher Sprecher gerade in der hochgeladenen Datei spricht.
  Standardmäßig `true`.

* **fileFormat** *enum*

  Das Format des Eingabeaudios.
  Standardmäßig `'other'`.
  Zulässige Werte: `'pcm_s16le_16'`, `'other'`.
  Für `'pcm_s16le_16'` muss das Eingabeaudio 16-Bit-PCM mit einer Abtastrate von 16 kHz, einem Kanal (Mono) und Little-Endian-Byte-Reihenfolge sein.
  Die Latenz ist geringer als beim Übergeben einer kodierten Wellenform.

## Nächste Schritte

#### [Serverseitiges Streaming](/docs/de/eleven-api/guides/how-to/speech-to-text/realtime/server-side-streaming)

Transkribieren Sie Audio in Echtzeit mit der WebSocket-basierten Streaming-API.

#### [API-Referenz](/docs/de/api-reference/speech-to-text)

Vollständige Speech to Text API-Referenz und Parameter.