Generación automática de fotos publicitarias de IA para marketing de productos

Avanzado

Este es unAI, Marketing, IT Opsflujo de automatización del dominio deautomatización que contiene 18 nodos.Utiliza principalmente nodos como Merge, GoogleDrive, HttpRequest, GoogleSheets, ConvertToFile, combinando tecnología de inteligencia artificial para lograr automatización inteligente. Generación automática de fotos publicitarias para anuncios de IA de marketing de productos

Requisitos previos
  • Credenciales de API de Google Drive
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Credenciales de API de Google Sheets
  • 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
{
  "meta": {
    "instanceId": "05da4424857d12101f50fff429f8deac0b96048b0ed4cdf3b1b3691af23f7345"
  },
  "nodes": [
    {
      "id": "68c2216d-7393-4d64-a6e4-7b5e384389a4",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        420,
        1020
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini",
          "cachedResultName": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "DVUm005uVd1yUYSL",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "849df02a-cd4c-4c1a-80c9-84852eccd7d7",
      "name": "Combinar",
      "type": "n8n-nodes-base.merge",
      "position": [
        840,
        500
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition"
      },
      "typeVersion": 3.1
    },
    {
      "id": "b1fe6bd4-f20b-4e13-83ce-58aa80372fe5",
      "name": "Leer URLs de Imágenes",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -300,
        480
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17zQUytFekDK305wvgxYdEYm4N5QEQ1mrwsfccNn872I/edit#gid=0",
          "cachedResultName": "Product Images"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "17zQUytFekDK305wvgxYdEYm4N5QEQ1mrwsfccNn872I",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17zQUytFekDK305wvgxYdEYm4N5QEQ1mrwsfccNn872I/edit?usp=drivesdk",
          "cachedResultName": "Image Generation"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "LZ3LlQvYNg4X6eWJ",
          "name": "ivanov"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "3c69465c-e3c7-4536-80ae-70f2bac53414",
      "name": "Descargar Imágenes",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -100,
        480
      ],
      "parameters": {
        "url": "={{ $json['Image-URL'] }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "8f099961-42bd-43c2-8258-64e12a2b9f4b",
      "name": "Analizar Imágenes",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        260,
        820
      ],
      "parameters": {
        "text": "Briefly explain in less than 5 words what this image is about.",
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "GPT-4O-MINI"
        },
        "options": {},
        "resource": "image",
        "inputType": "base64",
        "operation": "analyze"
      },
      "credentials": {
        "openAiApi": {
          "id": "DVUm005uVd1yUYSL",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "9ec41380-5297-4786-8216-140255285edb",
      "name": "Prompt de Fotografía de Producto",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        460,
        820
      ],
      "parameters": {
        "text": "=Image description: {{ $json.content }}",
        "messages": {
          "messageValues": [
            {
              "message": "=Create a short prompt for an AI image generator that receives a photo of a product to ultimately produce professional product photography.\n\nIf the product is wearable, it must be worn by a human model with visible face; if it's not wearable, it must be held or interacted with by a model.\n\nThe product must ALWAYS be shown together with a human model with the model's face visible.\n\nEnsure that instructions for optimal realism, best lighting, best angle, best colors, best model positioning, etc. are included according to the product type.\n\nAlways formulate the prompt to refer to the product as \"this [PRODUCT]\" so the AI image generator knows that an input photo of the product is being submitted.\n\nAlways add subtle grain for a cinematic look.\nThe description of the product will be sent to you. Respond exclusively with the final prompt, nothing else, not even quotation marks."
            }
          ]
        },
        "promptType": "define"
      },
      "typeVersion": 1.6
    },
    {
      "id": "e5fbd22f-4081-4f51-9906-4b0f2d58fa81",
      "name": "Enviar Imagen con Prompt a OpenAI",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1100,
        500
      ],
      "parameters": {
        "url": "https://api.openai.com/v1/images/edits",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "authentication": "predefinedCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "model",
              "value": "gpt-image-1"
            },
            {
              "name": "prompt",
              "value": "={{ $json.text }}"
            },
            {
              "name": "image[]",
              "parameterType": "formBinaryData",
              "inputDataFieldName": "data"
            },
            {
              "name": "quality",
              "value": "high"
            },
            {
              "name": "size",
              "value": "1536x1024"
            }
          ]
        },
        "nodeCredentialType": "openAiApi"
      },
      "credentials": {
        "openAiApi": {
          "id": "DVUm005uVd1yUYSL",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "4812c3d5-d5eb-4ee0-97cb-786d2a3a9da5",
      "name": "Convertir Base64 a Archivo",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        1300,
        500
      ],
      "parameters": {
        "options": {},
        "operation": "toBinary",
        "sourceProperty": "data[0].b64_json"
      },
      "typeVersion": 1.1
    },
    {
      "id": "b6cb024c-1f67-4df2-8bb1-1a3740212b4d",
      "name": "Subir a Drive",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1600,
        500
      ],
      "parameters": {
        "name": "={{ $('Analyze Images').item.json.content }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1mAV3g0eR5XZ2wknZTbcfZOkLlq8GZryP",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1mAV3g0eR5XZ2wknZTbcfZOkLlq8GZryP",
          "cachedResultName": "Product Images"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "cGjALhySclQE3yCC",
          "name": "ivanov"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "7e855dc6-0a1b-44f3-83b8-64d76693de87",
      "name": "Insertar URL de Imagen en Tabla",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1820,
        500
      ],
      "parameters": {
        "columns": {
          "value": {
            "Output": "={{ $json.webViewLink }}",
            "Prompt": "={{ $('Product Photography Prompt').item.json.text }}",
            "Image-URL": "={{ $('Read Image URLs').item.json['Image-URL'] }}"
          },
          "schema": [
            {
              "id": "Image-URL",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Image-URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Prompt",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Prompt",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Output",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Output",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Image-URL"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17zQUytFekDK305wvgxYdEYm4N5QEQ1mrwsfccNn872I/edit#gid=0",
          "cachedResultName": "Product Images"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "17zQUytFekDK305wvgxYdEYm4N5QEQ1mrwsfccNn872I",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/17zQUytFekDK305wvgxYdEYm4N5QEQ1mrwsfccNn872I/edit?usp=drivesdk",
          "cachedResultName": "Image Generation"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "LZ3LlQvYNg4X6eWJ",
          "name": "ivanov"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "611b6d08-5a55-4085-840a-53a1b4eb24ed",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -540,
        380
      ],
      "parameters": {
        "width": 600,
        "height": 360,
        "content": "## Extract Product Images from Template"
      },
      "typeVersion": 1
    },
    {
      "id": "e27aa751-41d4-40a9-a72c-90e327388257",
      "name": "Nota Adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        180,
        720
      ],
      "parameters": {
        "color": 4,
        "width": 600,
        "height": 360,
        "content": "## Analyze Images and Create Prompt for Product Photography"
      },
      "typeVersion": 1
    },
    {
      "id": "ea5e9556-0485-4be9-a35f-32be69ed2de0",
      "name": "Nota Adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1020,
        380
      ],
      "parameters": {
        "color": 5,
        "width": 460,
        "height": 360,
        "content": "## gpt-image-1 creates the Product Photography"
      },
      "typeVersion": 1
    },
    {
      "id": "9869ab24-02db-4b88-8429-b0f7f5a5bf2d",
      "name": "Nota Adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1520,
        380
      ],
      "parameters": {
        "color": 3,
        "width": 520,
        "height": 360,
        "content": "## Output is uploaded to Drive and the Image URLs are saved in the table"
      },
      "typeVersion": 1
    },
    {
      "id": "05c2e7af-6e3e-4171-ac28-444bec1eef49",
      "name": "Al hacer clic en 'Probar flujo de trabajo'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -500,
        480
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "88c861e1-6b7c-4597-899a-e0f13ad7994a",
      "name": "Convertir a Archivo",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        -80,
        -120
      ],
      "parameters": {
        "options": {},
        "operation": "toBinary",
        "sourceProperty": "data[0].b64_json"
      },
      "typeVersion": 1.1
    },
    {
      "id": "0edb4268-9e9e-41a9-9e6e-9bed3a73f0d9",
      "name": "Nota Adhesiva4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -540,
        -220
      ],
      "parameters": {
        "color": 6,
        "width": 660,
        "height": 260,
        "content": "## Simple Image Generation\n### Don't forget the manual trigger ;)"
      },
      "typeVersion": 1
    },
    {
      "id": "81b1385a-4a94-475c-9ee8-31dd5efb8dc7",
      "name": "Generar Imagen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -260,
        -120
      ],
      "parameters": {
        "url": "https://api.openai.com/v1/images/generations",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "authentication": "predefinedCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "model",
              "value": "gpt-image-1"
            },
            {
              "name": "prompt",
              "value": "A childrens book drawing of a veterinarian using a stethoscope to listen to the heartbeat of a baby otter."
            }
          ]
        },
        "nodeCredentialType": "openAiApi"
      },
      "credentials": {
        "openAiApi": {
          "id": "DVUm005uVd1yUYSL",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 4.2
    }
  ],
  "pinData": {
    "Read Image URLs": [
      {
        "Output": "",
        "Prompt": "",
        "Image-URL": "https://www.chamelo.com/cdn/shop/files/image_143.png?v=1727088856",
        "row_number": 2
      },
      {
        "Output": "",
        "Prompt": "",
        "Image-URL": "https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcQLTiQY-Gk_H9uIqBRFFx_C_R8qQqwh2Ob1wWyUnEaLPMlrKxlu1OmQA_zfFWeoSLIFwRUZoNUlcABIZ9VUCx6dJ6ce455OHY2wn7khZdr0BKuFpvgoM6SlFg",
        "row_number": 3
      },
      {
        "Output": "",
        "Prompt": "",
        "Image-URL": "https://www.spierandmackay.com/files/catalog/PRODUCT_IMAGES/Spier&Mackay-JSBH2110-3-Taupe%20-%20Wool%20Scarf%20(3).jpg",
        "row_number": 4
      }
    ],
    "When clicking 'Test workflow'": [
      {}
    ]
  },
  "connections": {
    "849df02a-cd4c-4c1a-80c9-84852eccd7d7": {
      "main": [
        [
          {
            "node": "e5fbd22f-4081-4f51-9906-4b0f2d58fa81",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8f099961-42bd-43c2-8258-64e12a2b9f4b": {
      "main": [
        [
          {
            "node": "9ec41380-5297-4786-8216-140255285edb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "81b1385a-4a94-475c-9ee8-31dd5efb8dc7": {
      "main": [
        [
          {
            "node": "88c861e1-6b7c-4597-899a-e0f13ad7994a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3c69465c-e3c7-4536-80ae-70f2bac53414": {
      "main": [
        [
          {
            "node": "8f099961-42bd-43c2-8258-64e12a2b9f4b",
            "type": "main",
            "index": 0
          },
          {
            "node": "849df02a-cd4c-4c1a-80c9-84852eccd7d7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b1fe6bd4-f20b-4e13-83ce-58aa80372fe5": {
      "main": [
        [
          {
            "node": "3c69465c-e3c7-4536-80ae-70f2bac53414",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b6cb024c-1f67-4df2-8bb1-1a3740212b4d": {
      "main": [
        [
          {
            "node": "7e855dc6-0a1b-44f3-83b8-64d76693de87",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "68c2216d-7393-4d64-a6e4-7b5e384389a4": {
      "ai_languageModel": [
        [
          {
            "node": "9ec41380-5297-4786-8216-140255285edb",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "4812c3d5-d5eb-4ee0-97cb-786d2a3a9da5": {
      "main": [
        [
          {
            "node": "b6cb024c-1f67-4df2-8bb1-1a3740212b4d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9ec41380-5297-4786-8216-140255285edb": {
      "main": [
        [
          {
            "node": "849df02a-cd4c-4c1a-80c9-84852eccd7d7",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "05c2e7af-6e3e-4171-ac28-444bec1eef49": {
      "main": [
        [
          {
            "node": "b1fe6bd4-f20b-4e13-83ce-58aa80372fe5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e5fbd22f-4081-4f51-9906-4b0f2d58fa81": {
      "main": [
        [
          {
            "node": "4812c3d5-d5eb-4ee0-97cb-786d2a3a9da5",
            "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 - Inteligencia Artificial, Marketing, Operaciones de TI

¿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.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos18
Categoría3
Tipos de nodos10
Descripción de la dificultad

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

Autor
Julian Ivanov

Julian Ivanov

@julian-ivanov

I run an AI Automation Agency in Germany called Crystalflow AI and I like to make Youtube Videos about AI with a focus on n8n & automation.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34