Next.JS
Aprende a crear una aplicación web que permita mantener conversaciones de voz con agentes de IA de ElevenLabs
Este tutorial te guiará para crear un cliente web que pueda interactuar con un agente de ElevenLabs. Aprenderás a implementar conversaciones de voz en tiempo real, para que usuarios puedan hablar con un agente de IA capaz de escuchar, comprender y responder de forma natural mediante síntesis de voz.
Lo que necesitas
- Un agente de ElevenLabs creado siguiendo esta guía
npminstalado en tu sistema local.- En este tutorial usaremos Typescript, pero puedes usar Javascript si lo prefieres.
¿Buscas un ejemplo completo? Consulta nuestra demo de Next.js en GitHub.

Configuración
Implementa ElevenLabs Agents
(Opcional) Autentica los agentes con una URL firmada
Este paso de autenticación solo es necesario para agentes privados. Si usas un agente público,
puedes omitir esta sección y usar directamente el agentId en la llamada a startSession.
Si usas un agente privado que requiere autenticación, tendrás que generar una URL firmada desde tu servidor. Esta sección explica cómo configurarlo.
Lo que necesitas
- Una cuenta y una clave de API de ElevenLabs. Regístrate aquí.
Crea variables de entorno
Crea un archivo .env.local en la raíz de tu proyecto:
- Asegúrate de añadir
.env.locala tu archivo.gitignorepara evitar confirmar accidentalmente credenciales sensibles en el control de versiones. - Nunca expongas tu clave de API en el código del lado cliente. Mantenla siempre segura en el servidor.
Crea una ruta de API
Crea un archivo nuevo: app/api/get-signed-url/route.ts:
Actualiza el componente Conversation
Modifica tu conversation.tsx para obtener y usar la URL firmada:
Las URL firmadas caducan al poco tiempo. Sin embargo, cualquier conversación iniciada antes de que caduquen continuará sin interrupciones. En un entorno de producción, implementa una gestión de errores adecuada y lógica de actualización de URL para iniciar nuevas conversaciones.
Próximos pasos
Ahora que tienes una implementación básica, puedes:
- Añadir indicaciones visuales de actividad de voz
- Implementar gestión de errores y lógica de reintentos
- Añadir una vista del historial de chat
- Personalizar la interfaz para que se adapte a tu marca
Para ver funciones más avanzadas y opciones de personalización, consulta el paquete @elevenlabs/react.
