Nano banana + Publicación automática

Avanzado

Este es unSocial Media, Multimodal AIflujo de automatización del dominio deautomatización que contiene 20 nodos.Utiliza principalmente nodos como If, Wait, HttpRequest, GoogleSheets, Agent. Automatizar la edición de imágenes y publicaciones en Instagram con generación de títulos de Nano Banana y GPT-5

Requisitos previos
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Credenciales de API de Google Sheets
  • Credenciales de API de Google Drive
  • Clave de API de OpenAI
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "y3AF1pEsxHZOiRC0",
  "meta": {
    "instanceId": "1c7b08fed4406d546caf4a44e8b942ca317e7e207bb9a5701955a1a6e1ce1843",
    "templateCredsSetupCompleted": true
  },
  "name": "Nano banana + Autopost",
  "tags": [],
  "nodes": [
    {
      "id": "b550bf52-81d7-44b7-8a56-6582a635870b",
      "name": "Google Disparador de Drive",
      "type": "n8n-nodes-base.googleDriveTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {
        "event": "fileCreated",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "triggerOn": "specificFolder",
        "folderToWatch": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_FOLDER_ID",
          "cachedResultUrl": "YOUR_FOLDER_URL",
          "cachedResultName": "Image Upload Folder"
        }
      },
      "credentials": {},
      "typeVersion": 1
    },
    {
      "id": "63942884-b26a-48b2-8063-7b8c59494cf2",
      "name": "Solicitud POST a Nano Banana",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        240,
        0
      ],
      "parameters": {
        "url": "https://api.wavespeed.ai/api/v3/google/nano-banana/edit",
        "method": "POST",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "jsonBody": "={\n  \"enable_base64_output\": false,\n  \"enable_sync_mode\": false,\n  \"images\": [\n    \"{{ $json.webContentLink }}\"\n  ],\n  \"output_format\": \"jpeg\",\n  \"prompt\": \"Clean up and declutter this apartment unit: remove all mess, trash, and personal items while keeping the original furniture, layout, and design intact. Tidy up surfaces, straighten objects, and make the space look neat and inviting. Enhance the lighting to appear bright and natural, similar to professional real-estate photography, without altering the structure or style of the apartment.\"\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {},
      "typeVersion": 4.2
    },
    {
      "id": "6c3c8e4d-a5ea-4287-8d71-ed732bb3a719",
      "name": "Esperar 15 segundos",
      "type": "n8n-nodes-base.wait",
      "position": [
        400,
        0
      ],
      "webhookId": "319f45e0-26e7-457d-b5c5-560a8bba9f8b",
      "parameters": {
        "amount": 15
      },
      "typeVersion": 1.1
    },
    {
      "id": "ff945721-7eaa-453e-a8aa-efd7abac7c6e",
      "name": "Obtener resultado del nodo Nano Banana",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        656,
        0
      ],
      "parameters": {
        "url": "=https://api.wavespeed.ai/api/v3/predictions/{{ $json.data.id }}/result",
        "options": {
          "redirect": {
            "redirect": {}
          }
        },
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {},
      "typeVersion": 4.2
    },
    {
      "id": "4f98a56c-3eb9-4fdc-a606-29b1e10981e7",
      "name": "Agregar fila en hoja",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1152,
        0
      ],
      "parameters": {
        "columns": {
          "value": {
            "Image URL": "={{ $json.data.outputs[0] }}",
            "Timestamp": "={{ $now }}"
          },
          "schema": [
            {
              "id": "Image URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Image URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_SHEET_NAME",
          "cachedResultUrl": "YOUR_SHEET_URL",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_SHEET_ID",
          "cachedResultUrl": "YOUR_SHEET_URL",
          "cachedResultName": "Editted Image Log"
        }
      },
      "credentials": {},
      "typeVersion": 4.7
    },
    {
      "id": "0ecbc4d6-f6a8-49d3-9be7-e1d344f6ac6f",
      "name": "Si",
      "type": "n8n-nodes-base.if",
      "position": [
        864,
        0
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "b84517df-a71f-4e28-b744-35bb1e55b85f",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.data.status }}",
              "rightValue": "completed"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "8538e41c-39e3-4923-9167-cfe17c687cdc",
      "name": "Esperar 15 segundos nuevamente",
      "type": "n8n-nodes-base.wait",
      "position": [
        928,
        176
      ],
      "webhookId": "5e110e46-28c5-4144-9052-16821d0ea666",
      "parameters": {
        "amount": 15
      },
      "typeVersion": 1.1
    },
    {
      "id": "2dbc81b2-7bcb-4fb5-81da-0cbe1b92d05b",
      "name": "Subir a Postiz",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1600,
        0
      ],
      "parameters": {
        "url": "https://api.postiz.com/public/v1/upload",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "file",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {},
      "typeVersion": 4.2
    },
    {
      "id": "c3184cf0-6101-48a7-9a44-4c800237f544",
      "name": "Publicar en Instagram",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2432,
        0
      ],
      "parameters": {
        "url": "https://api.postiz.com/public/v1/posts",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"type\": \"now\",\n  \"shortLink\": false,\n  \"date\": \"{{ new Date($now).toISOString() }}\",\n  \"tags\": [],\n  \"posts\": [\n    {\n      \"integration\": { \"id\": \"cmeku38qa00cpo90yfw4ai6lt\" },\n      \"value\": [\n        {\n          \"content\": \"{{ $json.output }}\",\n          \"image\": [\n            {\n              \"id\": \"{{ $node['Upload to Postiz'].json.id }}\",\n              \"path\": \"{{ $node['Upload to Postiz'].json.path }}\"\n            }\n          ]\n        }\n      ],\n      \"settings\": {\n        \"post_type\": \"post\"\n      }\n    }\n  ]\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {},
      "typeVersion": 4.2
    },
    {
      "id": "c46c1b35-4bf0-4c90-9881-efd520df4b2a",
      "name": "Actualizar registro",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1824,
        0
      ],
      "parameters": {
        "columns": {
          "value": {
            "Status": "Uploaded to Postiz",
            "Timestamp": "={{ $now }}",
            "Video Name and Description": "={{ $('Google Drive Trigger').item.json.name }}"
          },
          "schema": [
            {
              "id": "Video Name and Description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Video Name and Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_SHEET_NAME",
          "cachedResultUrl": "YOUR_SHEET_URL",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "YOUR_SHEET_ID",
          "cachedResultUrl": "YOUR_SHEET_URL",
          "cachedResultName": "Logs of Captioned Videos to Publish"
        }
      },
      "credentials": {},
      "typeVersion": 4.7
    },
    {
      "id": "cb42c1d0-795f-4605-93f3-e13f6944654b",
      "name": "OpenAI Modelo de chat",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        2112,
        208
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5",
          "cachedResultName": "gpt-5"
        },
        "options": {}
      },
      "credentials": {},
      "typeVersion": 1.2
    },
    {
      "id": "2e6dd8f6-460c-483e-a3d8-385d519ca7da",
      "name": "Agente de subtítulos",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        2064,
        0
      ],
      "parameters": {
        "text": "={{ $json['Video Name and Description'] }}",
        "options": {
          "systemMessage": "=You are an expert Instagram caption writer.\nYour task is to take the image prompt provided by the user and generate a short, engaging caption for Instagram or Tik-Tok Reels\n\nCaption Guidelines\n\n\nTone: friendly, impactful and exciting\n\n##Output Rules\nDo not use special characters like {} ! %$&*\nReturn only one final caption per request.\nDo not include explanations or formatting outside of the caption itself."
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "3ab434fd-3256-4687-92fa-0246078c391c",
      "name": "Nota adhesiva4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2032,
        -288
      ],
      "parameters": {
        "color": 7,
        "width": 288,
        "height": 800,
        "content": "Caption for IG"
      },
      "typeVersion": 1
    },
    {
      "id": "58a237a0-8a4b-4c75-875d-833731a2c313",
      "name": "Nota adhesiva5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2336,
        -288
      ],
      "parameters": {
        "color": 2,
        "width": 304,
        "height": 800,
        "content": "Post to IG"
      },
      "typeVersion": 1
    },
    {
      "id": "1f080554-b4ef-42c9-8e6b-ecbeb78dc093",
      "name": "Obtener imagen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1392,
        0
      ],
      "parameters": {
        "url": "={{ $json['Image URL'] }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "dff121ad-7120-452e-a4ae-9e33a1dfc4b4",
      "name": "Nota adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1360,
        -288
      ],
      "parameters": {
        "color": 3,
        "width": 656,
        "height": 800,
        "content": "Get Image and Upload"
      },
      "typeVersion": 1
    },
    {
      "id": "d8d5a377-1a6f-4684-851a-5f51adaf10f3",
      "name": "Nota adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        -288
      ],
      "parameters": {
        "color": 4,
        "width": 784,
        "height": 800,
        "content": "Get Results from Nano Banana"
      },
      "typeVersion": 1
    },
    {
      "id": "801e4aaf-ce66-4c03-9fe8-9a0cab42d8ed",
      "name": "Nota adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        -288
      ],
      "parameters": {
        "color": 5,
        "height": 800,
        "content": "Drive Trigger"
      },
      "typeVersion": 1
    },
    {
      "id": "4c8622a9-d705-4444-93ed-513a4c033b80",
      "name": "Nota adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        176,
        -288
      ],
      "parameters": {
        "width": 368,
        "height": 800,
        "content": "Drive Trigger"
      },
      "typeVersion": 1
    },
    {
      "id": "31820743-5d4d-4d93-9553-db353fbcc6ac",
      "name": "Nota adhesiva6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1056,
        -368
      ],
      "parameters": {
        "color": 7,
        "width": 848,
        "height": 1536,
        "content": "📸 Auto-Edit Google Drive Images with Nano Banana + Social Auto-Post\n\nDrop an image into Google Drive and let this workflow handle the rest: it auto-cleans and enhances the image with Google’s Nano Banana (via Wavespeed API), generates a catchy caption with GPT-5, and publishes directly to your connected social accounts using Postiz.\n\n👉 Watch step-by-step video tutorials of workflows like these on https://www.youtube.com/watch?v=4wk6PYgBtBM&list=PL05w1TE8X3bb1H9lXBqUy98zmTrrPP-s1\n\nWhat it does\n\nTriggers from Google Drive when a new image is uploaded\n\nSends the image to Nano Banana to declutter, brighten, and make it real-estate/photo-listing ready\n\nPolls for the edited result until it’s complete\n\nLogs the edited image URL into Google Sheets for tracking\n\nDownloads and uploads the edited image into Postiz media library\n\nGenerates an engaging caption with GPT-5 Caption Agent\n\nPublishes instantly to Instagram (can be extended to TikTok, LinkedIn, etc.)\n\nPerfect for\n\nReal-estate agents posting property shots\n\nEcommerce sellers updating product catalogs\n\nSocial media marketers needing fast, polished posts\n\nApps & Services\n\nGoogle Drive (Trigger)\n\nWavespeed API – Google Nano Banana (Image editing)\n\nGoogle Sheets (Logging)\n\nPostiz (Social scheduling/posting)\n\nOpenAI GPT-5 (Caption agent)\n\nSetup\n\nConnect your Google Drive and select the upload folder.\n\nAdd your Wavespeed API key for Nano Banana.\n\nConnect Google Sheets for logging.\n\nAdd Postiz API credentials and set the integration ID for your channel(s).\n\nEnter your OpenAI API key for GPT-5 captioning.\n\nCustomization\n\nAdjust the edit prompt for different use cases (e.g., product cleanup, lighting tweaks).\n\nChange Postiz post type to scheduled instead of “now.”\n\nAdd more Postiz posts for multi-platform publishing.\n\nInsert an approval loop (Slack/Email) before posting.\n\nLogs\n\nEdited Image Log (Sheets): stores final image URL + timestamp.\n\nPublishing Log (Sheets): tracks workflow status per asset.\n\nNotes\n\nSticky notes in the template explain each major block.\n\nReplace sample IDs with your own (folder IDs, sheet IDs, Postiz integration).\n\nKeep all API keys in n8n Credentials, not in node parameters."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "5b7201de-043e-4ae6-95d0-fb7a33290f68",
  "connections": {
    "0ecbc4d6-f6a8-49d3-9be7-e1d344f6ac6f": {
      "main": [
        [
          {
            "node": "4f98a56c-3eb9-4fdc-a606-29b1e10981e7",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "8538e41c-39e3-4923-9167-cfe17c687cdc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1f080554-b4ef-42c9-8e6b-ecbeb78dc093": {
      "main": [
        [
          {
            "node": "2dbc81b2-7bcb-4fb5-81da-0cbe1b92d05b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c46c1b35-4bf0-4c90-9881-efd520df4b2a": {
      "main": [
        [
          {
            "node": "2e6dd8f6-460c-483e-a3d8-385d519ca7da",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6c3c8e4d-a5ea-4287-8d71-ed732bb3a719": {
      "main": [
        [
          {
            "node": "ff945721-7eaa-453e-a8aa-efd7abac7c6e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2e6dd8f6-460c-483e-a3d8-385d519ca7da": {
      "main": [
        [
          {
            "node": "c3184cf0-6101-48a7-9a44-4c800237f544",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2dbc81b2-7bcb-4fb5-81da-0cbe1b92d05b": {
      "main": [
        [
          {
            "node": "c46c1b35-4bf0-4c90-9881-efd520df4b2a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cb42c1d0-795f-4605-93f3-e13f6944654b": {
      "ai_languageModel": [
        [
          {
            "node": "2e6dd8f6-460c-483e-a3d8-385d519ca7da",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "8538e41c-39e3-4923-9167-cfe17c687cdc": {
      "main": [
        [
          {
            "node": "ff945721-7eaa-453e-a8aa-efd7abac7c6e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4f98a56c-3eb9-4fdc-a606-29b1e10981e7": {
      "main": [
        [
          {
            "node": "1f080554-b4ef-42c9-8e6b-ecbeb78dc093",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b550bf52-81d7-44b7-8a56-6582a635870b": {
      "main": [
        [
          {
            "node": "63942884-b26a-48b2-8063-7b8c59494cf2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "63942884-b26a-48b2-8063-7b8c59494cf2": {
      "main": [
        [
          {
            "node": "6c3c8e4d-a5ea-4287-8d71-ed732bb3a719",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ff945721-7eaa-453e-a8aa-efd7abac7c6e": {
      "main": [
        [
          {
            "node": "0ecbc4d6-f6a8-49d3-9be7-e1d344f6ac6f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - Redes sociales, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Flujos de trabajo relacionados recomendados

Submagic + Publicación automática
Usar Submagic, Postiz y OpenAI para agregar automáticamente subtítulos a videos y publicar en Instagram y TikTok
If
Code
Wait
+
If
Code
Wait
21 NodosAutomate With Marc
IA Multimodal
Asistente de conversión de imagen a video compuesto
Generar video a partir de imágenes mediante la integración de Telegram, GPT-4.1 y Seedance/Veo3
If
Wait
Telegram
+
If
Wait
Telegram
22 NodosAutomate With Marc
Creación de contenido
Agente de clonación de Reels populares de Instagram + publicación automática
Usa la clonación de IA para crear y publicar automáticamente Reels de Instagram: desde el guion hasta la publicación (Heygen + Submagic + Blotato)
If
Wait
Http Request
+
If
Wait
Http Request
21 NodosAutomate With Marc
Creación de contenido
Generar imágenes para boletines de noticias con Nano Banana y publicar tuits revisados manualmente en X
Usar Nano Banana para generar imágenes de boletines de noticias y publicar tweets de revisión manual en X
If
Wait
Twitter
+
If
Wait
Twitter
25 NodosSulieman Said
Redes sociales
Fábrica de contenido de LinkedIn (con investigación de OpenAI y generación de imágenes de marca)
Fábrica de contenido de LinkedIn, integrando investigación de OpenAI y generación de imágenes de marca de Replicate
If
Set
Code
+
If
Set
Code
23 NodosOnur
Redes sociales
Automatización de prospección de socios comerciales con Google Maps, GPT-4 y WhatsApp
Automatización de la expansión de socios comerciales con Google Maps, GPT-4 y WhatsApp
If
Set
Code
+
If
Set
Code
64 NodosKhairul Muhtadin
Chatbot de IA
Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos20
Categoría2
Tipos de nodos8
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Automate With Marc

Automate With Marc

@marconi

Automating Start-Up and Business processes. Helping non-techies understand and leverage Agentic AI with easy to understand step-by-step tutorials. Check out my educational content: https://www.youtube.com/@Automatewithmarc

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34