N8N Automatiza imágenes y vídeos desde Telegram
¿Te imaginas mandar una idea por Telegram —como texto o audio— y recibir en unos minutos una miniatura y un vídeo listos para publicar? En este tutorial, replicamos un flujo real construido en n8n que hace exactamente eso: escucha tu chat, transcribe audios, genera un prompt de alta calidad, crea una imagen con una API (Nanobanana vía Kie) y después un vídeo (modelo BO3), y por último te devuelve ambos directamente en Telegram.
Es una solución perfecta para creadores, agencias o emprendedores que necesitan transformar ideas en piezas visuales rápido, barato y sin fricción.
TL;DR
- Entrada: mensaje de texto o audio en tu chat de Telegram.
- Proceso: transcripción (si audio) → agente que traduce y estructura prompt → API de imagen (Nanobanana vía Kie) → análisis de imagen → agente que refina prompt → API de vídeo (BO3) → polling + retry → descarga.
- Salida: imagen + vídeo enviados a tu Telegram.
- Coste estimado: ~0,03–0,04 € por imagen y 0,30–0,40 € por vídeo (según el caso mostrado).
- Stack: n8n, Telegram Bot, APIs de Kie (Nanobanana/BO3), transcripción/visión con ChatGPT.
Caso de uso y arquitectura
Objetivo: convertir ideas rápidas (texto o notas de voz) en activos visuales listos para redes: miniatura + microvídeo.
Público: equipos de contenido, solo-makers, pymes.
Arquitectura resumida:
- Telegram como interfaz natural (captura texto/voz).
- n8n orquesta todo el pipeline: ramas texto/audio, agentes, APIs externas, polling, envío.
- APIs Kie:
- Nanobanana: crea miniatura (imagen).
- BO3: crea vídeo 1080p relacionado con la miniatura.
- ChatGPT:
- Transcripción de audio.
- Agente de prompt (traduce al inglés y estructura).
- Visión para analizar la imagen y enriquecer el prompt de vídeo.
Requisitos previos
- Cuenta de Telegram y acceso a @BotFather para crear tu bot.
- n8n funcionando (local, VPS o Docker).
- Cuenta en Kie con API Key y saldo (las primeras pruebas pueden ser gratuitas; después, recarga).
- Claves para los proveedores que uses en n8n (ChatGPT para transcripción/visión, etc.).
- Conocimientos básicos de HTTP requests y JSON en n8n.
Flujo en n8n: visión general
- Trigger (Telegram): cualquier mensaje entrante.
- Switch: detectar si es audio o texto.
- Rama texto: normaliza el contenido como
text. - Rama audio:
- Get File del mensaje de voz.
- Transcripción (ChatGPT) → normaliza como
text.
- Agente de prompt (imagen + “pre-prompt” vídeo):
- Traduce al inglés.
- Devuelve JSON con campos clave para la API de imagen.
- Crear tarea de imagen (Nanobanana):
POST create task→ devuelvetask_id. - Wait + Polling (Record Info): espera (p. ej., 30 s) y consulta la tarea hasta HTTP 200.
- Descarga y envío de imagen a Telegram.
- Visión (ChatGPT): analiza la imagen generada y produce descripción rica en inglés.
- Agente de prompt (vídeo): combina descripción de imagen + mensaje original → prompt cinematográfico.
- Crear tarea de vídeo (BO3):
POST generatecon modelo, ratio, seed, etc. - Wait + Polling (1080p video): espera (p. ej., 150 s) y reintenta hasta HTTP 200.
- Descarga y envío del vídeo a Telegram.
Paso a paso (configuración completa)
1) Crea y conecta tu Telegram Bot
- En Telegram, abre @BotFather →
/start. - Comando /newbot → nombra tu bot (debe acabar en
bot). - Copia el Token (lo usarás en n8n).
- En n8n, configura las credenciales de Telegram con ese Token.
- En tu bot recién creado, envía /start para activarlo.
2) Trigger y detección de tipo de mensaje
- Nodo Telegram Trigger (o HTTP/Webhook si usas pasarela).
- Nodo Switch con lógica:
- Si
mimetypecontieneaudio→ rama audio. - Si hay
text→ rama texto.
- Si
3) Rama texto
- Normaliza el campo a
textpara que el siguiente agente tenga siempre el mismo input.
4) Rama audio
- Get File (Telegram): descarga el
file_iddel voice. - Transcribe Audio (ChatGPT/Whisper): obtén el texto.
- Normaliza a
text(mismo nombre de campo que en la rama texto).
5) Agente de Prompt (imagen + pre-prompt vídeo)
- System prompt (en inglés) indicando que:
- Eres prompt engineer para imagen (miniatura) y vídeo corto (8 s aprox.).
- El usuario hablará en español, tú traducirás y estructurarás al inglés.
- Output JSON con:
image_prompt,video_preprompt, etc.
- Activa “Require specific output format” en n8n (estructura JSON estricta).
6) Crear tarea de imagen (Nanobanana vía Kie)
- Nodo HTTP Request →
POSTa la endpoint de creación de tarea. - Headers:
Authorization: Bearer <API_KEY>,Content-Type: application/json. - Body JSON:
{ "model": "nanobanana", "input": "<image_prompt>", "format": "png" }. - Guarda el
task_idde la respuesta.
7) Wait + Polling de imagen
- Nodo Wait: 30 s (si 12 s es inestable, usa 30 s).
- Nodo HTTP GET a “record info” con
task_id. - Nodo IF: si status 200 → existe resultado → descargar; si no, loop (Wait + GET) hasta éxito o máximo intentos.
8) Descargar y enviar imagen
- HTTP GET a la URL del archivo (imagen).
- Activa Binary y nómbralo
data. - Nodo Telegram: Send Photo → Binary file: data → mensaje tipo “Imagen creada con éxito. El vídeo está en proceso.”
9) Análisis de imagen (Visión)
- Nodo ChatGPT (Vision) con Binary: data.
- Prompt: “Describe la imagen en inglés, con máximo detalle (sujetos, objetos, entorno, estilo, luz, encuadre, etc.). Sé objetivo.”
10) Agente de Prompt de vídeo
- Combina:
- Descripción de imagen (visión), y
- Mensaje original del usuario.
- System prompt: “Eres prompt engineer de vídeo cinematográfico. Devuelve JSON con campos claros (ej.
video_prompt,ratio,seed,duration,style), todo en inglés y limpio.”
11) Crear tarea de vídeo (BO3)
- HTTP POST a la endpoint de BO3 generate.
- Headers:
Authorization: Bearer …,Content-Type: application/json. - Body típico:
{
«model»: «b03-fast»,
«prompt»: «»,
«ratio»: «16:9»,
«seed»: 42,
«duration»: 8
}
12) Wait + Polling de vídeo
- Wait: 150 s (ajusta según carga).
- HTTP GET a la endpoint de 1080p video usando
task_id. - IF:
status === 200→ descarga; si no, loop (Wait + GET) hasta éxito o timeout.
13) Descargar y enviar vídeo
- HTTP GET del archivo (Binary
data). - Telegram: Send Video → Binary
data→ mensaje tipo: “Aquí tienes tu vídeo (duración: X s).”
Gestión de errores, reintentos y tiempos de espera
- Imagen: si el GET devuelve ≠ 200, asume “en proceso”. Repite Wait + GET (ej. 3–5 intentos).
- Vídeo: los 150 s suelen ser cortos en horas pico. Prevé 1–3 reintentos.
- Límites de API: captura y loguea errores (4xx/5xx). Implementa backoff exponencial si tu volumen sube.
- Mensajes al usuario: avisa en Telegram cuando reintentas (“El vídeo sigue generándose, reintentando…”).
Costes, rendimiento y escalado
- Imagen (Nanobanana): ~0,03–0,04 € por miniatura (estimación del caso real).
- Vídeo (BO3): ~0,30–0,40 € por clip 1080p (estimación).
- Optimiza costes:
- Usa b03-fast para borradores y sube de calidad cuando toque.
- Recicla prompts “base” por temáticas para reducir intentos.
- Escalado: separa staging y producción; usa colas; paraleliza por usuario/chat; monitoriza latencias y errores.
Buenas prácticas de prompts y calidad visual
- Siempre en inglés para imagen/vídeo (mejor entendimiento del modelo).
- Estructura JSON estable para parsear en n8n sin sorpresas.
- “Video pre-prompt”: usa la descripción de imagen (visión) para mantener coherencia visual entre miniatura y vídeo.
- Detalles cinemáticos: cámara, lente, luz, composición, movimiento, duración, ritmo.
- Control de variabilidad: fija seed cuando quieras reproducibilidad; cambia seed para explorar variantes.
- Itera: si fallan tiempos, sube Wait y número de retries con límites razonables.
Preguntas frecuentes
¿Puedo usar solo imagen o solo vídeo?
Sí. El flujo está modularizado: puedes cortar en la descarga de imagen o entrar directamente en la rama de vídeo.
¿Qué pasa si envío un audio ruidoso?
La transcripción puede degradarse. Recomiendo audios cortos y claros; si es complejo, reenvía un texto.
¿El bot sirve para grupos?
Sí, pero añade filtros (comandos o chat_id) para no procesar conversaciones ajenas.
¿Cómo manejo el límite de peticiones?
Implementa throttling y backoff; muestra mensajes informativos en Telegram cuando entres en reintentos.
¿Puedo cambiar de proveedor de imagen/vídeo?
Claro. El patrón Create Task → Poll → Download funciona igual con la mayoría de APIs modernas.
Conclusión y siguientes pasos
Con este flujo de n8n + Telegram + APIs (Nanobanana/BO3) + ChatGPT, conviertes ideas en segundos en miniaturas y vídeos listos para publicar. La clave está en:
- separar texto y audio con transcripción,
- usar agentes que estructuren prompts en inglés,
- polling con reintentos y tiempos realistas,
- y cerrar el ciclo enviando resultados al mismo chat que inició la solicitud.
¿Quieres que lo dejemos listo en tu entorno (con dominios, HTTPS, colas, logs y alertas)? Te lo montamos y lo dejamos producción-ready.
¿Quieres este workflow listo para tu equipo con control de costes, monitorización, reintentos inteligentes y versionado? Te lo implementamos en tu n8n, adaptamos prompts a tu marca y lo dejamos operativo en tu Telegram.
