8
n8n 中文网amn8n.com

适用于WooCommerce Nano Banana的AI虚拟试穿

高级

这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 20 个节点。主要使用 If, Set, Wait, GoogleDrive, HttpRequest 等节点。 使用Fal.ai Nano Banana为WooCommerce自动生成虚拟AI试穿图像

前置要求
  • Google Drive API 凭证
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "HQcHQhEaig6JXOH4",
  "meta": {
    "instanceId": "a4bfc93e975ca233ac45ed7c9227d84cf5a2329310525917adaf3312e10d5462"
  },
  "name": "AI Virtual TryOn for WooCommerce Nano Banana",
  "tags": [],
  "nodes": [
    {
      "id": "614bb588-3180-47e7-8dd6-fd61883d6042",
      "name": "When clicking ‘Test workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -480,
        1600
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9f15348f-8e76-43d7-a17a-3efb1b9d5724",
      "name": "Get File image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        448,
        1872
      ],
      "parameters": {
        "url": "={{ $json.images[0].url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "44d01abf-6b54-432a-a21c-a4b94c1487c7",
      "name": "Get Url image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        224,
        1872
      ],
      "parameters": {
        "url": "=https://queue.fal.run/fal-ai/nano-banana/requests/{{ $json.request_id }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "daOZafXpRXLtoLUV",
          "name": "Fal.run API"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "d9e88f7a-dc2b-4470-87ae-92919b5c28d2",
      "name": "Get status",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        864,
        1616
      ],
      "parameters": {
        "url": "=https://queue.fal.run/fal-ai/nano-banana/requests/{{ $('Create Image').item.json.request_id }}/status ",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "daOZafXpRXLtoLUV",
          "name": "Fal.run API"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "722f45bd-a779-43ba-9c36-8bba1d5fc421",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        320
      ],
      "parameters": {
        "color": 6,
        "width": 340,
        "height": 540,
        "content": "## Model\n![image](https://n3wstorage.b-cdn.net/n3witalia/model.jpg)"
      },
      "typeVersion": 1
    },
    {
      "id": "2bb4598f-801e-4730-a15f-e006db7699ac",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        320
      ],
      "parameters": {
        "color": 6,
        "width": 360,
        "height": 540,
        "content": "## Product\n![image](https://n3wstorage.b-cdn.net/n3witalia/tshirt.jpg)"
      },
      "typeVersion": 1
    },
    {
      "id": "62a9183c-9201-4843-9d2e-c845b8dcbf7d",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        576,
        320
      ],
      "parameters": {
        "color": 4,
        "width": 340,
        "height": 540,
        "content": "## Result\n![image](https://n3wstorage.b-cdn.net/n3witalia/result_sport.jpeg)"
      },
      "typeVersion": 1
    },
    {
      "id": "ab7daa1a-2494-4dee-af0d-c19d28adf3f0",
      "name": "WooCommerce",
      "type": "n8n-nodes-base.wooCommerce",
      "position": [
        1104,
        1872
      ],
      "parameters": {
        "imagesUi": {
          "imagesValues": [
            {
              "alt": "",
              "src": "={{ $('Get File image').item.json.images[0].url }}",
              "name": ""
            }
          ]
        },
        "resource": "product",
        "operation": "update",
        "productId": "={{ $('Loop Over Items').item.json['PRODUCT ID'] }}",
        "metadataUi": {},
        "dimensionsUi": {},
        "updateFields": {}
      },
      "credentials": {
        "wooCommerceApi": {
          "id": "vYYrjB5kgHQ0XByZ",
          "name": "WooCommerce (wp.test.7hype.com)"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e8e4c772-b11e-404a-b581-5710c680d853",
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -256,
        1600
      ],
      "parameters": {
        "options": {
          "returnFirstMatch": false
        },
        "filtersUI": {
          "values": [
            {
              "lookupValue": "=",
              "lookupColumn": "IMAGE RESULT"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11ebWJvwwXHgvQld9kxywKQUvIoBw6xMa0g0BuIqHDxE/edit#gid=0",
          "cachedResultName": "Foglio1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "11ebWJvwwXHgvQld9kxywKQUvIoBw6xMa0g0BuIqHDxE",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11ebWJvwwXHgvQld9kxywKQUvIoBw6xMa0g0BuIqHDxE/edit?usp=drivesdk",
          "cachedResultName": "AI Virtual TryOn for WooCommerce"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "JYR6a64Qecd6t8Hb",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "86a83c5c-616a-498a-a844-8b689fea7c4a",
      "name": "Wait 60 sec.",
      "type": "n8n-nodes-base.wait",
      "position": [
        672,
        1616
      ],
      "webhookId": "351bd496-a9cc-445c-86f6-a56189df0028",
      "parameters": {
        "amount": 10
      },
      "typeVersion": 1.1
    },
    {
      "id": "ff15269e-472e-4c65-872c-d24dac05739f",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        -176
      ],
      "parameters": {
        "color": 3,
        "width": 740,
        "height": 424,
        "content": "# AI Virtual TryOn for WooCommerce\nThis Workflow is designed to streamline the process of creating realistic images of clothing products worn by models, eliminating the need for expensive photoshoots. The primary goal is to automate the generation of virtual try-on images for an eCommerce store selling clothing, using advanced image processing technologies.\n\nStarting from a Google Sheets document or a database containing the URLs of a model image and a clothing product, the AI Agent generates an image of the model wearing the selected clothing item (Virtual TryOn).\n\nOnce the URL of the resulting image is obtained, the system downloads the final image file. This image is then uploaded to Google Drive, archived via FTP in a dedicated folder, or directly added to the WooCommerce product page.\n\nBy offering realistic images of clothing items worn by models, this automation process saves time and resources, making product catalog management more efficient. This approach not only enhances the competitiveness of the eCommerce store but also provides greater flexibility in creating high-quality visual content adaptable to various digital marketing campaigns.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d223fd2a-6590-47e3-b197-a2fc9934c070",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        944
      ],
      "parameters": {
        "width": 740,
        "height": 260,
        "content": "## STEP 1 - GOOGLE SHEET\nCreate a [Google Sheet like this](https://docs.google.com/spreadsheets/d/11ebWJvwwXHgvQld9kxywKQUvIoBw6xMa0g0BuIqHDxE/edit?usp=sharing).\n\nPlease insert:\n- in the \"IMAGE MODEL\" column the basic image of the model to dress\n- in the \"IMAGE PRODUCT\" column the image of the item of clothing to wear\n- in the \"PRODUCT ID\" column the ID of the product on your WooCommerce\n\nLeave the \"IMAGE RESULT\" column unfilled. It will be inserted by the system once the image has been created"
      },
      "typeVersion": 1
    },
    {
      "id": "8018008c-f420-498b-8762-4acab6af295d",
      "name": "Completed?",
      "type": "n8n-nodes-base.if",
      "position": [
        1040,
        1616
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "383d112e-2cc6-4dd4-8985-f09ce0bd1781",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "COMPLETED"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "78d4b56e-0b29-40cb-a1fc-e51b5c092a93",
      "name": "Upload Image",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        656,
        1872
      ],
      "parameters": {
        "name": "={{ $now.format('yyyyLLddHHmmss') }}-{{ $json.images[0].file_name }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "1aHRwLWyrqfzoVC8HoB-YMrBvQ4tLC-NZ",
          "cachedResultUrl": "https://drive.google.com/drive/folders/1aHRwLWyrqfzoVC8HoB-YMrBvQ4tLC-NZ",
          "cachedResultName": "Fal.run"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "HEy5EuZkgPZVEa9w",
          "name": "Google Drive account (n3w.it)"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "a0a4b685-b46e-400c-b8c7-863d0dfa518b",
      "name": "Update result",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        896,
        1872
      ],
      "parameters": {
        "columns": {
          "value": {
            "row_number": "={{ $('Loop Over Items').item.json.row_number }}",
            "IMAGE RESULT": "={{ $('Get File image').item.json.images[0].url }}"
          },
          "schema": [
            {
              "id": "IMAGE MODEL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "IMAGE MODEL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "IMAGE PRODUCT",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "IMAGE PRODUCT",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "PRODUCT ID",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "PRODUCT ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "IMAGE RESULT",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "IMAGE RESULT",
              "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": [
            "row_number"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11ebWJvwwXHgvQld9kxywKQUvIoBw6xMa0g0BuIqHDxE/edit#gid=0",
          "cachedResultName": "Foglio1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "11ebWJvwwXHgvQld9kxywKQUvIoBw6xMa0g0BuIqHDxE",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/11ebWJvwwXHgvQld9kxywKQUvIoBw6xMa0g0BuIqHDxE/edit?usp=drivesdk",
          "cachedResultName": "AI Virtual TryOn for WooCommerce"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "JYR6a64Qecd6t8Hb",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "0e09b903-fd2a-4109-86eb-22ce23065c2f",
      "name": "Set data",
      "type": "n8n-nodes-base.set",
      "position": [
        224,
        1616
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "c713d31f-9abd-496a-ac79-e8e2efe60aa0",
              "name": "model",
              "type": "string",
              "value": "={{ $json['IMAGE MODEL'] }}"
            },
            {
              "id": "58fb5e76-6576-4d16-8b25-b931c7935c01",
              "name": "shirt",
              "type": "string",
              "value": "={{ $json['IMAGE PRODUCT'] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "f7b63738-d131-4c85-894f-b18e1cd93884",
      "name": "Create Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        464,
        1616
      ],
      "parameters": {
        "url": "https://queue.fal.run/fal-ai/nano-banana/edit",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n     \"prompt\": \"make a photo of the model wearing the submitted clothing item and creating the themed background\",\n     \"image_urls\": [\n       \"{{ $json.model }}\",\n       \"{{ $json.shirt }}\"\n     ]\n   }",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "daOZafXpRXLtoLUV",
          "name": "Fal.run API"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "ddf4b966-f1e3-4e55-8282-5146f91d7242",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        1248
      ],
      "parameters": {
        "width": 740,
        "height": 156,
        "content": "## STEP 2 - GET API KEY (YOURAPIKEY)\nCreate an account [here](https://fal.ai/) and obtain API KEY.\nIn the node \"Create Image\" set \"Header Auth\" and set:\n- Name: \"Authorization\"\n- Value: \"Key YOURAPIKEY\""
      },
      "typeVersion": 1
    },
    {
      "id": "d5410953-da60-446a-8e79-9eab1aecd6ea",
      "name": "Loop Over Items",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -48,
        1600
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "ddbaa607-7da6-4865-b362-3b482a326399",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -464,
        1440
      ],
      "parameters": {
        "width": 740,
        "height": 92,
        "content": "## STEP 3 - WOOCOMMERCE\n- Set WooCommerce API"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "32487dc5-f108-4e1b-af68-dc5d66d2cfef",
  "connections": {
    "0e09b903-fd2a-4109-86eb-22ce23065c2f": {
      "main": [
        [
          {
            "node": "f7b63738-d131-4c85-894f-b18e1cd93884",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8018008c-f420-498b-8762-4acab6af295d": {
      "main": [
        [
          {
            "node": "44d01abf-6b54-432a-a21c-a4b94c1487c7",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "86a83c5c-616a-498a-a844-8b689fea7c4a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d9e88f7a-dc2b-4470-87ae-92919b5c28d2": {
      "main": [
        [
          {
            "node": "8018008c-f420-498b-8762-4acab6af295d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ab7daa1a-2494-4dee-af0d-c19d28adf3f0": {
      "main": [
        [
          {
            "node": "d5410953-da60-446a-8e79-9eab1aecd6ea",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f7b63738-d131-4c85-894f-b18e1cd93884": {
      "main": [
        [
          {
            "node": "86a83c5c-616a-498a-a844-8b689fea7c4a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "78d4b56e-0b29-40cb-a1fc-e51b5c092a93": {
      "main": [
        [
          {
            "node": "a0a4b685-b46e-400c-b8c7-863d0dfa518b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "86a83c5c-616a-498a-a844-8b689fea7c4a": {
      "main": [
        [
          {
            "node": "d9e88f7a-dc2b-4470-87ae-92919b5c28d2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "44d01abf-6b54-432a-a21c-a4b94c1487c7": {
      "main": [
        [
          {
            "node": "9f15348f-8e76-43d7-a17a-3efb1b9d5724",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e8e4c772-b11e-404a-b581-5710c680d853": {
      "main": [
        [
          {
            "node": "d5410953-da60-446a-8e79-9eab1aecd6ea",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a0a4b685-b46e-400c-b8c7-863d0dfa518b": {
      "main": [
        [
          {
            "node": "ab7daa1a-2494-4dee-af0d-c19d28adf3f0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9f15348f-8e76-43d7-a17a-3efb1b9d5724": {
      "main": [
        [
          {
            "node": "78d4b56e-0b29-40cb-a1fc-e51b5c092a93",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d5410953-da60-446a-8e79-9eab1aecd6ea": {
      "main": [
        [],
        [
          {
            "node": "0e09b903-fd2a-4109-86eb-22ce23065c2f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "614bb588-3180-47e7-8dd6-fd61883d6042": {
      "main": [
        [
          {
            "node": "e8e4c772-b11e-404a-b581-5710c680d853",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 内容创作, 多模态 AI

需要付费吗?

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

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

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

作者

Full-stack Web Developer based in Italy specialising in Marketing & AI-powered automations. For business enquiries, send me an email at info@n3w.it or add me on Linkedin.com/in/davideboizza

外部链接
在 n8n.io 查看

分享此工作流

分类

分类: 34