> 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**
>
> **Poradnik** · Zakłada, że masz za sobą [szybki start ze Speech to Text ](/docs/pl/eleven-api/guides/cookbooks/speech-to-text) i skonfigurowany projekt Vercel.

# Provider ElevenLabs

[Provider ElevenLabs](https://ai-sdk.dev/providers/ai-sdk-providers/elevenlabs) obsługuje [API transkrypcji ElevenLabs](https://elevenlabs.io/speech-to-text).

## Konfiguracja

Provider ElevenLabs jest dostępny w module `@ai-sdk/elevenlabs`. Możesz go zainstalować przez npm:

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

## Instancja providera

Możesz zaimportować domyślną instancję providera `elevenlabs` z `@ai-sdk/elevenlabs`:

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

Jeśli potrzebujesz własnej konfiguracji, możesz zaimportować `createElevenLabs` z `@ai-sdk/elevenlabs` i utworzyć instancję providera z wybranymi ustawieniami:

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

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

Aby dostosować instancję providera ElevenLabs, możesz użyć tych opcjonalnych ustawień:

* **apiKey** *string*

  Klucz API wysyłany w nagłówku `Authorization`.
  Domyślnie używana jest zmienna środowiskowa `ELEVENLABS_API_KEY`.

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

  Własne nagłówki do uwzględnienia w żądaniach.

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

  Własna implementacja [fetch](https://developer.mozilla.org/en-US/docs/Web/API/fetch).
  Domyślnie używa globalnej funkcji `fetch`.
  Możesz użyć jej jako middleware do przechwytywania żądań
  lub zapewnić własną implementację fetch, na przykład do testów.

## Modele transkrypcji

Możesz tworzyć modele wywołujące [API transkrypcji ElevenLabs](https://elevenlabs.io/speech-to-text)
za pomocą metody fabrycznej `.transcription()`.

Pierwszy argument to identyfikator modelu, np. `scribe_v2`.

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

Możesz też przekazać dodatkowe opcje specyficzne dla providera przez argument `providerOptions`. Na przykład podanie języka wejściowego w formacie ISO-639-1 (np. `en`) może czasem poprawić jakość transkrypcji, jeśli znasz go z góry.

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

Dostępne są następujące opcje providera:

* **languageCode** *string*

  Kod języka ISO-639-1 lub ISO-639-3 odpowiadający językowi pliku audio.
  Może czasem poprawić jakość transkrypcji, jeśli znasz go z góry.
  Domyślnie: `null`, wtedy język jest wykrywany automatycznie.

* **tagAudioEvents** *boolean*

  Określa, czy w transkrypcji oznaczać zdarzenia audio, takie jak (śmiech), (kroki) itp.
  Domyślnie: `true`.

* **numSpeakers** *integer*

  Maksymalna liczba mówców w przesłanym pliku.
  Może pomóc przewidzieć, kto mówi w danym momencie.
  Maksymalna liczba wykrywanych mówców to 32.
  Domyślnie: `null`, wtedy liczba mówców jest ustawiana na maksymalną wartość obsługiwaną przez model.

* **timestampsGranularity** *enum*

  Szczegółowość znaczników czasu w transkrypcji.
  Domyślnie: `'word'`.
  Dozwolone wartości: `'none'`, `'word'`, `'character'`.

* **diarize** *boolean*

  Określa, czy oznaczać, który mówca aktualnie mówi w przesłanym pliku.
  Domyślnie: `true`.

* **fileFormat** *enum*

  Format wejściowego audio.
  Domyślnie: `'other'`.
  Dozwolone wartości: `'pcm_s16le_16'`, `'other'`.
  Dla `'pcm_s16le_16'` wejściowe audio musi być 16-bitowym PCM o częstotliwości próbkowania 16 kHz, z jednym kanałem (mono) i kolejnością bajtów little-endian.
  Opóźnienie będzie mniejsze niż przy przesyłaniu zakodowanego przebiegu.

## Kolejne kroki

#### [Streaming po stronie serwera](/docs/pl/eleven-api/guides/how-to/speech-to-text/realtime/server-side-streaming)

Transkrybuj audio w czasie rzeczywistym przez streamingowe API oparte na WebSocket.

#### [Dokumentacja API](/docs/pl/api-reference/speech-to-text)

Pełna dokumentacja API Speech to Text i parametry.