Vercel AI SDK
Usa el proveedor de ElevenLabs en Vercel AI SDK para transcribir voz de archivos de audio y vídeo.
Guía práctica · Da por hecho que has completado la guía de inicio rápido de Voz a Texto y que tienes un proyecto de Vercel configurado.
Proveedor de ElevenLabs
El proveedor de ElevenLabs ofrece compatibilidad con la API de transcripción de ElevenLabs.
Configuración
El proveedor de ElevenLabs está disponible en el módulo @ai-sdk/elevenlabs. Puedes instalarlo con npm:
Instancia del proveedor
Puedes importar la instancia predeterminada del proveedor, elevenlabs, desde @ai-sdk/elevenlabs:
Si necesitas una configuración personalizada, puedes importar createElevenLabs desde @ai-sdk/elevenlabs y crear una instancia del proveedor con tus ajustes:
Puedes usar los siguientes ajustes opcionales para personalizar la instancia del proveedor de ElevenLabs:
-
apiKey string
Clave de API que se envía mediante la cabecera
Authorization. De forma predeterminada, usa la variable de entornoELEVENLABS_API_KEY. -
headers Record<string,string>
Cabeceras personalizadas que se incluirán en las solicitudes.
-
fetch (input: RequestInfo, init?: RequestInit) => Promise<Response>
Implementación personalizada de fetch. De forma predeterminada, usa la función global
fetch. Puedes usarla como middleware para interceptar solicitudes o para proporcionar una implementación personalizada de fetch, por ejemplo, para pruebas.
Modelos de transcripción
Puedes crear modelos que llamen a la API de transcripción de ElevenLabs
mediante el método de fábrica .transcription().
El primer argumento es el ID del modelo, por ejemplo, scribe_v2.
También puedes pasar opciones adicionales específicas del proveedor mediante el argumento providerOptions. Por ejemplo, indicar el idioma de entrada en formato ISO-639-1 (por ejemplo, en) puede mejorar a veces el rendimiento de la transcripción si se conoce de antemano.
Están disponibles las siguientes opciones del proveedor:
-
languageCode string
Un código de idioma ISO-639-1 o ISO-639-3 correspondiente al idioma del archivo de audio. Puede mejorar a veces el rendimiento de la transcripción si se conoce de antemano. De forma predeterminada, es
null, en cuyo caso el idioma se predice automáticamente. -
tagAudioEvents boolean
Indica si se deben etiquetar eventos de audio como (risas), (pasos), etc. en la transcripción. De forma predeterminada, es
true. -
numSpeakers integer
El número máximo de hablantes que intervienen en el archivo subido. Puede ayudar a predecir quién habla en cada momento. El número máximo de hablantes que se puede predecir es 32. De forma predeterminada, es
null, en cuyo caso el número de hablantes se establece en el valor máximo compatible con el modelo. -
timestampsGranularity enum
La granularidad de las marcas de tiempo en la transcripción. De forma predeterminada, es
'word'. Valores permitidos:'none','word','character'. -
diarize boolean
Indica si se debe anotar qué hablante está hablando en ese momento en el archivo subido. De forma predeterminada, es
true. -
fileFormat enum
El formato del audio de entrada. De forma predeterminada, es
'other'. Valores permitidos:'pcm_s16le_16','other'. Para'pcm_s16le_16', el audio de entrada debe ser PCM de 16 bits con una frecuencia de muestreo de 16 kHz, un solo canal (mono) y orden de bytes little-endian. La latencia será menor que al pasar una forma de onda codificada.