Saltar al contenido
Programación

Automatiza tus videos con IA: tutorial de n8n y APIs de generación

· (banco local)
Compartir X Facebook

Aprende a montar un pipeline de video con n8n y APIs de IA. Tutorial práctico con prompts listos para copiar y pegar.

Automatiza tus videos con IA: tutorial de n8n y APIs de generación
(banco local)

Automatiza tus videos con IA: tutorial de n8n y APIs de generación

Mira, colega, si estás leyendo esto es porque estás harto de pasar tardes enteras editando vídeos para TikTok, YouTube Shorts o Instagram. Yo también. Y la solución no es pagar un editor, la solución es montar una máquina de generar contenido que trabaje mientras tú duermes. Hoy te enseño a montar un flujo en n8n que convierte una simple fila de Google Sheets en un vídeo completo con voz en off, imágenes y música. Sin humo, todo código.

El flujo que vamos a montar

La idea es simple: tú escribes el guion en una hoja de cálculo, y n8n se encarga del resto. El workflow hace esto:

  • Lee una fila nueva de Google Sheets
  • Genera la voz en off con una API de TTS (Por ejemplo, ElevenLabs o OpenAI)
  • Genera las imágenes con DALL-E o Stable Diffusion
  • Une todo en un vídeo con FFmpeg o una API de edición (yo uso Shotstack)

Aquí te dejo el esqueleto del workflow en n8n:

// Workflow n8n (JSON simplificado)

{

"nodes": [

{ "name": "Google Sheets Trigger", "type": "n8n-nodes-base.googleSheetsTrigger" },

{ "name": "Generar Prompt", "type": "n8n-nodes-base.function" },

{ "name": "TTS (ElevenLabs)", "type": "n8n-nodes-base.httpRequest" },

{ "name": "Generar Imagen", "type": "n8n-nodes-base.httpRequest" },

{ "name": "Renderizar Vídeo", "type": "n8n-nodes-base.httpRequest" }

]

}

Prompts que puedes copiar y pegar

1. Prompt para generar el guion y el prompt de imagen

Eres un copywriter experto en vídeos virales. Dado el tema [INSERTA_TEMA], crea:

  • Un guion de 30 segundos con gancho inicial, desarrollo y CTA final.
  • Un prompt para generar una imagen de portada fotorrealista.
  • Un prompt para generar la voz en off (estilo, tono, velocidad).

Formato de salida:

GUION: [texto]

IMAGEN_PROMPT: [texto]

VOZ_STYLE: [texto]

2. Prompt para el nodo de función en n8n (mapear datos)

// Código para nodo Function de n8n

const item = $input.first().json;

const guion = item.guion;

const tema = item.tema;

// Limpiar el guion para que el TTS lo lea sin caracteres raros

const guionLimpio = guion

.replace(/[*#_]/g, '')

.replace(/\n+/g, ' ');

return {

guionLimpio,

promptImagen: item.imagen_prompt,

voz: item.voz_style

};

3. Prompt para la API de Shotstack (edición automática)

Crea un vídeo con Shotstack usando esta configuración:

  • Duración: 30 segundos
  • Imagen de fondo: [URL_IMAGEN]
  • Audio: [URL_AUDIO_TTS]
  • Texto superpuesto: "[TITULO]" en la parte inferior
  • Transiciones: fade de 1 segundo
  • Resolución: 1080x1920 (vertical para redes sociales)

Devuelve el JSON de configuración para la API de Shotstack.

4. Prompt para generar la música de fondo (si no quieres usar librerías)

Actúa como un compositor de música electrónica minimalista. Genera una secuencia de acordes en C menor con un tempo de 120 BPM para un vídeo de 30 segundos. La música debe ser energética pero sin robar protagonismo a la voz en off. Devuelve la secuencia en formato MIDI simplificado (notas y duración).

Consejos de Nacho (sin filtros)

  • No reinventes la rueda: n8n tiene nodos nativos para HTTP, y las APIs de generación son muy fáciles de integrar. No necesitas escribir un solo back-end.
  • Cuidado con los costes: ElevenLabs y Shotstack no son gratis. Calcula cuánto te cuesta cada vídeo antes de automatizar a lo loco. Yo gasto unos 0.50€ por vídeo de 30 segundos.
  • Prueba con un vídeo manual primero: No conectes todo de golpe. Prueba cada API por separado y luego únelas. Te ahorrarás dolores de cabeza.
  • Los triggers de Sheets son traicioneros: A veces no detectan filas nuevas si no se formatea bien la hoja. Usa un trigger de "cron" cada 5 minutos con un nodo de "buscar filas nuevas" para más fiabilidad.

El código que te salva la vida

Aquí tienes el nodo de función que une todo el flujo y construye la petición final a Shotstack. Cópialo y pégalo en tu nodo de código:

// Nodo Function: Construir request Final

const item = $input.first().json;

const shotstackConfig = {

timeline: {

tracks: [

{

clips: [

{

asset: {

type: 'image',

src: item.urlImagen

},

start: '0',

length: '30'

}

]

},

{

clips: [

{

asset: {

type: 'audio',

src: item.urlAudio

},

start: '0',

length: '30'

}

]

}

]

},

output: {

format: 'mp4',

resolution: '1080x1920'

}

};

return { json: { config: shotstackConfig } };

Resumen rápido

Mira, el flujo es simple: Sheets como input → n8n orquesta → APIs generan → vídeo listo. En una tarde lo tienes montado. No esperes a que sea perfecto, lánzalo y ve ajustando. La automatización de contenido es el futuro, y quien no se suba al carro, se queda atrás.

Y tú, ¿qué uso le estás dando a n8n para generar contenido? Cuéntamelo, colega.

Más sobre Programación

Ver todo →