API de Veo 3 en n8n: flujo de trabajo para videos sin rostro que funciona solo

Crea un flujo de trabajo para videos sin rostro en el que n8n lee una hoja de temas, pide a un LLM las escenas, envía cada prompt a la API de Veo 3, consulta el render de larga duración, añade la narración y sube el video corto terminado. Incluye la configuración de nodos, las reglas de reintento y el control de costos.

API de Veo 3 en n8n: flujo de trabajo para videos sin rostro que funciona solo
Cristian Da Conceicao
Fundador de Picasso IA

La mayoría de los canales sin rostro se estancan en el mismo punto: el material visual. Escribir guiones es rápido y una voz sintética cuesta casi nada, pero conseguir cuarenta segundos creíbles de video para cada publicación se come toda la semana. Conectar la API de Veo 3 a n8n elimina ese cuello de botella. Una fila de una hoja de cálculo se convierte en un guion, el guion en escenas de ocho segundos, las escenas en clips con el sonido ya incluido, y un video vertical terminado llega a tu cola de publicación mientras duermes.

Este tutorial construye ese flujo de trabajo para videos sin rostro nodo a nodo. Verás qué nodos de n8n cargan con el peso, cómo gestionar las respuestas asíncronas y lentas de Veo, dónde se escapa el dinero y cómo probar prompts en Veo 3 en Picasso IA antes de integrarlos en una automatización.

Por qué Veo 3 encaja con los canales sin rostro

Un canal sin rostro vive del volumen y de la coherencia. Los espectadores vuelven por un formato, no por un presentador, así que la línea de producción importa más que cualquier clip concreto. Ese es exactamente el tipo de problema que la automatización de flujos resuelve bien: los mismos pasos, en el mismo orden, con un tema distinto en cada ejecución.

Veo 3 encaja en esa línea por una razón práctica. Es un modelo de texto a video que genera imagen y sonido juntos a partir de un solo prompt, y también acepta una imagen fija como fotograma inicial, así que puedes mantener un mismo aspecto en todas las escenas de un episodio.

Los nichos que funcionan bien con este formato incluyen explicativos de viajes y naturaleza, adelantos de comida y recetas, relatos históricos con imágenes atmosféricas, presentaciones de productos y bucles ambientales para dormir o concentrarse. Todos dependen de objetos, lugares y manos en lugar de una cabeza parlante, que es lo que mantiene el formato sin rostro desde el principio.

El audio nativo elimina una rama

Los flujos antiguos tenían tres ramas: video, música y efectos de sonido. Veo 3 genera el sonido ambiente, los efectos y las frases habladas dentro del propio clip. En un explicativo de naturaleza, un montaje de comida callejera o un adelanto de producto, eso puede ser la banda sonora final. Solo añades una locución aparte cuando necesitas un texto exacto o un mismo narrador en toda una serie.

Lo que de verdad necesita un video sin rostro

Antes de abrir n8n, escribe el resultado que quieres. Un video sin rostro de formato corto suele necesitar:

  • Un gancho en los primeros dos segundos, normalmente una imagen llamativa más que una frase
  • Entre cuatro y seis escenas, cada una lo bastante corta para caber en un clip de Veo
  • Encuadre vertical a 9:16 para Shorts, Reels y TikTok
  • Una voz narradora o una base musical, nunca las dos peleando por el espacio
  • Un título, una descripción y etiquetas listos para el paso de subida

💡 Consejo: Decide primero el número de escenas. Cada escena extra añade una llamada más a la API, una espera más y una oportunidad más de que algo falle.

Diagrama de flujo dibujado a mano sobre papel cuadriculado que planifica un flujo de trabajo automatizado de video sin rostro

El flujo de trabajo de un vistazo

El proceso completo tiene diez nodos. Ninguno es exótico, y funciona en n8n Cloud o en una instalación propia, con una excepción que se explica en el paso de ensamblado.

