Generación automática de fotos publicitarias de IA para marketing de productos
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
- •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
Nodos utilizados (18)
{
"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
}
]
]
}
}
}¿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.
Flujos de trabajo relacionados recomendados
Julian Ivanov
@julian-ivanovI 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.
Compartir este flujo de trabajo