SDK IA de Vercel

Utilisez le fournisseur ElevenLabs du SDK IA de Vercel pour transcrire la parole à partir de fichiers audio et vidéo.

Guide pratique · Suppose que vous avez suivi le guide de démarrage rapide de Speech to Text et configuré un projet Vercel.

Fournisseur ElevenLabs

Le fournisseur ElevenLabs prend en charge l’API de transcription ElevenLabs.

Configuration

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

npm install @ai-sdk/elevenlabs

Instance de fournisseur

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

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 :

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. 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 avec la méthode de fabrique .transcription().

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

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.

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