Producto-IA
Avanzado
Este es unautomatización que contiene 18 nodos.Utiliza principalmente nodos como Set, Code, Filter, GoogleDrive, HttpRequest. usoGemini 2.5 Flash AI增强Google云端硬盘图像
Requisitos previos
- •Credenciales de API de Google Drive
- •Pueden requerirse credenciales de autenticación para la API de destino
Nodos utilizados (18)
Categoría
-
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": "CTqDPrpw33Mx1pP2",
"meta": {
"instanceId": "d1b9b74c805fea7fca1b903ee192d1d4090b516d3c254da86beb2f13b7c2ed2e",
"templateCredsSetupCompleted": true
},
"name": "product-ia",
"tags": [],
"nodes": [
{
"id": "729ee875-0ba7-4a2a-95d7-fbd17efcb46f",
"name": "Recorrer elementos",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-608,
272
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "8d616ad2-1bd5-4754-86b6-309ddfbcd6e1",
"name": "to base64",
"type": "n8n-nodes-base.extractFromFile",
"position": [
-192,
288
],
"parameters": {
"options": {},
"operation": "binaryToPropery"
},
"typeVersion": 1
},
{
"id": "fadb23df-a7fa-421b-afd0-f3805e73577b",
"name": "banana-request",
"type": "n8n-nodes-base.httpRequest",
"position": [
0,
288
],
"parameters": {
"url": "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-image-preview:generateContent",
"method": "POST",
"options": {},
"jsonBody": "={\n \"generationConfig\": {\n \"temperature\": 1,\n \"topP\": 0.95,\n \"responseModalities\": [\n \"IMAGE\" \n]\n },\n \"contents\": [\n {\n \"role\": \"user\",\n \"parts\": [\n {\n \"text\": {{ JSON.stringify($('Loop Over Items').item.json.promt) }}\n },\n {\n \"inline_data\": {\n \"mime_type\": \"{{ $json.mime || 'image/jpeg' }}\",\n \"data\": \"{{ $json.data }}\"\n }\n }\n ]\n }\n ]\n}\n",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "googlePalmApi"
},
"credentials": {
"googlePalmApi": {
"id": "OA44Rx1BU13NCZ0K",
"name": "Google Gemini(PaLM) Api account 2"
}
},
"retryOnFail": true,
"typeVersion": 4.2
},
{
"id": "9e5f8617-2adc-48ff-8fa5-2e1615fc8bc8",
"name": "config-data",
"type": "n8n-nodes-base.set",
"position": [
480,
80
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "1b7b1b4d-5816-4bf8-9a55-71228beb4158",
"name": "name",
"type": "string",
"value": "={{ $json.name }}"
},
{
"id": "de4eae64-9572-4f19-812e-207b279450e4",
"name": "mimeType",
"type": "string",
"value": "={{ $json.mimeType }}"
},
{
"id": "ae880747-407d-4dd1-8330-97ed5916da86",
"name": "id",
"type": "string",
"value": "={{ $json.id }}"
},
{
"id": "658e7776-e6c6-4f45-a72e-df6b25f578b8",
"name": "promt",
"type": "string",
"value": "={{ $('promt').item.json.promt }}\n**no devuelvas texto, solo la imagen."
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c1e9280b-0296-453a-a082-e04cc8e17238",
"name": "download-file",
"type": "n8n-nodes-base.googleDrive",
"position": [
-384,
288
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"operation": "download"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "934ie2jZ0wmZ7EM4",
"name": "google-drive-info@innovatex"
}
},
"typeVersion": 3
},
{
"id": "0184b05e-caba-4633-8833-39d759444d2c",
"name": "map-banana-response",
"type": "n8n-nodes-base.set",
"position": [
192,
288
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "6ad020c0-aabe-4687-a9e5-e26855038c2e",
"name": "base64File",
"type": "string",
"value": "={{ ($json.candidates?.[0]?.content?.parts || [])\n .find(p => p?.inlineData?.data)?.inlineData?.data\n ?? '' }}\n"
},
{
"id": "b8980368-9f10-4b99-91b2-426c0b5b10e5",
"name": "",
"type": "string",
"value": ""
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "2cbc4f5f-56a6-4924-80ac-36af06b7ea1a",
"name": "to file",
"type": "n8n-nodes-base.convertToFile",
"position": [
368,
288
],
"parameters": {
"options": {
"fileName": "={{ $('download-file').item.json.name }}"
},
"operation": "toBinary",
"sourceProperty": "base64File"
},
"typeVersion": 1.1
},
{
"id": "8e55ade0-e8dc-4191-a412-16ded6c8d45f",
"name": "upload-result",
"type": "n8n-nodes-base.googleDrive",
"position": [
528,
288
],
"parameters": {
"name": "={{ $binary.data.fileName }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive",
"cachedResultUrl": "https://drive.google.com/drive/my-drive",
"cachedResultName": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "id",
"value": "={{ $('destination_folder').item.json.id }}"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "934ie2jZ0wmZ7EM4",
"name": "google-drive-info@innovatex"
}
},
"typeVersion": 3
},
{
"id": "5a73c2f9-7958-4fe3-b1d8-48eec637bf0f",
"name": "get files",
"type": "n8n-nodes-base.httpRequest",
"position": [
-48,
80
],
"parameters": {
"url": "https://www.googleapis.com/drive/v3/files",
"options": {},
"sendQuery": true,
"authentication": "predefinedCredentialType",
"queryParameters": {
"parameters": [
{
"name": "q",
"value": "='{{ $('origin_folder').item.json.id }}' in parents and trashed=false"
},
{
"name": "fields",
"value": "nextPageToken,files(id,name,mimeType,size,modifiedTime,webViewLink,webContentLink)"
},
{
"name": "pageSize",
"value": "1000"
}
]
},
"nodeCredentialType": "googleDriveOAuth2Api"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "934ie2jZ0wmZ7EM4",
"name": "google-drive-info@innovatex"
}
},
"typeVersion": 4.2
},
{
"id": "2a5d63a0-1b12-4b47-b6b1-15455e09b7a5",
"name": "Filtrar",
"type": "n8n-nodes-base.filter",
"position": [
288,
80
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "9525fec4-05f1-43b0-a304-91664a8a524a",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.mimeType }}",
"rightValue": "image"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "3652eadc-654e-41a1-a244-339d2278c7a8",
"name": "map table",
"type": "n8n-nodes-base.code",
"position": [
112,
80
],
"parameters": {
"jsCode": "// items[0].json.files => Array de archivos\nconst files = (items[0]?.json?.files) ?? [];\n\nreturn files.map(f => ({\n json: {\n id: f.id,\n name: f.name,\n mimeType: f.mimeType,\n webContentLink: f.webContentLink,\n webViewLink: f.webViewLink,\n modifiedTime: f.modifiedTime,\n // convierte size a número si viene como string\n size: f.size ? Number(f.size) : null,\n }\n}));\n"
},
"typeVersion": 2
},
{
"id": "7e19951e-2b71-49a1-8028-be4b7a680d24",
"name": "init",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-672,
80
],
"parameters": {},
"typeVersion": 1
},
{
"id": "47703d0d-9a31-4772-ad71-ac41c0b7c066",
"name": "promt",
"type": "n8n-nodes-base.set",
"position": [
-528,
80
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "dd6f9abd-a587-46ec-8f52-df5090ade50d",
"name": "promt",
"type": "string",
"value": "Agrega un fondo realista y limpio para un producto de pañales en la foto.|El entorno debe transmitir cuidado, suavidad y confort, resaltando al producto sin distraer.Usa fondos como:superficies de madera clara o blanca,telas suaves (algodón, manta, lino),habitaciones luminosas para bebé,Evita colores fuertes, saturados o demasiado oscuros.Mantén la atención en el pañal y que el fondo solo complemente.el producto debería ocupar el 90% del espacio."
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c86cf75b-09fc-4a8c-b075-befcc0b1a786",
"name": "origin_folder",
"type": "n8n-nodes-base.googleDrive",
"position": [
-368,
80
],
"parameters": {
"limit": 1,
"filter": {},
"options": {},
"resource": "fileFolder",
"queryString": "imagenes_sin_procesar"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "qvPRrYD4jHBE3ENc",
"name": "urbaser-folder"
}
},
"typeVersion": 3
},
{
"id": "617bdb61-f68a-4cac-9b5c-2a582945110b",
"name": "destination_folder",
"type": "n8n-nodes-base.googleDrive",
"position": [
-208,
80
],
"parameters": {
"limit": 1,
"filter": {},
"options": {},
"resource": "fileFolder",
"queryString": "imagenes_sin_procesar"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "934ie2jZ0wmZ7EM4",
"name": "google-drive-info@innovatex"
}
},
"typeVersion": 3
},
{
"id": "c2dca6af-2c01-4ed3-a617-506358d0a2db",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-464,
-192
],
"parameters": {
"width": 880,
"height": 96,
"content": "1 – Overview\n\nThis workflow processes images from **Google Drive** using **Google Gemini**.\nFlow: Origin → Filter images → Download → Base64 → Gemini → New image → Upload to destination folder.\n"
},
"typeVersion": 1
},
{
"id": "03593940-5575-4717-b453-a2b61613855c",
"name": "Nota adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
48,
-48
],
"parameters": {
"width": 368,
"height": 96,
"content": "Requirements\nActive credentials for Google Drive and Gemini API.\nOnly processes files where mimeType contains \"image\"."
},
"typeVersion": 1
},
{
"id": "80dac2d0-e6db-4ac4-b486-83b325456156",
"name": "Nota adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-464,
-48
],
"parameters": {
"width": 496,
"height": 96,
"content": "2 – Nodes to configure\npromt → edit the text with your instructions for Gemini (output style).\norigin_folder → in Search Query, set the name of the source folder.\ndestination_folder → in Search Query, set the name of the target folder."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "bfd67920-168e-4b04-aa2d-545ad3063ce2",
"connections": {
"7e19951e-2b71-49a1-8028-be4b7a680d24": {
"main": [
[
{
"node": "47703d0d-9a31-4772-ad71-ac41c0b7c066",
"type": "main",
"index": 0
}
]
]
},
"47703d0d-9a31-4772-ad71-ac41c0b7c066": {
"main": [
[
{
"node": "c86cf75b-09fc-4a8c-b075-befcc0b1a786",
"type": "main",
"index": 0
}
]
]
},
"Filter": {
"main": [
[
{
"node": "9e5f8617-2adc-48ff-8fa5-2e1615fc8bc8",
"type": "main",
"index": 0
}
]
]
},
"2cbc4f5f-56a6-4924-80ac-36af06b7ea1a": {
"main": [
[
{
"node": "8e55ade0-e8dc-4191-a412-16ded6c8d45f",
"type": "main",
"index": 0
}
]
]
},
"5a73c2f9-7958-4fe3-b1d8-48eec637bf0f": {
"main": [
[
{
"node": "3652eadc-654e-41a1-a244-339d2278c7a8",
"type": "main",
"index": 0
}
]
]
},
"3652eadc-654e-41a1-a244-339d2278c7a8": {
"main": [
[
{
"node": "Filter",
"type": "main",
"index": 0
}
]
]
},
"8d616ad2-1bd5-4754-86b6-309ddfbcd6e1": {
"main": [
[
{
"node": "fadb23df-a7fa-421b-afd0-f3805e73577b",
"type": "main",
"index": 0
}
]
]
},
"9e5f8617-2adc-48ff-8fa5-2e1615fc8bc8": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"c1e9280b-0296-453a-a082-e04cc8e17238": {
"main": [
[
{
"node": "8d616ad2-1bd5-4754-86b6-309ddfbcd6e1",
"type": "main",
"index": 0
}
]
]
},
"c86cf75b-09fc-4a8c-b075-befcc0b1a786": {
"main": [
[
{
"node": "617bdb61-f68a-4cac-9b5c-2a582945110b",
"type": "main",
"index": 0
}
]
]
},
"8e55ade0-e8dc-4191-a412-16ded6c8d45f": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"fadb23df-a7fa-421b-afd0-f3805e73577b": {
"main": [
[
{
"node": "0184b05e-caba-4633-8833-39d759444d2c",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "c1e9280b-0296-453a-a082-e04cc8e17238",
"type": "main",
"index": 0
}
]
]
},
"617bdb61-f68a-4cac-9b5c-2a582945110b": {
"main": [
[
{
"node": "5a73c2f9-7958-4fe3-b1d8-48eec637bf0f",
"type": "main",
"index": 0
}
]
]
},
"0184b05e-caba-4633-8833-39d759444d2c": {
"main": [
[
{
"node": "2cbc4f5f-56a6-4924-80ac-36af06b7ea1a",
"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
¿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
Motor automatizado de contenido viral para LinkedIn y X
Creación y publicación automáticas de contenido viral para LinkedIn y X utilizando IA
If
Set
Wait
+
If
Set
Wait
156 NodosDiptamoy Barman
Creación de contenido
Explorar nodos de n8n en la biblioteca de referencias visuales
Explorar nodos de n8n en la base de referencia visual
If
Ftp
Set
+
If
Ftp
Set
113 NodosI versus AI
Otros
Generar voz de IA desde un guion y subir a Google Drive
Generar voz de IA a partir de un guion con Gemini TTS y subir a Google Drive
Set
Code
Filter
+
Set
Code
Filter
20 NodosJJ Tham
Creación de contenido
[Plantilla] Tienda de mascotas AI v8
🐶 Asistente de tienda de mascotas AI - Integrado con GPT-4o, Google Calendar y WhatsApp/Instagram/Facebook
If
N8n
Set
+
If
N8n
Set
244 NodosAmanda Benks
Ventas
agente de restaurante AI [plantilla]
🤖 asistente de restaurante AI para WhatsApp, Instagram y Messenger
If
N8n
Set
+
If
N8n
Set
239 NodosAmanda Benks
Otros
基于动态提示与AirtabledeAIdatosextracción
a través de动态提示与Airtable实现AIdatosextracción
Set
Code
Filter
+
Set
Code
Filter
51 NodosJimleuk
Inteligencia Artificial
Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos18
Categoría-
Tipos de nodos10
Descripción de la dificultad
Autor
Edisson Garcia
@eagarciah707Enlaces externos
Ver en n8n.io →
Compartir este flujo de trabajo