8
n8n 中文网amn8n.com

产品-IA

高级

这是一个自动化工作流,包含 18 个节点。主要使用 Set, Code, Filter, GoogleDrive, HttpRequest 等节点。 使用Gemini 2.5 Flash AI增强Google云端硬盘图像

前置要求
  • Google Drive API 凭证
  • 可能需要目标 API 的认证凭证

分类

-
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "CTqDPrpw33Mx1pP2",
  "meta": {
    "instanceId": "d1b9b74c805fea7fca1b903ee192d1d4090b516d3c254da86beb2f13b7c2ed2e",
    "templateCredsSetupCompleted": true
  },
  "name": "产品-IA",
  "tags": [],
  "nodes": [
    {
      "id": "729ee875-0ba7-4a2a-95d7-fbd17efcb46f",
      "name": "遍历项目",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -608,
        272
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "8d616ad2-1bd5-4754-86b6-309ddfbcd6e1",
      "name": "转为 base64",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        -192,
        288
      ],
      "parameters": {
        "options": {},
        "operation": "binaryToPropery"
      },
      "typeVersion": 1
    },
    {
      "id": "fadb23df-a7fa-421b-afd0-f3805e73577b",
      "name": "banana-请求",
      "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": "配置数据",
      "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": "下载文件",
      "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": "映射-banana-响应",
      "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": "转为文件",
      "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": "上传结果",
      "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": "获取文件",
      "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": "过滤器",
      "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": "映射表格",
      "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": "初始化",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -672,
        80
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "47703d0d-9a31-4772-ad71-ac41c0b7c066",
      "name": "提示",
      "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": "源文件夹",
      "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": "目标文件夹",
      "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": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        -192
      ],
      "parameters": {
        "width": 880,
        "height": 96,
        "content": "1 – 概述"
      },
      "typeVersion": 1
    },
    {
      "id": "03593940-5575-4717-b453-a2b61613855c",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        48,
        -48
      ],
      "parameters": {
        "width": 368,
        "height": 96,
        "content": "要求"
      },
      "typeVersion": 1
    },
    {
      "id": "80dac2d0-e6db-4ac4-b486-83b325456156",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        -48
      ],
      "parameters": {
        "width": 496,
        "height": 96,
        "content": "2 – 需要配置的节点"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "bfd67920-168e-4b04-aa2d-545ad3063ce2",
  "connections": {
    "init": {
      "main": [
        [
          {
            "node": "promt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "promt": {
      "main": [
        [
          {
            "node": "origin_folder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter": {
      "main": [
        [
          {
            "node": "config-data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "to file": {
      "main": [
        [
          {
            "node": "upload-result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "get files": {
      "main": [
        [
          {
            "node": "map table",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "map table": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "to base64": {
      "main": [
        [
          {
            "node": "banana-request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "config-data": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "download-file": {
      "main": [
        [
          {
            "node": "to base64",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "origin_folder": {
      "main": [
        [
          {
            "node": "destination_folder",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "upload-result": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "banana-request": {
      "main": [
        [
          {
            "node": "map-banana-response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "download-file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "destination_folder": {
      "main": [
        [
          {
            "node": "get files",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "map-banana-response": {
      "main": [
        [
          {
            "node": "to file",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

高级

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量18
分类-
节点类型10
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

外部链接
在 n8n.io 查看

分享此工作流