Habla con una estatua: crea una app multimodal con ElevenAgents
- Escrito por
- Joe Reeve
- Publicado
- Última actualización
EscucharEscucha este artículo
Fotografía una estatua. Identifica las figuras representadas. Después, mantén una conversación por voz en tiempo real con ellas: cada personaje hablará con una voz distinta y acorde a su época.
Eso es lo que puedes crear con las API de Voice Design y Agents de ElevenLabs. En este artículo, repasamos la arquitectura de una app web móvil que combina visión artificial con generación de voz para convertir monumentos públicos en experiencias interactivas. Todo lo que se explica aquí puede reproducirse con las API y los ejemplos de código de abajo.
Sáltate el tutorial: créalo con un solo prompt
Toda la app que aparece a continuación se creó a partir de un único prompt, probado con éxito para resolverlo de una vez en Cursor con Claude Opus 4.5 (high), desde un proyecto vacío de NextJS. Si quieres ir directo al grano y crear la tuya, pega esto en tu editor:
También puedes usar las Skills de ElevenLabs Agent en lugar de enlazar la documentación. Se basan en la documentación y pueden ofrecer resultados aún mejores.
El resto de este artículo explica en detalle lo que genera ese prompt.
Cómo funciona
El proceso tiene cinco fases:
- Capturar una imagen
- Identificar la obra y sus personajes (OpenAI)
- Investigar la historia (OpenAI)
- Generar voces únicas para cada personaje (ElevenAPI)
- Iniciar una conversación por voz en tiempo real mediante WebRTC (ElevenAgents)
Identificar la estatua con visión artificial
Cuando un usuario fotografía una estatua, la imagen se envía a un modelo de OpenAI con capacidad de visión. Un prompt de sistema estructurado extrae el nombre de la obra, su ubicación, el artista, la fecha y, lo más importante, una descripción detallada de la voz de cada personaje. El prompt de sistema incluye el formato de salida JSON esperado:
Para una fotografía de la estatua de Boudica en el puente de Westminster, Londres, la respuesta tiene este aspecto:
Cómo escribir descripciones de voz eficaces
La calidad de la descripción de voz determina directamente la calidad de la voz generada. La guía de prompting de Voice Design explica esto en detalle, pero los atributos clave que debes incluir son: un indicador de calidad de audio («Perfect audio quality.»), edad y género, tono/timbre (grave, resonante, áspero), un acento preciso («thick Celtic British accent» en lugar de simplemente «British») y ritmo. Los prompts más descriptivos dan resultados más precisos: «a tired New Yorker in her 60s with a dry sense of humor» siempre superará a «an older female voice».
Algunos aspectos destacables de la guía: usa «thick» en lugar de «strong» al describir la intensidad de un acento, evita términos vagos como «foreign» y, para personajes ficticios o históricos, puedes sugerir acentos reales como inspiración (por ejemplo, «an ancient Celtic queen with a thick British accent, regal and commanding»).
Crear voces de personajes con Voice Design
La API de Voice Design genera nuevas voces sintéticas a partir de descripciones de texto, sin საჭირო de muestras de voz ni clonación. Esto la hace ideal para figuras históricas de las que no existe audio original.
El proceso tiene dos pasos.
Generar previsualizaciones
El parámetro de texto es importante. Un texto de muestra más largo y adecuado para el personaje (más de 50 palabras) ofrece resultados más estables: adapta el diálogo al personaje en vez de usar un saludo genérico. La guía de prompting de Voice Design explica esto con más detalle.
Guardar la voz
Una vez generadas las previsualizaciones, selecciona una y crea una voz permanente:
En estatuas con varios personajes, la creación de voces se ejecuta en paralelo. Las voces de cinco personajes se generan aproximadamente en el mismo tiempo que una sola:
Crear un Agent de ElevenLabs con varias voces
Una vez creadas las voces, el siguiente paso es configurar un Agent de ElevenLabs que pueda cambiar entre las voces de los personajes en tiempo real.
Cambio entre varias voces
El array supportedVoices indica al agente qué voces están disponibles. La plataforma Agents gestiona el cambio de voz automáticamente: cuando la respuesta del LLM indica que habla otro personaje, el motor de TTS dirige ese fragmento a la voz correcta.
Prompt engineering para conversaciones grupales
Hacer que varios personajes parezcan un grupo real, en lugar de una sesión de preguntas y respuestas secuencial, requiere diseñar el prompt de forma deliberada:
Voz en tiempo real mediante WebRTC
La pieza final es la conexión del cliente. Los Agents de ElevenLabs admiten WebRTC para conversaciones por voz de baja latencia, notablemente más rápidas que las conexiones basadas en WebSocket, algo importante para que los turnos de palabra sean naturales.
Servidor: obtener un token de conversación
Cliente: iniciar la sesión
El hook useConversation gestiona la captura de audio, el streaming, la detección de actividad de voz y la reproducción.
Añadir profundidad a la investigación con búsqueda web
Para usuarios que quieran más contexto histórico antes de iniciar una conversación, puedes añadir un modo de investigación avanzada con la herramienta de búsqueda web de OpenAI:
Lo que hemos aprendido
Este proyecto demuestra que, al combinar distintas modalidades de IA —texto, investigación, visión y audio—, podemos crear experiencias que conectan el mundo digital y el real. Los agentes multimodales tienen mucho potencial todavía por explorar, y nos encantaría que más gente lo hiciera para aprender, trabajar y divertirse.
Empieza a crear
Las API utilizadas en este proyecto — Voice Design, ElevenAgents y OpenAI— ya están disponibles.
Joe trabaja en el equipo de Crecimiento en ElevenLabs, enfocado en ayudar a desarrolladores a aprovechar al máximo los modelos de audio de vanguardia de ElevenLabs




