Generación de imágenes con OpenRouter en n8n: flujo de trabajo con modelos gratuitos y el costo real

OpenRouter no tiene ningún modelo de imagen marcado como gratuito, pero 16 modelos de texto gratuitos pueden escribir tus prompts. Este flujo de n8n los combina con una llamada de imagen de bajo costo, decodificación base64, un control de gasto y una ruta gratuita en PicassoIA que mantiene los costos cerca de cero.

Generación de imágenes con OpenRouter en n8n: flujo de trabajo con modelos gratuitos y el costo real
Cristian Da Conceicao
Fundador de Picasso IA

Busca un modelo gratuito de generación de imágenes en OpenRouter y pronto chocas con un obstáculo. El 8 de octubre de 2026 consultamos la lista pública de modelos de OpenRouter filtrada por salida de imagen. Devolvió 61 modelos, y ninguno llevaba la etiqueta :free. La lista sin filtrar tenía 16 modelos gratuitos, y todos ellos generan solo texto. Eso suena a mala noticia para cualquiera que quisiera un flujo de trabajo de n8n que haga imágenes sin costo, pero apunta directamente a un diseño que funciona: un modelo de texto gratuito escribe los prompts, el modelo de imagen más barato que encaje los renderiza, y una ruta de costo cero queda lista para todo lo demás.

Este artículo construye ese flujo nodo a nodo. Verás el disparador, el redactor de prompts, la llamada HTTP al endpoint de imágenes de OpenRouter, la decodificación base64, el almacenamiento y un control de gasto que detiene un bucle descontrolado antes de que vacíe tu saldo. Por el camino verás cuánto cuesta cada pieza, qué ajustes hacen tropezar a la gente y cómo ejecutar el mismo trabajo a través de PicassoIA cuando quieras un paso de imagen gratuito.

Manos de una mujer escribiendo en un equipo portátil plateado sobre una mesa de cocina, con un lienzo de flujo de trabajo desenfocado en la pantalla

Qué significa realmente gratis en OpenRouter

La palabra "gratis" se estira mucho en los mercados de modelos, así que defínela antes de conectar nada.

Los modelos de texto gratuitos escriben tus prompts

OpenRouter marca los modelos de costo cero con el sufijo :free en el slug. El día que lo comprobamos, 16 modelos lo tenían, entre ellos nvidia/nemotron-3-super-120b-a12b:free, google/gemma-4-31b-it:free, poolside/laguna-s-2.1:free y thinkingmachines/inkling:free, que además acepta imágenes y audio como entrada. Todos devuelven texto. Eso es justo lo que necesita la primera mitad de un flujo de trabajo de imágenes, porque un prompt son unos cuantos cientos de tokens.

Los modelos gratuitos rotan y tienen límites de peticiones por minuto y por día que se relajan cuando una cuenta compra créditos. Trata cada slug de este artículo como un ejemplo y revisa la lista actual antes de fijar uno en el código.

💡 Consejo: Prueba tu instrucción para redactar prompts antes de crear el nodo. Pégala en Gemini 3.5 Flash o Llama 4 Scout Instruct en PicassoIA y lee lo que devuelve.

Los modelos de imagen cobran por imagen

Las imágenes pasan por un endpoint dedicado, https://openrouter.ai/api/v1/images, con el mismo token Bearer que las llamadas de texto. La facturación depende del modelo: algunos cobran por imagen, otros por megapíxel o por token. El propio tutorial de imágenes de OpenRouter sitúa la diferencia desde muy por debajo de un céntimo hasta más de diez céntimos por imagen. Cada respuesta incluye un campo usage.cost con el cargo real, y ese es el número que tu flujo de trabajo debería registrar.

⚠️ Cuidado: Un 0 en los campos de precio de tokens no hace gratuito a un modelo. La mayoría de los modelos solo de imagen de la lista pública muestran 0 tanto para el precio del prompt como para el de la respuesta, y el tutorial de imágenes de OpenRouter indica que ninguno de ellos tiene la etiqueta gratuita. Lee los precios en la página del modelo y fíate de usage.cost.

Cuatro rutas comparadas

RutaPrecioSalidaMejor uso
Modelo de texto de OpenRouter :free$0, con límite de peticionesSolo textoEscribir y reescribir prompts
Modelo de imagen de pago en OpenRouterPor imagen, indicado en usage.costImagen en base64Imágenes de producción finales
API de PicassoIA con PicassoIA ImageIndicado como gratuito en la página de la APIURL de la imagenUn paso de imagen de costo cero
PicassoIA en el navegadorDepende del modelo y del planImágenes, ediciones, videoProbar prompts a mano

