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

# SDK IA de Vercel

> **Note**
>
> **Guide pratique** · Suppose que vous avez suivi le [guide de démarrage rapide de Speech to Text ](/docs/fr/eleven-api/guides/cookbooks/speech-to-text) et configuré un projet Vercel.

# Fournisseur ElevenLabs

Le [fournisseur ElevenLabs](https://ai-sdk.dev/providers/ai-sdk-providers/elevenlabs) prend en charge l’[API de transcription ElevenLabs](https://elevenlabs.io/speech-to-text).

## Configuration

Le fournisseur ElevenLabs est disponible dans le module `@ai-sdk/elevenlabs`. Vous pouvez l’installer avec npm :

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

## Instance de fournisseur

Vous pouvez importer l’instance de fournisseur par défaut `elevenlabs` depuis `@ai-sdk/elevenlabs` :

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

Si vous avez besoin d’une configuration personnalisée, vous pouvez importer `createElevenLabs` depuis `@ai-sdk/elevenlabs` et créer une instance de fournisseur avec vos paramètres :

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

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

Vous pouvez utiliser les paramètres facultatifs suivants pour personnaliser l’instance du fournisseur ElevenLabs :

* **apiKey** *string*

  Clé API envoyée via l’en-tête `Authorization`.
  Utilise par défaut la variable d’environnement `ELEVENLABS_API_KEY`.

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

  En-têtes personnalisés à inclure dans les requêtes.

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

  Implémentation personnalisée de [fetch](https://developer.mozilla.org/en-US/docs/Web/API/fetch).
  Utilise par défaut la fonction globale `fetch`.
  Vous pouvez l’utiliser comme middleware pour intercepter les requêtes
  ou fournir une implémentation fetch personnalisée, par exemple pour les tests.

## Modèles de transcription

Vous pouvez créer des modèles qui appellent l’[API de transcription ElevenLabs](https://elevenlabs.io/speech-to-text)
avec la méthode de fabrique `.transcription()`.

Le premier argument est l’identifiant du modèle, par exemple `scribe_v2`.

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

Vous pouvez également transmettre des options supplémentaires propres au fournisseur via l’argument `providerOptions`. Par exemple, fournir la langue d’entrée au format ISO-639-1 (par exemple `en`) peut parfois améliorer les performances de transcription si elle est connue à l’avance.

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

Les options de fournisseur suivantes sont disponibles :

* **languageCode** *string*

  Code de langue ISO-639-1 ou ISO-639-3 correspondant à la langue du fichier audio.
  Peut parfois améliorer les performances de transcription s’il est connu à l’avance.
  Utilise par défaut `null`, auquel cas la langue est prédite automatiquement.

* **tagAudioEvents** *boolean*

  Indique s’il faut baliser les événements audio tels que (rires), (pas), etc. dans la transcription.
  Utilise par défaut `true`.

* **numSpeakers** *integer*

  Nombre maximal de locuteurs dans le fichier importé.
  Peut aider à prédire qui parle à quel moment.
  Le nombre maximal de locuteurs pouvant être prédit est de 32.
  Utilise par défaut `null`, auquel cas le nombre de locuteurs est défini sur la valeur maximale prise en charge par le modèle.

* **timestampsGranularity** *enum*

  La granularité des horodatages dans la transcription.
  Utilise par défaut `'word'`.
  Valeurs autorisées : `'none'`, `'word'`, `'character'`.

* **diarize** *boolean*

  Indique s’il faut annoter le locuteur qui parle actuellement dans le fichier importé.
  Utilise par défaut `true`.

* **fileFormat** *enum*

  Le format de l’audio d’entrée.
  Utilise par défaut `'other'`.
  Valeurs autorisées : `'pcm_s16le_16'`, `'other'`.
  Pour `'pcm_s16le_16'`, l’audio d’entrée doit être au format PCM 16 bits, avec une fréquence d’échantillonnage de 16 kHz, un seul canal (mono) et un ordre des octets petit-boutiste.
  La latence sera inférieure à celle obtenue en transmettant une forme d’onde encodée.

## Étapes suivantes

#### [Streaming côté serveur](/docs/fr/eleven-api/guides/how-to/speech-to-text/realtime/server-side-streaming)

Transcrivez l’audio en temps réel avec l’API de streaming basée sur WebSocket.

#### [Guide de l’API](/docs/fr/api-reference/speech-to-text)

Guide complet de l’API Speech to Text et de ses paramètres.