Blog Automatizaciones

Automatiza imágenes y vídeos desde Telegram con n8n

Tutorial real para convertir audios o textos de Telegram en miniaturas y vídeos listos para publicar usando n8n, Telegram Bot, APIs de Kie (Nanobanana, BO3) y ChatGPT.

Expertbrain
7 min de lectura

Automatiza imágenes y vídeos desde Telegram con n8n

Transforma ideas expresadas por texto o audio en Telegram en miniaturas y vídeos listos para publicar en apenas minutos. Este tutorial detalla un flujo real construido en n8n que transcribe audios, genera prompts de alta calidad, crea imágenes mediante API (Nanobanana vía Kie) y produce vídeos (modelo BO3), devolviendo ambos directamente en Telegram. Una solución ideal para creadores, agencias y emprendedores que necesitan generar contenido visual rápido, económico y sin fricción.

TL;DR

  • Entrada: mensaje de texto o audio en Telegram
  • Proceso: transcripción (si audio) → agente que traduce y estructura prompt → API de imagen (Nanobanana) → análisis de imagen → agente que refina prompt → API de vídeo (BO3) → polling con reintentos → descarga
  • Salida: imagen y vídeo enviados a Telegram
  • Coste estimado: ~0,03–0,04 € por imagen y 0,30–0,40 € por vídeo
  • 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

  1. Trigger (Telegram): cualquier mensaje entrante
  2. Switch: detectar si es audio o texto
  3. Rama texto: normaliza el contenido como text
  4. Rama audio:
    • Get File del mensaje de voz
    • Transcripción (ChatGPT) → normaliza como text
  5. Agente de prompt (imagen + “pre-prompt” vídeo):
    • Traduce al inglés
    • Devuelve JSON con campos clave para la API de imagen
  6. Crear tarea de imagen (Nanobanana): POST create task → devuelve task_id
  7. Wait + Polling (Record Info): espera (p. ej., 30 s) y consulta la tarea hasta HTTP 200
  8. Descarga y envío de imagen a Telegram
  9. Visión (ChatGPT): analiza la imagen generada y produce descripción rica en inglés
  10. Agente de prompt (vídeo): combina descripción de imagen + mensaje original → prompt cinematográfico
  11. Crear tarea de vídeo (BO3): POST generate con modelo, ratio, seed, etc.
  12. Wait + Polling (1080p video): espera (p. ej., 150 s) y reintenta hasta HTTP 200
  13. 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 mimetype contiene audio → rama audio
    • Si hay text → rama texto

3) Rama texto

  • Normaliza el campo a text para que el siguiente agente tenga siempre el mismo input

4) Rama audio

  • Get File (Telegram): descarga el file_id del 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 → POST a 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_id de 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. Se recomienda enviar 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
  • 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)? Se monta y se deja producción-ready.

¿Quieres este workflow listo para tu equipo con control de costes, monitorización, reintentos inteligentes y versionado? Se implementa en tu n8n, se adaptan prompts a tu marca y se deja operativo en tu Telegram.

URLs de imágenes

Tags: n8nTelegramIA generativaNanobananaBO3vídeo IA
¿Te suena familiar?

Automatizamos cualquier proceso de tu empresa

Elegimos el stack que mejor se adapta a tu caso real: n8n, Make, Zapier, Python, serverless… Sin atarte a una sola herramienta.