Moneda plateada sobre una pila de fotografías de paisajes impresas en una mesa de roble claro

El flujo de trabajo de un vistazo

Siete pasos, y cada uno corresponde a un único nodo de n8n o a un par corto de nodos:

  1. Disparador: manual mientras pruebas, luego una programación, un webhook o una nueva fila de hoja de cálculo.
  2. Entradas: tema, estilo y relación de aspecto definidos en un nodo Edit Fields.
  3. Redactor de prompts: una cadena LLM que ejecuta un modelo :free.
  4. Llamada de imagen: un nodo HTTP Request que envía una petición POST a /api/v1/images.
  5. Decodificación: copia b64_json en su propio campo y luego conviértelo en un archivo.
  6. Almacenamiento: Google Drive, un bucket compatible con S3 o el disco local.
  7. Control: registra usage.cost, reintenta si falla y envía una alerta cuando algo no cuadra.

n8n incluye un nodo OpenRouter Chat Model para sus cadenas de IA, así que el paso 3 no necesita HTTP personalizado. Solo lo necesita la llamada de imagen, porque los nodos de cadena están pensados para texto.

Diagrama de flujo dibujado a lápiz con cinco cajas vacías unidas por flechas en un cuaderno

Constrúyelo nodo a nodo

Empieza con un Manual Trigger para ejecutar un elemento cada vez. A continuación, añade un nodo Edit Fields que fije tres valores: topic (por ejemplo, "taza de cerámica en un alféizar iluminado por el sol"), style ("luz natural, 50 mm, grano de película") y aspectRatio ("16:9"). Cambia el disparador por un Schedule Trigger o por una fila de Google Sheets cuando la cadena funcione.

Redactor de prompts con un modelo gratuito

Añade una Basic LLM Chain y conecta el subnodo OpenRouter Chat Model. Crea una credencial de OpenRouter con tu token y elige uno de los slugs :free. Usa un mensaje de sistema como este:

You write one image prompt per request. Describe subject, setting,
light, lens and mood in 60 to 90 words. Put no text in the image.
Return only the prompt.

Un buen resultado se lee así: "Una taza de café negro de cerámica sobre un alféizar iluminado por el sol, con vapor que se curva hacia una cortina de lino, luz suave de la mañana desde la izquierda, objetivo de 50 mm a f/2, profundidad de campo reducida, esmalte mate con pequeñas motas, ambiente tranquilo y calmado". Es corto, concreto y no tiene el relleno que los modelos de imagen ignoran.

Pasa {{ $json.topic }} y {{ $json.style }} como mensaje de usuario y mantén la temperatura cerca de 0,7. La cadena devuelve el prompt en un campo text. Revisa la pestaña de salida y ajusta el nombre si tu versión de n8n es distinta.

Hombre con jersey gris pensando en un escritorio de pie mientras lee en un equipo portátil

Petición HTTP al endpoint de imágenes

Añade un nodo HTTP Request con estos ajustes:

  • Method: POST
  • URL: https://openrouter.ai/api/v1/images
  • Authentication: Generic Credential Type, Header Auth, nombre Authorization, valor Bearer seguido de tu token
  • Send Body: activado, JSON, "Using JSON"

Construye el cuerpo con una expresión en lugar de escribir el JSON a mano, porque los prompts contienen comillas que rompen una plantilla simple:

={{ JSON.stringify({
  model: "bytedance-seed/seedream-4.5",
  prompt: $json.text,
  aspect_ratio: "16:9",
  output_format: "webp"
}) }}

Cambia el slug por cualquier modelo de la lista filtrada. El soporte de parámetros varía según el proveedor, así que elimina una opción si un modelo la rechaza. El endpoint también acepta resolution, quality y n para varias imágenes a la vez, y input_references para editar a partir de una imagen de origen.

La respuesta tiene esta forma (los valores son de ejemplo):

{
  "data": [{ "b64_json": "...", "media_type": "image/webp" }],
  "usage": { "cost": 0.04 }
}

Abre los ajustes del nodo y activa Retry On Fail con dos o tres intentos y una espera de unos segundos. Los errores transitorios del proveedor son frecuentes, y reintentar no cuesta nada cuando la llamada fallida no se facturó.

Portátil de un desarrollador con un editor de código desenfocado en un salón con poca luz

Decodificar y guardar el archivo