PasoNodo de n8nFunción
1Schedule TriggerSe activa una vez al día a una hora fija
2Google SheetsLee la siguiente fila de tema sin usar
3HTTP Request o AI AgentPide a un LLM una lista de escenas en JSON
4CodeConvierte cada escena en un prompt de Veo
5HTTP RequestEnvía el prompt al endpoint de Veo 3
6Wait + IFConsulta hasta que el render termina
7HTTP RequestDescarga el MP4 terminado
8Execute CommandUne los clips y añade la narración
9YouTubeSube el video final
10Google SheetsRegistra el estado, el enlace y el costo

El orden importa más que la elección de nodos. Construye de arriba abajo, ejecuta cada nodo una vez con datos de prueba fijados y solo después conecta el siguiente. Un prompt de escena roto es mucho más barato de detectar en el paso cuatro que después de tres clips de pago.

Construye los nodos de disparador y de guion

Schedule Trigger y la hoja de temas

Empieza con un Schedule Trigger configurado para una ejecución al día. Después, añade un nodo de Google Sheets que lea la primera fila en la que la columna de estado esté vacía. Mantén las columnas sencillas: tema, tono, estado, URL del video y costo. Esa hoja se convierte en tu calendario de contenidos, tu cola y tu registro de auditoría en un solo lugar.

Primer plano de unas manos escribiendo en un escritorio mientras se construyen los primeros nodos de una automatización

Pide a un LLM las escenas

Añade el paso de redacción. La ruta más sencilla es un nodo HTTP Request o el nodo AI Agent de n8n, apuntando a un modelo de chat como Claude Sonnet 5, Gemini 3.5 Flash o GPT 5.4. Pide JSON estricto: un array de escenas, cada una con una descripción visual, un movimiento de cámara y una nota de sonido de una línea.

La salida estructurada importa aquí. Si el modelo devuelve prosa suelta, tu nodo Code fallará en la tercera ejecución, normalmente a las dos de la madrugada.

Redactor de pie en un escritorio alto en un loft luminoso escribiendo un guion de video en un equipo portátil

Convierte cada escena en un prompt

Un nodo Code recorre las escenas y construye el prompt final de cada una. Un prompt sólido de Veo sigue siempre el mismo orden:

  1. Sujeto y lo que está haciendo
  2. Escenario y hora del día
  3. Movimiento de cámara y sensación de lente
  4. Luz y color
  5. Sonido que quieres en el clip

Añade una línea de estilo fija a cada escena, como "luz natural, a mano alzada, aspecto de película de 35 mm", para que los clips coincidan al unirlos. Añade un prompt negativo que evite textos superpuestos, marcas de agua y logotipos.

Aquí tienes un ejemplo terminado para un explicativo sobre el cultivo de café: Las manos curtidas de un agricultor recogen cerezas rojas de una ladera empinada al amanecer, un dolly lento hacia delante a la altura de la cintura, la niebla sube entre las hileras, contraluz cálido, hojas que crujen suavemente y cantos de pájaros a lo lejos. Luz natural, a mano alzada, aspecto de película de 35 mm. Fíjate en que no se pide ningún rostro. Las manos, los paisajes y los objetos mantienen el formato sin rostro y, además, evitan el problema habitual de una persona cuyo rostro cambia de una escena a otra.

Llama a la API de Veo 3 desde n8n

Este es el corazón del flujo, y se comporta de forma distinta a una llamada normal a una API.

Configura el nodo HTTP Request

Veo se expone a través de la API de Gemini de Google como una operación de larga duración. Tu primera solicitud no devuelve un video. Devuelve un nombre de operación que consultarás más tarde. Configura el nodo así:

  • Método: POST
  • URL: https://generativelanguage.googleapis.com/v1beta/models/veo-3.0-generate-001:predictLongRunning
  • Autenticación: una credencial de tipo Header Auth guardada en la bóveda de credenciales de n8n, nunca pegada en el propio nodo
  • Tipo de cuerpo: JSON

💡 Consejo: Los ID de modelo cambian entre las versiones de vista previa y las estables. Confirma el ID exacto en la documentación actual de Veo de Google antes de publicar el flujo.

Envía un cuerpo con esta forma:

{
  "instances": [
    { "prompt": {{ JSON.stringify($json.veoPrompt) }} }
  ],
  "parameters": {
    "aspectRatio": "9:16",
    "resolution": "720p",
    "negativePrompt": "text overlay, watermark, logo, subtitles"
  }
}

