Convertir texto en audio con voz natural, acento preciso y detección automática de idioma es posible con apenas unas líneas de código. Al conectar un proyecto con la API de Eleven Labs, el resultado no solo se ve en la terminal: se escucha. A continuación, se explica paso a paso cómo configurar el entorno, instalar dependencias y ejecutar la primera conversión de texto a voz.
¿Cómo preparar el proyecto para usar la API de Eleven Labs?
El punto de partida es la documentación oficial de Eleven Labs, específicamente la sección Quick Start dentro del panel de Eleven API [0:38]. Allí se describen los pasos necesarios para poner en marcha el proyecto.
- Generar la API Key desde el panel de Eleven Labs (paso completado previamente).
- Almacenar esa clave en un archivo de variables de entorno: puede ser
.env o .env.local, según preferencia personal [1:00].
- Instalar el SDK de Eleven Labs para JavaScript o TypeScript mediante el gestor de paquetes del proyecto [1:14].
Para cargar la API Key desde las variables de entorno, Eleven Labs recomienda usar la librería dotenv. Sin embargo, si trabajas con Bun JS, no necesitas instalar dotenv porque Bun carga las variables de entorno de forma nativa [1:30]. Si usas NPM, sí es necesario añadirla como dependencia.
Dentro del package.json se incluye la dependencia indicada por la documentación, y en el archivo index.ts se coloca el código base que Eleven Labs proporciona como ejemplo [1:48].
¿Qué ocurre al ejecutar el primer llamado a la API?
Al ejecutar bun index.ts por primera vez, aparece un error [2:18]. La razón es un detalle que la documentación menciona brevemente: para reproducir audio directamente desde la terminal, el sistema operativo necesita un reproductor de audio especializado.
¿Cómo solucionar el error de reproducción de audio?
En macOS se recomienda instalar ffmpeg a través de Homebrew [2:36]. En Linux o Windows, la documentación ofrece un enlace con instrucciones específicas para cada plataforma. Una vez completada la instalación y verificados los checks de éxito, el comando bun index.ts funciona correctamente.
El código base utiliza tres elementos principales:
- La función que proporciona Eleven Labs para la conversión.
- Un reader que procesa la lectura en voz alta.
- La función play que gestiona el stream de audio [2:06].
¿Cómo suena la primera conversión de texto a voz?
El texto por defecto de la documentación está en inglés. Al ejecutar el archivo, la API devuelve un audio con pronunciación británica que dice: "The first move is what sets everything in motion" [3:18]. Con esa sola ejecución se confirma que la conexión con la API está funcionando y que el text-to-speech genera audio de alta calidad.
¿Puede Eleven Labs detectar automáticamente el idioma del texto?
Uno de los aspectos más potentes de esta API es la detección automática de idioma. No es necesario especificar en ningún parámetro que el texto está en un idioma distinto; basta con cambiar el contenido del texto [3:36].
Al modificar el texto a portugués y ejecutar nuevamente, la API genera audio con entonación y pronunciación en portugués, adaptando la voz disponible en su modelo de entrenamiento [3:55]. La voz cambia su cadencia y acento sin intervención adicional del desarrollador.
Después, al escribir un saludo en español — "Hola, bienvenido al curso de configuración de APIs en Platzi" — la API responde con una voz en español natural [4:20]. Tres idiomas distintos, el mismo código, la misma conexión y una sola API.
Esta capacidad se basa en los modelos de voz entrenados de Eleven Labs, que identifican el idioma del texto de entrada y ajustan la tonalidad, el acento y la pronunciación de forma automática [4:32].
El resultado demuestra que integrar síntesis de voz con calidad profesional en cualquier proyecto es accesible hoy mismo. Eleven Labs continúa lanzando nuevos modelos, voces y funciones, por lo que vale la pena mantenerse al tanto de sus actualizaciones [5:06]. Si ya integraste voces con OpenAI en otro proyecto, el reto es reemplazar esa integración con Eleven Labs y comparar los resultados. Comparte tu experiencia en los comentarios.