Añade un segundo nodo Edit Fields con dos asignaciones: image_base64 con el valor {{ $json.data[0].b64_json }} y cost con el valor {{ $json.usage.cost }}. Luego añade Convert to File, elige "Move Base64 String to File" y escribe image_base64 como nombre del campo de entrada. Ese es el nombre del campo, no la cadena codificada en sí, y es el error más común con este nodo.

Nombra el archivo {{ $now.toFormat('yyyyMMdd-HHmmss') }}.webp y mantén la extensión coherente con el output_format que pediste. Si no coinciden, obtendrás archivos que no se abren.

Termina con un nodo Google Drive, un nodo S3 apuntando a cualquier bucket compatible con S3 o Read/Write Files from Disk si n8n se ejecuta en tu propia máquina.

Mano colocando un SSD externo pequeño junto a hojas de contacto impresas en un escritorio gris

Controla el gasto

Un flujo que entra en bucle por accidente es la forma más rápida de convertir "casi gratis" en una factura sorpresa.

Limita y registra el gasto

Pon un límite de créditos al token de OpenRouter que das a n8n, así el peor caso es una cifra que tú elegiste de antemano. Después añade cost y una marca de tiempo a una fila de Google Sheets en cada ejecución. Un nodo IF que compare cost con un umbral, conectado a una alerta por correo o chat, detecta un modelo que de pronto cuesta más que la semana pasada.

Ralentiza las llamadas gratuitas

Los modelos gratuitos responden con errores de límite de peticiones cuando los fuerzas. Pon un nodo Loop Over Items con un tamaño de lote de 1 delante del redactor de prompts, añade un nodo Wait de unos segundos dentro del bucle y deja Retry On Fail activado. Así, un lote de cincuenta temas avanza poco a poco en lugar de fallar en el elemento doce. Aplica el mismo tratamiento a la llamada de imagen, ya que los proveedores también pueden limitar las ráfagas ahí.

Calculadora, recibos de papel y una taza de cerámica en un escritorio ordenado visto desde arriba

Elige un modelo de imagen que encaje

Varios slugs de imagen de OpenRouter pertenecen a familias que puedes probar a mano en PicassoIA, una forma rápida de juzgar el estilo antes de fijar un slug en el flujo.

Slug de OpenRouterCreadorPrueba la misma familia en PicassoIA
openai/gpt-image-2OpenAIGPT Image 2
bytedance-seed/seedream-4.5ByteDanceSeedream 4.5
black-forest-labs/flux.2-proBlack Forest LabsFlux 2 Pro
google/gemini-3-pro-imageGoogleNano Banana Pro

Para imágenes principales y cualquier cosa con detalle legible, paga por uno de los mejores modelos, como GPT Image 2 y genera una imagen por tema. Para un volumen alto, como miniaturas y variantes para redes sociales, elige un slug más pequeño y barato y deja que el redactor gratuito de prompts haga el trabajo pesado.

Antes de decidirte, ejecuta diez temas típicos con dos slugs candidatos y suma la columna cost de tu hoja. El modelo más barato suele ganar en miniaturas y perder en la representación de texto, las manos y el detalle fino de producto, y una prueba de diez temas te lo muestra en cuestión de minutos. Guarda el slug ganador en un solo lugar, como el nodo Edit Fields al inicio del flujo, para que cambiar de modelo sea un cambio de una línea.

Revisa antes de publicar

La automatización no debería publicar a ciegas. Guarda los resultados en una carpeta, publica una cuadrícula de miniaturas en un canal de chat y espera un pulgar arriba antes de que cualquier imagen llegue a una web. Dos minutos de revisión humana valen más que una mano rota en la foto de un producto.

Dos compañeros inclinados hacia un monitor para revisar una cuadrícula de fotografías

Una ruta gratuita a través de PicassoIA

PicassoIA publica una API con un flujo de estilo Replicate. Su página de la API enumera cuatro modelos: picassoia/picassoia-image para texto a imagen, picassoia/picassoia-image-editor-pro para editar y combinar imágenes, picassoia/picassoia-video y picassoia/seedance-2.5-lite para video con audio sincronizado. La misma página indica que "API predictions are currently free" y que no usan créditos, y que crear predicciones requiere el plan Infinite. Confirma las condiciones en la página de la API de PicassoIA antes de construir sobre ellas, ya que los planes cambian. La concurrencia está limitada a 5 predicciones por cuenta.

Ejecuta primero el prompt a mano

  1. Abre la página del modelo PicassoIA Image.
  2. Pega el prompt que escribió tu modelo de texto gratuito.
  3. Elige la relación de aspecto 16:9 y genera.
  4. Compara el resultado con el mismo prompt en Seedream 4.5 o Qwen Image 2512.
  5. Guarda las palabras de estilo que funcionaron y ponlas en el campo style de tu nodo Edit Fields.

