
Le Walk brings cities to life with ElevenLabs
Demand for digital tour guides rises with 10k+ tours taken and an average of 53 minutes listening time per session
Cómo creé una herramienta completa impulsada por IA que convierte prompts básicos en anuncios de video terminados.
He pasado dos décadas creando contenido, desde periodismo hasta videos de productos. La IA hace posible desbloquear flujos de trabajo creativos completamente nuevos. Con la intersección de la codificación de vibraciones y la generación de video cada vez más realista, me pregunté si podría crear una herramienta que tome un prompt simple y haga un anuncio de 20 segundos.
El concepto era sencillo: escribe una idea de producto básica y obtén un anuncio de 30 segundos completamente producido con visuales generados por IA, locución y efectos de sonido. Así es como lo construí usando ElevenLabs TTS y las APIs de SFX, Gemini de Google y VEO 2 de Google para la generación de video. En el momento de la creación, VEO 3 no había sido lanzado.
La versión final fue creada casi completamente con el impresionante Claude 4 Opus de Anthropic, aunque durante varios días ya que seguía alcanzando el límite de tasa.
Elegí Node.js con Express para el backend y React para el frontend. Node maneja actualizaciones en tiempo real mientras se generan los videos, mientras que la arquitectura basada en componentes de React hace que la interfaz de múltiples pasos sea fácil de gestionar y ampliar.
He escrito código de manera intermitente desde la infancia, comenzando con un robot de pluma en la escuela primaria. Pero siempre he sido más un pensador de productos que un ingeniero a tiempo completo. Herramientas como Claude 4 Opus cambiaron eso. Con los prompts adecuados, pude moverme rápido, implementar funciones correctamente y centrarme en la lógica del producto en lugar de en el código repetitivo.
No se trata de externalizar la creatividad a la IA, sino de construir de manera más inteligente con las herramientas adecuadas.
Crear un anuncio para un nuevo producto o servicio, incluso uno que solo dure 20 segundos, implica múltiples pasos complejos, así que lo dividí en ocho fases distintas:
Cada paso se construye sobre el anterior, creando una cadena que transforma una idea simple en un anuncio completo. En cada etapa, el humano tiene control total para cambiar cualquier elemento o regenerar cualquier parte de texto, video o audio.
El primer desafío fue que la mayoría de las personas no comienzan con ideas de producto completamente formadas. Podrían escribir algo vago como "algo para la productividad". Ahí es donde entra Gemini.
Usé el modelo Gemini 2.0 Flash de Google para mejorar ideas básicas en conceptos de producto concretos. La ingeniería de prompts aquí fue crucial: necesitaba que Gemini fuera específico y concreto, no vago y genérico. En lugar de aceptar "algo para el fitness", el sistema lo transforma en algo como "FitPulse AI: Una pulsera inteligente que utiliza biometría avanzada para crear microentrenamientos personalizados a lo largo del día."
1 | """Enhance a product idea using Gemini""" |
2 | |
3 | prompt = f""" |
4 | Enhance this product idea to make it more compelling: |
5 | |
6 | Original idea: {idea} |
7 | Target mood: {mood} |
8 | Target audience: {audience} |
9 | |
10 | Make it: |
11 | 1. Clear and specific about the value proposition |
12 | 2. Appeal to {audience} |
13 | 3. Match the {mood.lower()} tone |
14 | 4. Be memorable and marketable |
15 | |
16 | Keep it to 2-3 sentences. |
17 | """ |
Luego vino la generación de guiones. Nuevamente usando Gemini, estructuré la salida en cuatro escenas de 5 segundos, cada una con tres componentes:
La clave fue hacer que Gemini entendiera el estado de ánimo y la audiencia. Un anuncio "peculiar" para millennials necesita un lenguaje diferente al de uno "profesional" para clientes empresariales.
Pasé un tiempo considerable refinando los prompts para evitar el lenguaje genérico de IA y crear guiones que se sintieran adaptados a cada producto.
1 | """Generate a 4-scene commercial script""" |
2 | |
3 | prompt = f""" |
4 | Create a 30-second commercial script with exactly 4 scenes. |
5 | |
6 | Product: {product_name} |
7 | Audience: {target_audience} |
8 | Key Message: {key_message} |
9 | Mood: {mood} |
10 | |
11 | Return a JSON array with 4 scenes, each with: |
12 | - number: 1-4 |
13 | - duration: 5 |
14 | - script: What the voiceover says |
15 | - videoPrompt: Visual description for video generation |
16 | - sfxPrompt: Sound effects description |
17 | |
18 | Example format: |
19 | [{{"number": 1, "duration": 5, "script": "...", "videoPrompt": "...", "sfxPrompt": "..."}}] |
20 | """ |
21 |
Usé la API alojada de FAL.ai para el modelo VEO 2 de Google. El prompt de video de cada escena se envía a FAL.ai, que devuelve un clip de video de 5 segundos. Esta fue una de las integraciones más complicadas: manejar tiempos de generación largos, gestionar los límites de la API y proporcionar retroalimentación a los usuarios mientras esperan.
Originalmente había planeado usar Google AI Studio o Vertex AI para la API de Veo 2, ya que esto habría significado que estaba usando la misma clave de API que Gemini, pero no pude hacer que Veo 2 funcionara en mi cuenta.
Implementé un sistema de gestión de estado que guarda los videos generados localmente, para que los usuarios no tengan que regenerar contenido costoso si navegan fuera y regresan. Cuando estás alcanzando los límites de tasa en Claude, lo último que quieres es perder tus videos generados porque actualizaste la página.
El contenido de video para un clip de 20 segundos, suponiendo que no haya recortes o regeneraciones, costó alrededor de $10.
Aquí es donde me puse creativo con las APIs de ElevenLabs. Aunque ElevenLabs es conocido principalmente por la generación de voz, también tenemos una API de efectos de sonido que es muy impresionante. Mira el increíble Soundboard como ejemplo de posibles casos de uso.
Lo usé para generar cuatro variaciones de efectos de sonido para cada escena: animado, enérgico, tranquilo y dramático. Los usuarios pueden previsualizar cada opción y seleccionar la que se ajuste a su visión.
1 | const response = await elevenLabs.soundGeneration({ |
2 | text: modifiedPrompt, |
3 | duration_seconds: duration, |
4 | prompt_influence: 0.3 |
5 | }); |
6 |
Con cuatro clips de video y cuatro pistas de efectos de sonido, necesitaba combinarlos. Esto significó profundizar en FFmpeg, la navaja suiza del procesamiento de video. El backend ejecuta comandos de FFmpeg para:
Conseguir que los comandos de FFmpeg fueran correctos requirió una depuración significativa. La mezcla de audio, en particular, requiere atención cuidadosa a los niveles y el tiempo. Aprendí que el audio de fondo debe reducirse a aproximadamente el 30% del volumen cuando se mezcla con la locución: más alto compite por la atención, más bajo y prácticamente no está allí.
Para la locución, integré la API de texto a voz de ElevenLabs para ofrecer a los usuarios una selección de voces. El sistema genera un guion de locución coherente a partir de todos los guiones de escena, luego lo envía a ElevenLabs con configuraciones de voz optimizadas:
1 | const voiceSettings = { |
2 | stability: 0.75, |
3 | similarity_boost: 0.75, |
4 | style: 0.0, |
5 | use_speaker_boost: true |
6 | }; |
7 |
Estas configuraciones proporcionan una narración clara y profesional que funciona bien para anuncios. Después de experimentar con diferentes configuraciones, encontré que este equilibrio ofrece consistencia sin sonar robótico.
Construir con múltiples APIs de IA significa lidiar con varios modos de falla. Límites de tasa, errores de tiempo de espera, respuestas mal formadas: todos ocurren. Especialmente cuando estás depurando a las 2 AM y VEO 2 decide devolver algo inesperado.
Implementé un manejo de errores integral con opciones de respaldo:
El objetivo era asegurar que los usuarios siempre pudieran completar su anuncio, incluso si algunos servicios de IA estaban teniendo un mal día.
Generar un anuncio implica múltiples llamadas a APIs de IA que pueden tardar varios minutos. Para mejorar la experiencia, yo:
También implementé un sistema de persistencia de estado. Si alguien cierra su navegador a mitad de la generación, puede regresar y continuar donde lo dejó. Esto no estaba en mi plan original, pero después de perder mi propio progreso varias veces durante las pruebas, se convirtió en una prioridad.
Construir esta herramienta reveló tres lecciones clave.
Primero, el diseño de prompts es crítico. La calidad de la salida de cualquier modelo de IA depende en gran medida de cómo enmarques la entrada. Pasé tanto tiempo refinando prompts como escribiendo código.
Segundo, la experiencia del usuario supera la complejidad técnica. A los usuarios no les importa cuántos servicios de IA están involucrados, les importa que la herramienta funcione. Los indicadores de progreso, el manejo de errores y los ciclos de retroalimentación rápida marcan la diferencia.
Tercero, los asistentes de IA como Claude aceleran el desarrollo. Me centré en la lógica del producto mientras delegaba el código repetitivo y la sintaxis al modelo. No se trata de saltarse pasos, se trata de construir de manera más inteligente.
Lo que comenzó como un proyecto de fin de semana se convirtió en una herramienta real y extensible. Los equipos de marketing podrían usarlo para prototipos, startups para videos de presentación y creadores para contenido patrocinado.
El sistema es flexible por diseño. Puedes cambiar estilos de video ajustando los prompts de VEO 2, modificar la duración de las escenas para diferentes formatos o agregar música a través de FFmpeg.
La verdadera oportunidad radica en orquestar múltiples sistemas de IA. Ningún modelo único puede generar un anuncio completo, pero combinados, Gemini, VEO 2 y ElevenLabs pueden producir algo mucho más poderoso que cualquiera de ellos por separado.
Esto no se trata de que la IA reemplace a creadores. Se trata de darles mejores herramientas. Después de 20 años en contenido, he visto muchos cambios, pero este cambio se siente fundamental.
Si quieres explorar cómo la tecnología de ElevenLabs puede ayudar a ofrecer nuevos enfoques para contenido y medios ponte en contacto con nuestro equipo de ventas.
Demand for digital tour guides rises with 10k+ tours taken and an average of 53 minutes listening time per session
Supporting 10,000+ research conversations with natural, trustworthy voices
Desarrollado por ElevenLabs Agentes