Envolver el prompt en JSON.stringify evita que una comilla suelta dentro de una escena rompa la solicitud. Los clips duran ocho segundos en el endpoint de Google, y el 1080p está ligado a la salida en formato panorámico, así que comprueba qué resolución admite la relación de aspecto elegida antes de optar por un formato vertical.

Consulta con Wait e IF

La respuesta contiene un campo name. Guárdalo y construye un bucle sencillo:

  1. Un nodo Wait pausa durante 60 segundos.
  2. Un nodo HTTP Request envía un GET a https://generativelanguage.googleapis.com/v1beta/ seguido del nombre guardado.
  3. Un nodo IF comprueba si done es verdadero.
  4. Si es falso, el flujo vuelve a un Wait más corto de 20 segundos. Si es verdadero, el flujo continúa.

En la página de Veo 3 en PicassoIA, los renders de muestra terminaron en unos 68 a 145 segundos. Tómalo como una estimación inicial para tus propias esperas. Con una espera inicial de 60 segundos y consultas cada 20 segundos, la mayoría de los renders se resuelven en cuatro o cinco comprobaciones.

Monitor de un desarrollador mostrando una respuesta JSON de una solicitud de generación de video

Añade un contador dentro del bucle. Un nodo Code incrementa un número de intento, y un segundo nodo IF detiene la ejecución tras quince comprobaciones. Sin ese límite, un render atascado puede repetirse para siempre y llenar el historial de ejecuciones.

Descarga antes de que el archivo desaparezca

Cuando done sea verdadero, la dirección del video aparece en la respuesta bajo generateVideoResponse.generatedSamples. Añade un nodo HTTP Request más, configura el formato de respuesta como File, envía la misma credencial y captura los datos binarios. Google conserva los archivos generados solo durante un tiempo breve, así que sube el MP4 a tu propio almacenamiento (S3, R2 o Drive) en el nodo siguiente. Nunca guardes el enlace de Google en tu hoja y des por hecho que seguirá funcionando la semana que viene.

Reloj de arena rojo sobre una mesa de madera clara, imagen que representa la espera mientras termina un render

Añade la voz y ensambla el video

Cuándo basta con el audio nativo

Prueba primero una escena con la pista integrada antes de añadir nada. Si el sonido ambiente encaja y no hace falta ninguna frase hablada, omite por completo la rama de voz. Cada rama que eliminas es una cosa menos que puede fallar durante la noche.

Añade un narrador con texto a voz

En los formatos narrados, envía el guion a un modelo de voz. ElevenLabs v3 se encarga de las lecturas expresivas, Speech 2.8 HD de MiniMax ofrece una narración limpia de estudio, y Gemini 3.1 Flash TTS es la opción cuando necesitas muchos idiomas. Cada uno devuelve un archivo de audio que puedes guardar junto a los clips.

💡 Consejo: Añade "sin diálogos" al prompt de Veo cuando vayas a poner un narrador encima, para que las voces del clip nunca compitan con la tuya.

Micrófono de condensador con filtro antipop dentro de una pequeña cabina de locución casera

Une las escenas

Unir clips es tarea de FFmpeg dentro de un nodo Execute Command. Un comando básico lee una lista de escenas, superpone la narración y escribe un solo archivo:

ffmpeg -f concat -safe 0 -i scenes.txt -i narration.mp3 \
  -map 0:v -map 1:a -c:v libx264 -c:a aac -shortest episode.mp4

Aquí está la trampa. El nodo Execute Command solo funciona en n8n autoalojado. En n8n Cloud, envía las URL de los clips a un servicio de render externo mediante un nodo HTTP Request. En ambos casos, el resultado es un MP4 por episodio, listo para el paso de subida.

Editor de video en un escritorio con dos pantallas trabajando en una línea de tiempo multipista de clips cortos

Publica y controla el costo

Sube a Shorts, Reels y TikTok

n8n incluye un nodo de YouTube que sube un archivo binario con título, descripción y estado de privacidad. Para otras plataformas, llama a la API oficial de publicación de cada una mediante el nodo HTTP Request, o usa un servicio de programación que ofrezca un webhook. Pon la privacidad en privado durante las primeras ejecuciones y revisa cada video a mano hasta que confíes en el resultado.

