Enviar audio generado a través de Twilio
Enviar audio generado a través de Twilio
Aprende a integrar voz generada en llamadas telefónicas con Twilio.
Guía práctica · Da por hecho que has completado la guía de inicio rápido de ElevenAPI y que tienes una cuenta de Twilio.
En esta guía aprenderás a enviar un mensaje generado por IA mediante una llamada telefónica con Twilio y ElevenLabs. Este proceso te permite enviar mensajes de voz de alta calidad directamente a quienes te llaman.
Crea cuentas en Twilio y ngrok
Usaremos Twilio y ngrok en esta guía, así que crea cuentas en ambas plataformas.
Crea el servidor con Express
Inicializa tu proyecto
Crea una carpeta nueva para tu proyecto
Instala las dependencias
Instala las dependencias de desarrollo
Crea tus archivos
Entiende el código
Gestiona la llamada entrante
Cuando llamas a tu número, Twilio realiza una solicitud POST a tu ruta en /call/incoming.
Después usamos twiml.connect para indicarle a Twilio que queremos gestionar la llamada mediante nuestro websocket configurando la URL de nuestra ruta /call/connection.
Crea el audio a partir de texto
Aquí escuchamos los mensajes que Twilio envía a nuestra ruta de websocket. Cuando recibimos un evento de mensaje start, generamos audio con el SDK de TypeScript de ElevenLabs.
Envía el mensaje
Al recibir el audio de ElevenLabs, lo convertimos en un búfer de matriz y enviamos el audio a Twilio mediante el websocket.
Dirige ngrok a tu aplicación
Twilio requiere una URL accesible públicamente. Usaremos ngrok para redirigir el puerto local de nuestra aplicación y exponerlo como URL pública.
Ejecuta el siguiente comando en tu terminal:
Copia el dominio de ngrok (sin https://) para usarlo en tus variables de entorno.
Actualiza tus variables de entorno
Actualiza el archivo .env con tu dominio de ngrok y tu clave de API de ElevenLabs.
Inicia la aplicación
Ejecuta el siguiente comando para iniciar la app:
Configura Twilio
Sigue las guías de Twilio para crear un número nuevo. Cuando hayas creado tu número, ve a la pestaña “Configure” en Phone Numbers -> Manage -> Active numbers
En la sección “A call comes in”, introduce la URL completa de tu aplicación (asegúrate de añadir la ruta /call/incoming):
Por ejemplo: https://***ngrok.app/call/incoming
Haz una llamada telefónica
Llama a tu número. Deberías escuchar un mensaje con la voz de ElevenLabs.
Consejos para desplegar en producción
Al ejecutar la aplicación en producción, asegúrate de configurar la variable de entorno SERVER_DOMAIN con el dominio de tu servidor. No olvides actualizar también la URL en Twilio para que apunte a tu servidor de producción.
Conclusión
Ahora deberías tener una comprensión básica de cómo integrar Twilio con las voces de ElevenLabs. Si tienes más preguntas o sugerencias para mejorar esta publicación, no dudes en seleccionar el botón “Suggest edits” o “Raise issue” de abajo.