Generación de imágenes con un agente de IA en n8n: ejemplo de flujo de trabajo
Este ejemplo de flujo de trabajo para generar imágenes con un agente de IA en n8n recorre cada nodo, desde el Chat Trigger hasta la URL final de la imagen: el mensaje del sistema, un sub-flujo que crea y consulta predicciones, la memoria para las ediciones posteriores y una tabla con soluciones para los errores que frenan la mayoría de los montajes.
Escribir una frase en un cuadro de chat y recibir una fotografía terminada parece un pequeño truco, hasta que lo montas tú mismo y ves cómo un agente decide por su cuenta qué escribir, qué herramienta llamar y cuándo parar. Eso es lo que hace un flujo de trabajo de generación de imágenes con un agente de IA en n8n. Un modelo de lenguaje se sitúa en el centro, lee tu petición, la amplía hasta convertirla en un prompt detallado, llama a una API de imágenes como herramienta, espera el render y devuelve un enlace.
Este ejemplo de flujo de trabajo va desde el primer nodo hasta el último. Obtendrás la distribución de nodos, el mensaje del sistema que mantiene honesto al agente, las llamadas HTTP que se comunican con un modelo de imágenes, el bucle de consulta que detiene los resultados vacíos y los errores que hacen perder una tarde. Funciona en cualquier instancia de n8n, en la nube o autoalojada, y cada modelo mencionado aquí tiene su página en PicassoIA.
Qué hace este flujo de trabajo
El flujo de trabajo toma una petición sencilla, como "un mercado callejero lluvioso al atardecer, fotografiado en película de 35 mm", y devuelve la URL alojada de una imagen. Entre la petición y el resultado, un nodo AI Agent toma las decisiones. Nunca llama directamente a la API de imágenes. Llama a una herramienta, y la herramienta hace el trabajo pesado.
La idea en palabras sencillas
Cinco piezas forman todo el montaje:
Chat Trigger: recibe el mensaje desde el panel de chat de n8n o desde un enlace público de chat.
AI Agent: lee el mensaje y decide qué hacer a continuación.
Modelo de chat: el cerebro del agente, conectado como subnodo.
Memoria: guarda los turnos anteriores, para que "hazla más ancha" siga teniendo sentido.
Herramienta de imagen: un sub-flujo que inicia el render, espera a que termine y devuelve la URL.
Eso es un bucle de conversación. El usuario habla, el agente piensa, la herramienta renderiza y el agente responde. Para una primera versión no hace falta nada más, y cada mejora posterior (aprobaciones, almacenamiento, programación) se añade a una de estas cinco piezas.
Por qué un agente supera a una cadena fija
Una cadena fija (disparador, modelo de lenguaje, petición HTTP, respuesta) funciona hasta que alguien escribe "dame tres variaciones, y que una de ellas sea cuadrada". El agente puede llamar a la herramienta tres veces con argumentos distintos, hacer una pregunta aclaratoria o rechazar una petición demasiado vaga como para imaginarla. Una cadena solo puede hacer lo que dibujaste en el lienzo.
Situación
Cadena fija
AI Agent
Una petición sencilla
Funciona
Funciona
Tres variaciones
Necesita un bucle hecho a mano
Llama a la herramienta tres veces
Petición vaga
Pasa el texto vago tal cual
Hace una pregunta o añade detalles
Relación de aspecto distinta
Necesita una nueva rama
Pasa otro argumento
Ediciones posteriores
Olvida el contexto
Lee su memoria
Depuración
Lineal y fácil
Necesita el registro de ejecución
💡 La contrapartida es real. Los agentes gastan más tokens y se comportan de forma menos predecible que una cadena. Si todas las peticiones son iguales, una cadena es más barata y más simple. Elige el agente cuando las peticiones varíen.
Lo que necesitas primero
Tres cosas: una instancia de n8n lo bastante reciente como para incluir el nodo AI Agent y sus subnodos de herramientas, una credencial para un modelo de chat y una credencial para una API de imágenes. Solo te falta paciencia para una prueba y ya estás listo.
Elige el modelo cerebro
El modelo del agente debe llamar a las herramientas de forma fiable. Un modelo rápido suele bastar, porque el agente sobre todo escribe un prompt y elige dos argumentos. Estos modelos de lenguaje (LLM) de PicassoIA son buenos candidatos:
Fija la temperatura entre 0,2 y 0,4. Una aleatoriedad baja hace que los argumentos de la herramienta salgan siempre con la misma forma.
Elige el modelo de imagen
Sea cual sea el modelo de imagen que está detrás de la herramienta, el agente solo ve un nombre, una descripción y dos entradas. Cambiar de modelo más adelante significa editar una URL en el sub-flujo. Estos modelos de texto a imagen forman una lista corta útil:
La API de PicassoIA expone picassoia/picassoia-image para texto a imagen y picassoia/picassoia-image-editor-pro para ediciones. Los modelos de la tabla se pueden usar desde la aplicación web, lo que los convierte en un banco de pruebas útil: prueba allí un prompt antes de confiar en que el agente lo envíe.
Cómo construir el flujo de trabajo en n8n
Paso 1: Chat Trigger y agente
Crea un flujo de trabajo nuevo. Añade el nodo Chat Trigger (aparece como When chat message received) y luego un nodo AI Agent, y conecta el disparador con el agente. Las versiones actuales de n8n ejecutan el agente como un agente de herramientas por defecto. Si tu versión pide un tipo de agente, elige Tools Agent.
En el conector Chat Model del agente, haz clic en el signo más y añade el nodo de modelo que corresponda a tu credencial. Pega la credencial, fija la temperatura en 0,3 y continúa.
Paso 2: Escribe el mensaje del sistema
Abre el nodo AI Agent, añade la opción System Message y pega esto:
You are an image generation assistant.
When the user asks for an image, call the generate_image tool.
Before calling it, rewrite the request as one detailed photographic prompt of 60 to 120 words: subject, setting, lighting direction, lens and surface textures.
Avoid neon, cartoon and CGI wording unless the user asks for it.
If the request is too vague to picture, ask one short question first.
After the tool returns, reply with the image URL on its own line, then one sentence describing the result.
Never invent a URL. If the tool returns an error, say so and offer one retry.
Cada línea tiene una función. La regla de reescritura es lo que determina la calidad de la imagen. La regla de "nunca inventes una URL" existe porque un agente produce con gusto un enlace verosímil cuando una herramienta falla. La regla de reintento evita los bucles sin fin.
💡 En las opciones del agente, fija Max Iterations en 6 u 8. Así, un bucle atascado termina con un error en lugar de consumir tokens toda la noche.
Paso 3: Construye la herramienta de imagen
Añade un subnodo Call n8n Workflow Tool al conector Tool del agente. Ponle el nombre generate_image y escribe la descripción como si fuera una orden de trabajo:
Creates one photographic image from a detailed prompt and returns its public URL.
Inputs: prompt (string, required), aspect_ratio (16:9, 1:1 or 9:16).
Apunta la herramienta a un segundo flujo de trabajo y constrúyelo en este orden:
Execute Workflow Trigger con dos campos de entrada: prompt y aspect_ratio.
HTTP Request llamado Create prediction, que inicia el render.
Nodo Wait configurado en 5 segundos.
HTTP Request llamado Get prediction, que comprueba el estado.
Nodo IF que comprueba si el estado es igual a succeeded.
Si es verdadero: un nodo Edit Fields que devuelve un único campo llamado imageUrl.
Si es falso: un segundo IF que envía failed a un nodo Stop and Error y devuelve cualquier otro estado al nodo Wait.
¿Por qué un sub-flujo en lugar de una herramienta HTTP Request sola? Las API de imágenes son asíncronas. Una herramienta sola iniciaría el render y devolvería un id, y obligaría al agente a consultar por su cuenta, lo que cuesta turnos y tokens extra. El sub-flujo oculta el bucle, así que el agente ve una sola llamada a la herramienta y una sola URL.
Paso 4: Añade memoria
Conecta el subnodo Simple Memory al agente y fija la ventana de contexto en unos ocho mensajes. Usa por defecto el id de la sesión de chat, así que cada visitante tiene un historial separado. Con la memoria activada, "ahora haz la segunda más ancha" funciona, porque el agente puede leer su prompt anterior y cambiar un solo detalle.
El mismo agente también responde desde un teléfono. Cambia el Chat Trigger por un disparador de Telegram o Webhook y el resto del flujo de trabajo no se toca.
Conecta la API de imágenes
Los nodos HTTP dentro del sub-flujo se comunican con la API de PicassoIA: dirección base https://api.picassoia.com/v1, un token bearer que empieza por pia_sk_, y endpoints de predicción al estilo Replicate. Los trabajos son asíncronos: creas una predicción, la consultas y después lees el resultado. Crea tu token en la página de la API de PicassoIA y guárdalo en n8n como credencial Header Auth, con el nombre Authorization y el valor Bearer seguido de tu token.
Crea la predicción
En el nodo Create prediction, fija el método en POST, la autenticación en Generic Credential Type con Header Auth, y el tipo de cuerpo en JSON.
La respuesta incluye una predicción id. Los nombres de los campos de entrada cambian según el modelo, así que confírmalos en la página de la API del modelo que llamas. Los prompts pueden tener hasta 4000 caracteres, lo que deja mucho espacio para una descripción fotográfica de 120 palabras.
Consulta hasta que termine
En Get prediction, envía una petición GET a /v1/predictions/{{ $('Create prediction').item.json.id }}. El estado pasa a succeeded o failed, y el nodo IF lee {{ $json.status }}. Después, el nodo Edit Fields extrae el enlace de la respuesta:
Algunos modelos devuelven una lista y otros una cadena única, de ahí la comprobación. Añade un contador y envía la ejecución a Stop and Error después de 40 consultas, lo que equivale a unos tres minutos con cinco segundos por consulta. Sin ese límite, un solo trabajo atascado puede mantener una ejecución abierta durante horas.
💡 Una cuenta puede ejecutar 5 predicciones a la vez. Para lotes, pon un nodo Loop Over Items delante del agente con un tamaño de lote de 2 o 3, para que la quinta petición nunca llegue a una cola llena.
Prompts que el agente escribe mejor
Deja que el agente amplíe las peticiones cortas
La gente escribe cinco palabras. Los modelos de imagen quieren cincuenta. El mensaje del sistema salva esa distancia, así que el agente convierte una petición corta en un encargo fotográfico completo.
Usuario: un mercado callejero lluvioso al atardecer
Prompt del agente:Plano general de un mercado callejero al atardecer, tras la lluvia, con vendedores bajo toldos de lona a rayas, adoquines mojados que reflejan bombillas de tungsteno cálidas, compradores con paraguas a media distancia, una neblina suave que llega desde la izquierda, objetivo de 35 mm a f/2, grano de película fino, paleta de Kodak Portra 400, textura visible del tejido y gotas de agua sobre las cajas de fruta.
Incluye estas reglas en el mensaje del sistema y el agente las aplicará siempre:
Indica la dirección de la luz, por ejemplo, luz suave de ventana desde la izquierda.
Indica el objetivo, por ejemplo, 35 mm f/2 u 85 mm f/1,8.
Describe las texturas de superficie: tejido, veta de la madera, piedra mojada.
Mantén un solo sujeto por prompt.
No incluyas texto dentro de las imágenes, o límítalo a una o dos palabras.
Escríbelas como reglas ("nombra siempre el objetivo"), no como deseos ("intenta mencionar el objetivo"). Los agentes siguen las reglas con mucha más frecuencia que las sugerencias.
Cómo usar Flux 2 Pro
Antes de incorporar una regla de estilo al mensaje del sistema, pruébala a mano en PicassoIA:
Pega un prompt ampliado que el agente escribió en una ejecución anterior.
Elige 16:9 para escenas amplias, 1:1 para fichas de producto o 9:16 para historias.
Ejecuta la generación y compara el resultado con la imagen que tienes en la cabeza.
Cambia un detalle cada vez, primero la luz y después el objetivo, y vuelve a ejecutar.
Cuando el resultado coincida, copia la redacción ganadora de vuelta en el mensaje del sistema.
💡 Cambia una variable por ejecución. Si reescribes todo el prompt cada vez, nunca sabrás qué cambio ayudó. Para texto corto y legible dentro de una escena, pasa el mismo prompt por GPT Image 2 y compara.
Dónde demuestra su utilidad el flujo de trabajo
Fotos de producto bajo demanda
Un dueño de tienda escribe "taza de cerámica sobre lino, luz de la mañana" y recibe una foto de borrador para su ficha de producto dentro de una misma conversación. Añade un nodo Google Sheets después del agente para anexar el nombre del producto, el prompt y la URL a una hoja. El equipo tendrá así un registro de cada render, y nadie tendrá que buscar en el historial del chat para encontrar el bueno.
Como la memoria está activada, el dueño puede decir "la misma taza, mesa de madera más oscura" y el agente reutiliza la redacción anterior con un solo cambio. Ese hábito de hacer seguimiento es lo que distingue a un agente de un formulario.
Lotes para el blog y las redes
Sustituye el Chat Trigger por un Schedule Trigger. Lee una columna de temas de una hoja, envía cada fila a través de Loop Over Items hacia el agente y escribe la URL devuelta junto al tema. Así, una semana de imágenes principales llega mientras tú haces otra cosa.
Añade un control humano antes de que nada salga al público. Envía las URL a Slack o por correo y espera un visto bueno. Los agentes son rápidos, pero una persona todavía detecta el dedo de más o la temporada equivocada.
Solución de fallos comunes
Síntoma
Causa probable
Solución
El agente responde sin llamar a la herramienta
Descripción de la herramienta poco clara
Empieza la descripción con un verbo y nombra cada entrada
La herramienta se ejecuta pero la respuesta no tiene URL
El nombre del campo de salida no coincide
Comprueba que el nodo Edit Fields devuelve imageUrl y prueba el sub-flujo por separado
La consulta nunca termina
Falta una rama de fallo o un límite de consultas
Envía failed a Stop and Error y limita el bucle a 40 consultas
Respuesta 401
Cabecera incorrecta o token caducado
Vuelve a crear la credencial Header Auth y conserva el prefijo Bearer
Errores 429 o de cola
Más de 5 trabajos a la vez
Usa Loop Over Items con un tamaño de lote de 2 o 3
Las imágenes parecen de dibujos animados
El prompt carece de detalle fotográfico
Añade reglas de objetivo, dirección de la luz y textura al mensaje del sistema
El agente llama a la herramienta una y otra vez
Max Iterations demasiado alto
Fíjalo en 6 y mantén la regla de un solo reintento
💡 Cuando algo falle, ejecuta el sub-flujo solo con datos de entrada fijados. Si funciona por sí mismo, el fallo está en las instrucciones del agente, no en los nodos HTTP.
Pruébalo hoy en PicassoIA
Construye primero la versión más pequeña: un Chat Trigger, un AI Agent y una herramienta de imagen. Diez minutos de conexiones te dan un cuadro de chat que devuelve fotografías, y cada mejora posterior consiste en añadir un solo nodo.
Abre Flux 2 Pro, GPT Image 2 o Nano Banana Pro en tu navegador y escribe tu primer prompt a mano. Elige un cerebro de los modelos de lenguaje de arriba, consigue un token de API en la página de la API de PicassoIA y deja que el agente escriba los siguientes cien prompts por ti. Crea tus propias imágenes en PicassoIA y luego envía el mejor prompt de vuelta a tu flujo de trabajo.