Manos sosteniendo un teléfono que reproduce un video corto vertical en una mesa de cafetería bañada por el sol

Registra cada ejecución en la hoja

Escribe de vuelta el estado, la URL final del video, el número de intentos de render, el número de escenas y el costo estimado. Google cobra Veo por segundo de video generado, y las tarifas han cambiado más de una vez desde su lanzamiento, así que guarda el precio por segundo en una variable de n8n o en una celda de la hoja en lugar de escribirlo en seis nodos. Con ocho segundos por escena y cinco escenas, un solo episodio supone 40 segundos facturados antes de contar un solo reintento.

Reglas de reintento que protegen tu presupuesto

Los fallos son normales con el video generativo, así que decide tu política de antemano:

  • Reintenta un render fallido una vez con el mismo prompt
  • Si falla por segunda vez, pide al LLM que reescriba el prompt y prueba una última vez
  • Después de eso, marca la fila como "requiere revisión" y detente
  • Añade un flujo de Error Trigger que te avise por correo o por chat
  • Limita las ejecuciones diarias para que un error de bucle no vacíe tu saldo

Registro de ejecución impreso con las líneas fallidas marcadas en rojo junto a una calculadora y facturas

Prueba prompts con Veo 3 en PicassoIA

Antes de gastar dinero en la API, prueba a mano cada prompt de escena. Veo 3 en PicassoIA acepta un prompt, una resolución, una relación de aspecto, una imagen inicial opcional, un prompt negativo y una semilla. Esta es la rutina:

  1. Abre la página de Veo 3 e inicia sesión.
  2. Pega un prompt de escena escrito en el mismo orden que usa tu nodo Code.
  3. Fija la resolución en 720p para las pruebas y cambia a 1080p solo para el render final.
  4. Elige 9:16 para shorts verticales o 16:9 para formato panorámico.
  5. Opcionalmente, sube una imagen inicial. Los fotogramas ideales son de 1280x720.
  6. Añade un prompt negativo como "texto, marca de agua, logotipo".
  7. Cuando un aspecto funcione, fija la semilla para que los reintentos lo reproduzcan.
  8. Genera y espera. Los renders de muestra de la página tardaron entre uno y dos minutos y medio.

Otros modelos de video merecen probarse con el mismo prompt:

ModeloIdeal para
Veo 3 FastBorradores más rápidos del mismo aspecto
Veo 3.1La generación más nueva, hasta 1080p
Veo 3.1 FastVelocidad con el modelo más nuevo
Veo 3.1 LitePruebas más baratas
Seedance 2.5 LiteVideo con audio, de hasta 10 segundos
PicassoIA VideoTexto o imagen a video en un solo lugar

💡 Consejo: PicassoIA también ofrece una API para desarrolladores en https://api.picassoia.com/v1, con endpoints al estilo de Replicate: un POST a /v1/models/{owner}/{name}/predictions y después un GET a /v1/predictions/{id} hasta que termine el trabajo. En el momento de escribir esto, expone PicassoIA Video y Seedance 2.5 Lite para video, y permite cinco predicciones simultáneas por cuenta. Veo 3 no está en esa lista, por eso el flujo de arriba apunta al endpoint de Google. El patrón de crear y luego consultar es idéntico, así que el mismo bucle de Wait e IF funciona para ambos.

Haz tu primer clip hoy

No necesitas el proceso completo de diez nodos para ver si esta idea funciona en tu nicho. Elige un tema, escribe cinco prompts de escena en el orden de la rutina de arriba y ejecútalos en Picasso IA. Compara un borrador de 720p con un render de 1080p, prueba una versión vertical y otra panorámica, y anota qué prompts se sostienen de una escena a otra.

Cuando tengas tres prompts en los que confíes, cópialos en tu nodo Code y deja que n8n se encargue del trabajo repetitivo. Empieza poco a poco, registra todo y añade una rama cada vez. Abre Picasso IA, ejecuta tu primera escena y comprueba hasta dónde puede llevar un buen prompt a un canal sin rostro.

Compartir este artículo

Elige tu idioma