> 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**
>
> **Guida pratica** · Presuppone che tu abbia completato la [guida rapida di Speech to Text ](/docs/it/eleven-api/guides/cookbooks/speech-to-text) e abbia configurato un progetto Vercel.

# Provider ElevenLabs

Il [provider ElevenLabs](https://ai-sdk.dev/providers/ai-sdk-providers/elevenlabs) supporta l'[API di trascrizione ElevenLabs](https://elevenlabs.io/speech-to-text).

## Configurazione

Il provider ElevenLabs è disponibile nel modulo `@ai-sdk/elevenlabs`. Puoi installarlo con npm:

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

## Istanza del provider

Puoi importare l'istanza predefinita del provider `elevenlabs` da `@ai-sdk/elevenlabs`:

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

Se hai bisogno di una configurazione personalizzata, puoi importare `createElevenLabs` da `@ai-sdk/elevenlabs` e creare un'istanza del provider con le tue impostazioni:

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

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

Puoi usare le seguenti impostazioni facoltative per personalizzare l'istanza del provider ElevenLabs:

* **apiKey** *string*

  Chiave API inviata tramite l'header `Authorization`.
  Per impostazione predefinita, usa la variabile d'ambiente `ELEVENLABS_API_KEY`.

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

  Header personalizzati da includere nelle richieste.

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

  Implementazione personalizzata di [fetch](https://developer.mozilla.org/en-US/docs/Web/API/fetch).
  Per impostazione predefinita, usa la funzione globale `fetch`.
  Puoi usarla come middleware per intercettare le richieste
  oppure per fornire un'implementazione fetch personalizzata, ad esempio per i test.

## Modelli di trascrizione

Puoi creare modelli che chiamano l'[API di trascrizione ElevenLabs](https://elevenlabs.io/speech-to-text)
usando il metodo factory `.transcription()`.

Il primo argomento è l'ID del modello, ad esempio `scribe_v2`.

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

Puoi anche passare opzioni aggiuntive specifiche del provider usando l'argomento `providerOptions`. Ad esempio, fornire la lingua di input nel formato ISO-639-1, ad esempio `en`, può talvolta migliorare le prestazioni di trascrizione se la conosci in anticipo.

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

Sono disponibili le seguenti opzioni del provider:

* **languageCode** *string*

  Codice lingua ISO-639-1 o ISO-639-3 corrispondente alla lingua del file audio.
  Può talvolta migliorare le prestazioni di trascrizione se la conosci in anticipo.
  Per impostazione predefinita è `null`, nel qual caso la lingua viene prevista automaticamente.

* **tagAudioEvents** *boolean*

  Indica se contrassegnare nella trascrizione eventi audio come (risate), (passi) e così via.
  Per impostazione predefinita è `true`.

* **numSpeakers** *integer*

  Il numero massimo di persone che parlano nel file caricato.
  Può aiutare a prevedere chi parla e quando.
  Il numero massimo di parlanti che può essere previsto è 32.
  Per impostazione predefinita è `null`, nel qual caso il numero di parlanti è impostato sul valore massimo supportato dal modello.

* **timestampsGranularity** *enum*

  La granularità dei timestamp nella trascrizione.
  Per impostazione predefinita è `'word'`.
  Valori consentiti: `'none'`, `'word'`, `'character'`.

* **diarize** *boolean*

  Indica se annotare quale parlante sta parlando nel file caricato.
  Per impostazione predefinita è `true`.

* **fileFormat** *enum*

  Il formato dell'audio di input.
  Per impostazione predefinita è `'other'`.
  Valori consentiti: `'pcm_s16le_16'`, `'other'`.
  Per `'pcm_s16le_16'`, l'audio di input deve essere PCM a 16 bit con frequenza di campionamento di 16 kHz, canale singolo (mono) e ordine dei byte little-endian.
  La latenza sarà inferiore rispetto al passaggio di una forma d'onda codificata.

## Passaggi successivi

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

Trascrivi l'audio in tempo reale usando l'API di streaming basata su WebSocket.

#### [Riferimento API](/docs/it/api-reference/speech-to-text)

Riferimento completo dell'API Speech to Text e relativi parametri.