Passer à la navigation

SDK IA de Vercel

Utilisez le Provider ElevenLabs dans le 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 que vous avez configuré un projet Vercel.

Provider ElevenLabs

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

Configuration

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

npm install @ai-sdk/elevenlabs

Instance du provider

Vous pouvez importer l’instance de provider 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 provider 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 provider ElevenLabs :

  • apiKey string

    Clé API envoyée avec 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 à l’aide de la méthode de fabrique .transcription().

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

const model = elevenlabs.transcription("scribe_v3");

Vous pouvez également transmettre des options supplémentaires spécifiques au provider avec 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_v3"),
audio: new Uint8Array([1, 2, 3, 4]),
providerOptions: { elevenlabs: { languageCode: "en" } },
});

Les options de provider 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 dans la transcription les événements audio tels que (rires), (pas), etc. Utilise par défaut true.

  • numSpeakers integer

    Nombre maximal de locuteurs dans le fichier importé. Peut aider à déterminer 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

    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

    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 d’octets petit-boutiste. La latence sera plus faible qu’avec une forme d’onde encodée.

Étapes suivantes