8
n8n 中文网amn8n.com

产品摄影 - 审查

高级

这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 37 个节点。主要使用 Set, Merge, Switch, Webhook, Airtable 等节点。 使用Airtable和Gemini Nano Banana创建风格化产品摄影

前置要求
  • HTTP Webhook 端点(n8n 会自动生成)
  • Airtable API Key
  • 可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "6PKg5iRas6OJzsXR",
  "meta": {
    "instanceId": "fc8c505a7d97c0ad5142b508476a4b135c5d385dc29af946d69365fb9717edee",
    "templateCredsSetupCompleted": true
  },
  "name": "产品摄影 - 审查",
  "tags": [],
  "nodes": [
    {
      "id": "9d581fc1-2b21-41f2-b61f-e1b2984eba34",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -544,
        -48
      ],
      "webhookId": "736029f4-2d85-409f-8841-1ca9a010e385",
      "parameters": {
        "path": "736029f4-2d85-409f-8841-1ca9a010e385",
        "options": {}
      },
      "typeVersion": 2.1
    },
    {
      "id": "0cf73e67-9194-4fb8-af9c-05604e337d40",
      "name": "获取任务",
      "type": "n8n-nodes-base.airtable",
      "position": [
        0,
        -48
      ],
      "parameters": {
        "id": "={{ $('Webhook').item.json.query.recordId }}",
        "base": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.airtableBaseId }}"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblN7ikAWki5s5jcd",
          "cachedResultUrl": "https://airtable.com/app3umoCF1t88Mg0q/tblN7ikAWki5s5jcd",
          "cachedResultName": "Jobs"
        },
        "options": {}
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "N8Xyxqz7hb8XrETy",
          "name": "Airtable account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "0a022036-95d0-4409-8a61-60afe3c767eb",
      "name": "清理",
      "type": "n8n-nodes-base.set",
      "position": [
        368,
        -48
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a3ccbf23-1cbe-4c72-a98f-2739d9ff86bb",
              "name": "products",
              "type": "array",
              "value": "={{ $json[\"Product Images\"] }}"
            },
            {
              "id": "393ff00d-6976-4e2f-894a-e8faac20df59",
              "name": "templates",
              "type": "array",
              "value": "={{ $json.Templates }}"
            },
            {
              "id": "531d603d-168e-484d-9543-a002d57b64f6",
              "name": "job_id",
              "type": "string",
              "value": "={{ $json.id }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "1e5d84ca-72c4-462f-b5a8-68861652eb65",
      "name": "拆分产品",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -256,
        512
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "products"
      },
      "typeVersion": 1
    },
    {
      "id": "0c3dfd3a-0871-4a7b-9252-6070289d8a9e",
      "name": "获取产品",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -48,
        512
      ],
      "parameters": {
        "id": "={{ $json.products }}",
        "base": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('parameters').item.json.airtableBaseId }}"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblZeNi5MVPOEj7Hp",
          "cachedResultUrl": "https://airtable.com/app3umoCF1t88Mg0q/tblZeNi5MVPOEj7Hp",
          "cachedResultName": "Product Images"
        },
        "options": {}
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "N8Xyxqz7hb8XrETy",
          "name": "Airtable account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "a3487dd1-d051-447e-8f38-dd4150ad4a9e",
      "name": "拆分模板",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -304,
        880
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "templates"
      },
      "typeVersion": 1
    },
    {
      "id": "bbfb9c8b-7356-4dcf-b028-9d9b320b4a76",
      "name": "获取模板",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -96,
        880
      ],
      "parameters": {
        "id": "={{ $json.templates }}",
        "base": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('parameters').item.json.airtableBaseId }}"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblGJpUnqFpLMlVFe",
          "cachedResultUrl": "https://airtable.com/app3umoCF1t88Mg0q/tblGJpUnqFpLMlVFe",
          "cachedResultName": "Templates"
        },
        "options": {}
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "N8Xyxqz7hb8XrETy",
          "name": "Airtable account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "a161d2a7-1487-4676-9a01-b34a9d5de3f3",
      "name": "编辑产品",
      "type": "n8n-nodes-base.set",
      "position": [
        160,
        512
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "01aa86b1-9db5-4e37-85b3-bc9310086a34",
              "name": "product_id",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "1683c450-7ce9-4f4d-bbe7-aa3adec0268e",
              "name": "product_image_url",
              "type": "string",
              "value": "={{ $json.Image[0].url }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "0c2ea55a-6403-4cc6-9d5b-cc0923a0c700",
      "name": "编辑模板",
      "type": "n8n-nodes-base.set",
      "position": [
        112,
        880
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "30c708da-5ecd-47f5-8464-491c2fe57dac",
              "name": "template_id",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "00dad2c3-d89f-4cb2-b6a1-0b5c2a059ed3",
              "name": "prompt",
              "type": "string",
              "value": "={{ $json[\"Text Prompt\"] }}"
            },
            {
              "id": "066fe522-da75-479e-891a-83bc7382bd04",
              "name": "reference_images",
              "type": "array",
              "value": "={{ $json[\"Reference Images\"] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "0be8b4ac-5135-49bf-902f-898ea1fc292f",
      "name": "循环遍历模板",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        320,
        1056
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "f0ccedc8-7f2d-43c2-a95b-6fcd25b4a638",
      "name": "拆分参考图像",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        512,
        1056
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "reference_images"
      },
      "typeVersion": 1
    },
    {
      "id": "7c1bcb47-53f9-49f7-b113-e47fd343f257",
      "name": "获取参考图像",
      "type": "n8n-nodes-base.airtable",
      "position": [
        720,
        1056
      ],
      "parameters": {
        "id": "={{ $json.reference_images }}",
        "base": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('parameters').item.json.airtableBaseId }}"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbl4STKAfNWhTsJjl",
          "cachedResultUrl": "https://airtable.com/app3umoCF1t88Mg0q/tbl4STKAfNWhTsJjl",
          "cachedResultName": "Reference Images"
        },
        "options": {}
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "N8Xyxqz7hb8XrETy",
          "name": "Airtable account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "84a1f3a1-f07c-4b96-8230-8f6ac5b3aa09",
      "name": "编辑参考图像",
      "type": "n8n-nodes-base.set",
      "position": [
        928,
        1056
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "04e74aef-d137-46e3-b3dc-8c7df312a082",
              "name": "image_id",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "9a1d608a-6899-4e8f-a176-49aecee80071",
              "name": "image_url",
              "type": "string",
              "value": "={{ $json.Image[0].url }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "aa125477-4571-4f0e-8048-ede5399e1dc8",
      "name": "聚合",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1344,
        1056
      ],
      "parameters": {
        "options": {
          "includeBinaries": true
        },
        "aggregate": "aggregateAllItemData",
        "destinationFieldName": "reference_images"
      },
      "typeVersion": 1
    },
    {
      "id": "aea3c143-19d0-4e78-ac42-77169a9aee23",
      "name": "合并模板数据",
      "type": "n8n-nodes-base.merge",
      "position": [
        544,
        896
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition"
      },
      "typeVersion": 3.2
    },
    {
      "id": "57503692-1718-4a0b-9571-876157d03c7d",
      "name": "所有组合",
      "type": "n8n-nodes-base.merge",
      "position": [
        832,
        320
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3.2
    },
    {
      "id": "21a21132-0aa5-4c93-988e-5619bdaf283a",
      "name": "下载产品图像",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        368,
        512
      ],
      "parameters": {
        "url": "={{ $json.product_image_url }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file",
              "outputPropertyName": "product_data"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "85fb61ce-6ad2-4459-b7fa-8d364e1b20de",
      "name": "Switch",
      "type": "n8n-nodes-base.switch",
      "position": [
        1040,
        304
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "1",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "8211d8e0-11b2-418c-9841-4895024a6b68",
                    "operator": {
                      "type": "array",
                      "operation": "lengthEquals",
                      "rightType": "number"
                    },
                    "leftValue": "={{ $json.reference_images }}",
                    "rightValue": 1
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "2",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "398d3cf3-4956-47fa-bee6-57d9a7918cfd",
                    "operator": {
                      "type": "array",
                      "operation": "lengthEquals",
                      "rightType": "number"
                    },
                    "leftValue": "={{ $json.reference_images }}",
                    "rightValue": 2
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "3",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "f60c5fb0-725d-4978-b0ce-bb5ca877cff8",
                    "operator": {
                      "type": "array",
                      "operation": "lengthGte",
                      "rightType": "number"
                    },
                    "leftValue": "={{ $json.reference_images }}",
                    "rightValue": 3
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.3
    },
    {
      "id": "d39bb48d-cc1f-4a25-90b8-8954a25cbbe7",
      "name": "使用 1 个参考生成",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        1328,
        128
      ],
      "parameters": {
        "images": {
          "values": [
            {
              "binaryPropertyName": "product_data"
            },
            {}
          ]
        },
        "prompt": "={{ $json.prompt }}",
        "options": {
          "binaryPropertyOutput": "edited"
        },
        "resource": "image",
        "operation": "edit"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "ybwzU4ruTo49PRfX",
          "name": "Google Gemini vadim.ai.lab"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5e05fb1a-349a-47db-ba61-5eda06ad21a4",
      "name": "使用 2 个参考生成",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        1328,
        320
      ],
      "parameters": {
        "images": {
          "values": [
            {
              "binaryPropertyName": "product_data"
            },
            {},
            {
              "binaryPropertyName": "data_1"
            }
          ]
        },
        "prompt": "={{ $json.prompt }}",
        "options": {
          "binaryPropertyOutput": "edited"
        },
        "resource": "image",
        "operation": "edit"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "ybwzU4ruTo49PRfX",
          "name": "Google Gemini vadim.ai.lab"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e2e5fa21-2410-4d2b-b5fb-0098aaefcfe8",
      "name": "使用 3 个参考生成",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        1328,
        512
      ],
      "parameters": {
        "images": {
          "values": [
            {
              "binaryPropertyName": "product_data"
            },
            {},
            {
              "binaryPropertyName": "data_1"
            },
            {
              "binaryPropertyName": "data_2"
            }
          ]
        },
        "prompt": "={{ $json.prompt }}",
        "options": {
          "binaryPropertyOutput": "edited"
        },
        "resource": "image",
        "operation": "edit"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "ybwzU4ruTo49PRfX",
          "name": "Google Gemini vadim.ai.lab"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "cd75753a-af60-4cfa-8df4-20e66024dfe7",
      "name": "合并",
      "type": "n8n-nodes-base.merge",
      "position": [
        1600,
        304
      ],
      "parameters": {
        "numberInputs": 3
      },
      "typeVersion": 3.2
    },
    {
      "id": "535911c6-7163-4492-bb65-a6784e10f02f",
      "name": "从文件提取",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        1872,
        320
      ],
      "parameters": {
        "options": {
          "encoding": "utf8",
          "keepSource": "json"
        },
        "operation": "binaryToPropery",
        "destinationKey": "output_base64",
        "binaryPropertyName": "edited"
      },
      "typeVersion": 1
    },
    {
      "id": "8d0504da-1d78-4162-b661-7fb8af37e8e5",
      "name": "参数",
      "type": "n8n-nodes-base.set",
      "position": [
        -288,
        -48
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "c7691548-c717-4a29-b983-5a394f2a7ad2",
              "name": "airtableBaseId",
              "type": "string",
              "value": "app3umoCF1t88Mg0q"
            },
            {
              "id": "4282bb3a-8ab7-4742-99bd-2a3343bfe62c",
              "name": "airtableResultImageFieldId",
              "type": "string",
              "value": "fldzhCsleyyBrPyKj"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "1f4e2221-0180-4e9c-939b-3ca229dda498",
      "name": "更新任务状态",
      "type": "n8n-nodes-base.airtable",
      "position": [
        192,
        -208
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('parameters').item.json.airtableBaseId }}"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblN7ikAWki5s5jcd",
          "cachedResultUrl": "https://airtable.com/app3umoCF1t88Mg0q/tblN7ikAWki5s5jcd",
          "cachedResultName": "Jobs"
        },
        "columns": {
          "value": {
            "id": "={{ $json.id }}",
            "Status": "In progress"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Product Images",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Product Images",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Templates",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Templates",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created Time",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Created Time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Created",
                  "value": "Created"
                },
                {
                  "name": "In progress",
                  "value": "In progress"
                },
                {
                  "name": "Done",
                  "value": "Done"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Results",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Results",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Generate",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Generate",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "N8Xyxqz7hb8XrETy",
          "name": "Airtable account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "2795c78d-39e0-453e-8013-103c792122ff",
      "name": "更新任务状态(完成)",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2704,
        320
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('parameters').item.json.airtableBaseId }}"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblN7ikAWki5s5jcd",
          "cachedResultUrl": "https://airtable.com/app3umoCF1t88Mg0q/tblN7ikAWki5s5jcd",
          "cachedResultName": "Jobs"
        },
        "columns": {
          "value": {
            "id": "={{ $('Get Job').item.json.id }}",
            "Status": "Done"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Product Images",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Product Images",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Templates",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Templates",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Created Time",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Created Time",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Created",
                  "value": "Created"
                },
                {
                  "name": "In progress",
                  "value": "In progress"
                },
                {
                  "name": "Done",
                  "value": "Done"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Results",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Results",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Generate",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "Generate",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "N8Xyxqz7hb8XrETy",
          "name": "Airtable account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "e6711f0b-f985-46a9-9adf-0408ec0c062d",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1824,
        176
      ],
      "parameters": {
        "color": 6,
        "width": 1072,
        "height": 336,
        "content": "## 步骤 4. 在 Airtable 中创建新的结果记录"
      },
      "typeVersion": 1
    },
    {
      "id": "566017ed-7968-4ba5-b930-88e6c542a5b4",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        784,
        0
      ],
      "parameters": {
        "color": 6,
        "width": 960,
        "height": 672,
        "content": "## 步骤 3. 生成新的产品图像"
      },
      "typeVersion": 1
    },
    {
      "id": "0a3f8a80-d670-41ec-af49-cd8d5711cd3f",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -336,
        768
      ],
      "parameters": {
        "color": 6,
        "width": 1856,
        "height": 496,
        "content": "## 步骤 2b. 获取带参考图像的模板"
      },
      "typeVersion": 1
    },
    {
      "id": "73da7bc0-d36a-4c69-96bd-116876e1025b",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -288,
        400
      ],
      "parameters": {
        "color": 6,
        "width": 816,
        "height": 288,
        "content": "## 步骤 2a. 获取原始产品图像"
      },
      "typeVersion": 1
    },
    {
      "id": "f324e87b-1821-4c92-8c67-3276fa79fcb4",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -352,
        -192
      ],
      "parameters": {
        "color": 5,
        "width": 224,
        "height": 304,
        "content": "## 配置"
      },
      "typeVersion": 1
    },
    {
      "id": "4b0b80c7-8f71-4032-83bb-3df0042e449b",
      "name": "便签5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -32,
        -320
      ],
      "parameters": {
        "color": 6,
        "width": 528,
        "height": 432,
        "content": "## 步骤 1. 按 ID 获取任务记录"
      },
      "typeVersion": 1
    },
    {
      "id": "c4c76af6-3023-40cd-b27f-d4a144edff6b",
      "name": "上传附件",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2496,
        320
      ],
      "parameters": {
        "url": "=https://content.airtable.com/v0/{{ $('parameters').item.json.airtableBaseId }}/{{ $json.id }}/{{ $('parameters').item.json.airtableResultImageFieldId }}/uploadAttachment",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "authentication": "predefinedCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "contentType",
              "value": "={{ $('Collect variables').item.json.mimeType }}"
            },
            {
              "name": "file",
              "value": "={{ $('Collect variables').item.json.outputBase64 }}"
            },
            {
              "name": "filename",
              "value": "image.png"
            }
          ]
        },
        "nodeCredentialType": "airtableTokenApi"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "N8Xyxqz7hb8XrETy",
          "name": "Airtable account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "fb2d292d-f389-4761-8fac-8a02bd81366f",
      "name": "创建结果记录",
      "type": "n8n-nodes-base.airtable",
      "position": [
        2288,
        320
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('parameters').item.json.airtableBaseId }}"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblSoB3qTeeKXjsov",
          "cachedResultUrl": "https://airtable.com/app3umoCF1t88Mg0q/tblSoB3qTeeKXjsov",
          "cachedResultName": "Results"
        },
        "columns": {
          "value": {
            "Jobs": "=[\"{{ $json.jobId }}\"]",
            "Status": "Pending",
            "Template": "=[\"{{ $json.templateId }}\"]",
            "Timestamp": "={{ $now }}",
            "Product Image": "=[\"{{ $json.productId }}\"]"
          },
          "schema": [
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Generated Image",
              "type": "array",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "Generated Image",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Jobs",
              "type": "array",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Jobs",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Product Image",
              "type": "array",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Product Image",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Template",
              "type": "array",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Template",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Timestamp",
              "type": "dateTime",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Timestamp",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Pending",
                  "value": "Pending"
                },
                {
                  "name": "Approved",
                  "value": "Approved"
                },
                {
                  "name": "Rejected",
                  "value": "Rejected"
                },
                {
                  "name": "",
                  "value": ""
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Notes",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "Notes",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "N8Xyxqz7hb8XrETy",
          "name": "Airtable account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "7b9cf6ec-84ae-45b4-9b7d-ea46fdf2c48e",
      "name": "收集变量",
      "type": "n8n-nodes-base.set",
      "position": [
        2080,
        320
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "3e057dd9-283b-4722-bd2e-23f725f5137f",
              "name": "outputBase64",
              "type": "string",
              "value": "={{ $json.output_base64 }}"
            },
            {
              "id": "b4c377ad-ed0d-42fa-85ca-f08416751595",
              "name": "mimeType",
              "type": "string",
              "value": "={{ $json.mimeType }}"
            },
            {
              "id": "8da67ef3-319b-486e-8f0c-1cd6db274a56",
              "name": "templateId",
              "type": "string",
              "value": "={{ $('All combinations').item.json.template_id }}"
            },
            {
              "id": "3f4967da-e951-4408-9684-ff1c5463d9c3",
              "name": "productId",
              "type": "string",
              "value": "={{ $('All combinations').item.json.product_id }}"
            },
            {
              "id": "990586ac-cd48-4ed6-be37-62472176bfc6",
              "name": "jobId",
              "type": "string",
              "value": "={{ $('Get Job').item.json.id }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "3d346e31-2372-4261-b596-291c71b2f629",
      "name": "便签6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1248,
        208
      ],
      "parameters": {
        "width": 768,
        "height": 752,
        "content": "## 使用 Airtable 和 Gemini (Nano Banana) 的 AI 产品摄影"
      },
      "typeVersion": 1
    },
    {
      "id": "bacc0136-0fcf-4f69-8417-d9ba848085ef",
      "name": "下载参考图片",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1136,
        1056
      ],
      "parameters": {
        "url": "={{ $json.image_url }}",
        "options": {}
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "pinData": {
    "Clean up": [
      {
        "json": {
          "job_id": "recJV3zfx8GVv1Hzf",
          "products": [
            "recfkmrLLZZiqGRdW"
          ],
          "templates": [
            "recUzp3aSes2n9EUC"
          ]
        }
      }
    ]
  },
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "9d566c64-537d-4b89-bcdf-f6abec5cd490",
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Extract from File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Switch": {
      "main": [
        [
          {
            "node": "Generate with 1 ref",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Generate with 2 refs",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Generate with 3 refs",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Job": {
      "main": [
        [
          {
            "node": "Update job status",
            "type": "main",
            "index": 0
          },
          {
            "node": "Clean up",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "parameters",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Clean up": {
      "main": [
        [
          {
            "node": "Split products",
            "type": "main",
            "index": 0
          },
          {
            "node": "Split templates",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Loop over templates",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "parameters": {
      "main": [
        [
          {
            "node": "Get Job",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get products": {
      "main": [
        [
          {
            "node": "Edit products",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit products": {
      "main": [
        [
          {
            "node": "Download product image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get templates": {
      "main": [
        [
          {
            "node": "Edit templates",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit templates": {
      "main": [
        [
          {
            "node": "Loop over templates",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge templates data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split products": {
      "main": [
        [
          {
            "node": "Get products",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split templates": {
      "main": [
        [
          {
            "node": "Get templates",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "All combinations": {
      "main": [
        [
          {
            "node": "Switch",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Collect variables": {
      "main": [
        [
          {
            "node": "Create Result record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File": {
      "main": [
        [
          {
            "node": "Collect variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update job status": {
      "main": [
        []
      ]
    },
    "Upload attachment": {
      "main": [
        [
          {
            "node": "Update job status (done)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate with 1 ref": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get reference image": {
      "main": [
        [
          {
            "node": "Edit reference image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop over templates": {
      "main": [
        [
          {
            "node": "Merge templates data",
            "type": "main",
            "index": 1
          }
        ],
        [
          {
            "node": "Split reference images",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Result record": {
      "main": [
        [
          {
            "node": "Upload attachment",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit reference image": {
      "main": [
        [
          {
            "node": "Download reference image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate with 2 refs": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Generate with 3 refs": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Merge templates data": {
      "main": [
        [
          {
            "node": "All combinations",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Download product image": {
      "main": [
        [
          {
            "node": "All combinations",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split reference images": {
      "main": [
        [
          {
            "node": "Get reference image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download reference image": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update job status (done)": {
      "main": [
        []
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

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

需要付费吗?

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

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

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

作者

I help businesses implement innovative AI/ML solutions, redesign existing systems to cut costs and boost reliability, and conduct applied R&D. I specialize in AI automation, agents, LLMs, Generative AI and Computer Vision. Need help customizing workflows? Just find me on Upwork.

外部链接
在 n8n.io 查看

分享此工作流