Crear, esperar, consultar, descargar

Los trabajos de PicassoIA son asíncronos, así que el diseño en n8n tiene cuatro nodos en lugar de uno:

  1. HTTP Request (crear): POST a https://api.picassoia.com/v1/models/picassoia/picassoia-image/predictions con un encabezado Bearer y el cuerpo { "input": { "prompt": "...", "aspect_ratio": "16:9", "num_outputs": 1, "output_format": "webp" } }. Constrúyelo con JSON.stringify como antes.
  2. Wait: de cinco a diez segundos.
  3. HTTP Request (consultar): GET https://api.picassoia.com/v1/predictions/{{ $json.id }}.
  4. IF: cuando status sea igual a succeeded, continúa. Cuando sea starting o processing, vuelve al nodo Wait. Cuando sea failed o canceled, envía a tu alerta.

Si tiene éxito, el campo output contiene una URL o una lista de URL. Añade un nodo HTTP Request más con el formato de respuesta en File y descárgala, y reutiliza el mismo nodo de almacenamiento de antes.

💡 Tip: ¿Necesitas editar una foto en lugar de generarla? PicassoIA Image Editor Pro se encarga de editar y combinar imágenes, y es el modelo al que llamar para cambiar fondos y retocar productos.

Las imágenes fijas que guarda tu flujo de trabajo también pueden alimentar un paso de video. Modelos de imagen a video como Wan 2.7 I2V, LTX 2.3 Fast y Seedance 2.0 convierten una imagen en un clip corto, y PicassoIA Video es la ruta de API para la misma idea. Añádelo como una segunda rama después del nodo de almacenamiento para que un solo tema produzca una imagen y un clip.

Escritorio de un editor de video con un monitor ancho que muestra una línea de tiempo desenfocada y unos auriculares de estudio

Mantenlo en marcha

Soluciones a fallos comunes

SíntomaCausa probableSolución
HTTP 402La cuenta se quedó sin créditosAñade créditos o pasa el paso que falla a una ruta gratuita
HTTP 429Límite de peticiones del modelo gratuitoLoop Over Items, un nodo Wait y Retry On Fail
Cuerpo JSON no válidoLas comillas del prompt rompieron una plantilla escrita a manoConstruye el cuerpo con JSON.stringify
El archivo no se abreNombre de campo de entrada incorrecto, o la extensión no coincide con media_typeUsa el nombre de campo image_base64 y ajusta la extensión a output_format
Slug no encontradoUn modelo cambió de nombre o se retiróVuelve a consultar la lista de modelos y actualiza el slug
Base64 dañadoLa ruta de chat completions devolvió una URL de datosElimina el prefijo data:image/...;base64, en Edit Fields

La ruta de chat completions, que usa un array modalities, es la forma más antigua de obtener imágenes de modelos que devuelven texto e imágenes a la vez. Sigue funcionando con esos modelos, pero el endpoint de imágenes dedicado da una respuesta más limpia y es el que se usa en todo este artículo.

Vigila si aparece un modelo de imagen gratuito

Puede que algún día aparezcan modelos de imagen gratuitos, y querrás enterarte esa misma mañana. Construye un segundo flujo pequeño:

  1. Un Schedule Trigger que se active una vez a la semana.
  2. Una HTTP Request a https://openrouter.ai/api/v1/models?output_modalities=image, que no necesita token.
  3. Un nodo Code que devuelva los ids que terminan en :free.
  4. Un nodo IF que envíe un mensaje solo cuando esa lista no esté vacía.

Es una construcción de cinco minutos, y significa que el hallazgo central de este artículo se vuelve a comprobar automáticamente en lugar de quedarse obsoleto.

Pruébalo hoy en PicassoIA

Ahora tu flujo de trabajo cuenta con un cerebro gratuito para los prompts, un paso de imagen de pago cuyo costo puedes calcular con exactitud, y una rama de costo cero para cuando el presupuesto aprieta. La forma más rápida de dar con el estilo que buscas es probar antes unos cuantos prompts a mano. Abre PicassoIA Image, pega el prompt que escribió tu cadena de n8n y compáralo con Flux 2 Pro y Nano Banana Pro. Cuando uno de ellos te dé la imagen que tenías en mente, copia sus ajustes en el flujo de trabajo y deja que se ejecute.

Compartir este artículo

Elige tu idioma