8
n8n 中文网amn8n.com

使用 Gemini AI 和 Airtable 从图片生成 Shopify 产品列表

高级

这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 33 个节点。主要使用 If, Set, Code, Wait, Limit 等节点。 使用 Gemini AI 和 Airtable 从图片生成 Shopify 产品列表

前置要求
  • Shopify Admin API 凭证
  • Airtable API Key
  • Google Drive API 凭证
  • 可能需要目标 API 的认证凭证
  • OpenAI API Key
  • Google Gemini API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "818217039c98483edc5f2e50a5e7ea3ae47b57a621c9a4429b9c0454fe5f315c",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "d93982bc-9446-4bef-9a68-660a5df9b398",
      "name": "开始",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -3856,
        2912
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d735219d-c2ca-4ed3-9d95-54e0edcf7118",
      "name": "不执行任何操作",
      "type": "n8n-nodes-base.noOp",
      "position": [
        -3568,
        2912
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e397c1fb-f707-4e12-9ce6-b34906a83b10",
      "name": "存储_ID",
      "type": "n8n-nodes-base.set",
      "position": [
        -3792,
        3424
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "68233ea1-2741-4c61-8f80-3b484e96ff55",
              "name": "store_id",
              "type": "string",
              "value": "1qzkpy-1s"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "1a60742b-efb1-42fd-9240-df477c61c295",
      "name": "获取原始图像表数据",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -3792,
        3136
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appYnPOyDUwImADqj",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
          "cachedResultName": "shopify_digital_product"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbl1s3jAxiwbfaQQO",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tbl1s3jAxiwbfaQQO",
          "cachedResultName": "raw_data"
        },
        "options": {},
        "operation": "search"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "9vQPBWEQTviLi4pr",
          "name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "fb027d2f-72b6-41df-b372-93c85ac22638",
      "name": "过滤原始行",
      "type": "n8n-nodes-base.switch",
      "position": [
        -3568,
        3136
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "Unused",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "d40b20b3-42c3-4999-b4ac-f99a766d0be7",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.status }}",
                    "rightValue": "=Unused"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Used",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "1bf7a6a8-dbe3-433e-aace-a914f9883623",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.status }}",
                    "rightValue": "=Used"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.3
    },
    {
      "id": "eb39feb9-0052-467d-bc29-13aeb2592a9e",
      "name": "循环图像分析",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -3264,
        3120
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "99f1edc0-d2d4-47a0-b240-1248b4a927a6",
      "name": "获取集合数据",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -3568,
        3424
      ],
      "parameters": {
        "url": "=https://{{ $json.store_id }}.myshopify.com/admin/api/2025-10/custom_collections.json?limit=50",
        "options": {},
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "shopifyAccessTokenApi"
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "cWbUpQhRGFUOo8GG",
          "name": "admin_flow_forge_art"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "53365348-0ce1-4cb4-b81f-782ac4d4488c",
      "name": "优化集合输出",
      "type": "n8n-nodes-base.code",
      "position": [
        -3344,
        3424
      ],
      "parameters": {
        "jsCode": "// Input data assumed to be in items[0].json.custom_collections\nconst collections = items[0].json.custom_collections;\n\n// Map only id and title to a new array of objects\nconst simplifiedCollections = collections.map(collection => {\n  return {\n    json: {\n      id: collection.id,\n      title: collection.title\n    }\n  };\n});\n\nreturn simplifiedCollections;\n"
      },
      "typeVersion": 2
    },
    {
      "id": "1bff9b59-7e1a-49a0-9b8d-2b6be9788872",
      "name": "限制_1",
      "type": "n8n-nodes-base.limit",
      "position": [
        -3040,
        3136
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "2bab1d58-92eb-430a-8605-44e3b65c47e6",
      "name": "下载图像",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -2816,
        3136
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.drive_file_id }}"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "f01nZ9QGzYgioVNy",
          "name": "n8n.verified@gmail.com"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "252be6f6-0b62-4cd3-bafb-29e1a76190af",
      "name": "分析图像",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        -2592,
        3136
      ],
      "parameters": {
        "text": "=# Role:\nYou are an expert AI image analyst specialized in digital posters and artwork content.\n\n# Instruction:\nAnalyze the digital poster and provide all relevant details about the characters, series, style, text, and visual mood in structured JSON format. Focus only on the artwork content.\n\n\n# Restriction:\n## Ignore all background elements, shadows, frames, walls, furniture, or any photography/mockup context.\n- Do not make assumptions beyond what is visible in the poster.\n- If a specific detail is missing or unclear, use null.\n- Avoid hallucinations or adding fictional content. Focus only on observable details.\n\n# Output Structure:\n## Output must be valid JSON with the following keys:\n\n## Example Output:\n{\n  \"character_name\": \"Monkey D. Luffy\",\n  \"series_name\": \"One Piece\",\n  \"category\": \"anime\",\n  \"poster_text\": \"Friendship is the most precious treasure, and chasing dreams is the meaning of life\",\n  \"poster_type\": \"motivational\"\n}\n\n# Hallucination Avoidance Rule:\n- Only include elements that are visibly present in the poster.\n- Do not infer names, series, or text if not clearly visible.\n- Do not describe the environment, room, frame, or mockup context.\n- If unsure, return null rather than guessing.",
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "chatgpt-4o-latest",
          "cachedResultName": "CHATGPT-4O-LATEST"
        },
        "options": {},
        "resource": "image",
        "simplify": false,
        "inputType": "base64",
        "operation": "analyze"
      },
      "credentials": {
        "openAiApi": {
          "id": "2HxBb6WtylA8XF3I",
          "name": "OpenAI_Paid"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "5a4a23a4-d805-44f2-94e4-b12d4ce592d2",
      "name": "更新图像数据",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -2368,
        3136
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appYnPOyDUwImADqj",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
          "cachedResultName": "shopify_digital_product"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbl1s3jAxiwbfaQQO",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tbl1s3jAxiwbfaQQO",
          "cachedResultName": "raw_data"
        },
        "columns": {
          "value": {
            "status": "Used",
            "image_data": "={{ $json.choices[0].message.content }}",
            "drive_file_id": "={{ $('download_image').item.json.drive_file_id }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "drive_file_id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "drive_file_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "file_name",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "file_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "file_type",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "file_type",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "drive_url",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "drive_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "uploaded_date",
              "type": "dateTime",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "uploaded_date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "Unused",
                  "value": "Unused"
                },
                {
                  "name": "Used",
                  "value": "Used"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "image_data",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "image_data",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "drive_file_id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "9vQPBWEQTviLi4pr",
          "name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "7271487c-0d69-4c2c-b062-97105d136a93",
      "name": "基础LLM链",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -2448,
        3440
      ],
      "parameters": {
        "text": "=## Input\nAnalyzed image data : {{ $json.image_data }}\n\n## Available Categories/Collections:\nCategory Title : {{ $('refine_collection_output').item.json.title }}\nCategory id : {{ $('refine_collection_output').item.json.id }}",
        "batching": {},
        "messages": {
          "messageValues": [
            {
              "message": "=You are a Shopify product content generator AI.  \nYour task is to take structured analyzed image data (JSON format) and generate **Shopify product details**.\n\n### Input Data Example:\n{\n  \"character_name\": \"Naruto\",\n  \"series_name\": \"Naruto\",\n  \"category\": \"anime\",\n  \"poster_text\": \"I never go back on my word! That's my nindō: my ninja way.\",\n  \"poster_type\": \"motivational\"\n}\n\n### Available Categories/Collections:\nCategory Title : {{ $('refine_collection_output').item.json.title }}\nCategory id : {{ $('refine_collection_output').item.json.id }}\n\n### Output Rules:\n- Always respond in **valid JSON format only**.  \n- Use the `series_name` and `character_name` in `product_title` if available.  \n- If no character/series, create a general title using poster_type and poster_text keywords.  \n- `product_description` must be 4–6 sentences, engaging, and SEO-friendly.  \n- Select the most relevant `product_category` from the available categories.  \n- Add `\"matched_category_id\"` to match `product_category`.  \n- `SEL_page_title` must be catchy within 70 characters.  \n- `SEL_meta_description` must be engaging within 160 characters.  \n- `SEL_url_handle` must be SEO-friendly (lowercase + hyphens).  \n\n### Output JSON Structure:\n{\n  \"product_title\": \"\",\n  \"matched_category\": \"\",\n  \"matched_category_id\": \"\",\n  \"product_description\": \"\",\n  \"product_category\": \"\",\n  \"SEL_page_title\": \"\",\n  \"SEL_meta_description\": \"\",\n  \"SEL_url_handle\": \"\"\n}"
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.7
    },
    {
      "id": "124951f1-6d2b-4ffc-8bb6-63f9568ab0d9",
      "name": "自动修复输出解析器",
      "type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
      "position": [
        -2384,
        3680
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "79b254f4-ceb9-4685-ba62-5fab927b8009",
      "name": "结构化输出解析器",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -2608,
        3696
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"product_title\": \"Naruto Motivational Anime Poster - Ninja Way\",\n  \"matched_category\": \"Anime\",\n  \"matched_category_id\": \"320625541282\",\n  \"product_description\": \"Bring home the spirit of Naruto Uzumaki with this motivational anime poster. Featuring his iconic quote about never giving up, it’s the perfect wall art for fans and dreamers.\",\n  \"product_category\": \"Anime Posters\",\n  \"SEL_page_title\": \"Naruto Motivational Anime Poster - Ninja Way\",\n  \"SEL_meta_description\": \"Shop this Naruto motivational anime poster featuring his nindō quote. Perfect wall decor for anime fans and dreamers.\",\n  \"SEL_url_handle\": \"naruto-motivational-anime-poster-ninja-way\"\n}\n"
      },
      "typeVersion": 1.3
    },
    {
      "id": "d5625b75-2a40-48ea-bfc3-b6d36bbb1741",
      "name": "限制_",
      "type": "n8n-nodes-base.limit",
      "position": [
        -2672,
        3440
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "64838bc3-8aac-4903-8c66-52e4c60c237b",
      "name": "更新产品详情",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -2864,
        3680
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appYnPOyDUwImADqj",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
          "cachedResultName": "shopify_digital_product"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblalx8WQPAgA6VVY",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tblalx8WQPAgA6VVY",
          "cachedResultName": "product_details"
        },
        "columns": {
          "value": {
            "product_id": "={{Date.now().toString(36) + Math.random().toString(36).slice(2,8)}}",
            "drive_file_id": "={{ $('limit_').item.json.drive_file_id }}",
            "product_title": "={{ $json.output.product_title }}",
            "SEL_page_title": "={{ $json.output.SEL_page_title }}",
            "SEL_url_handle": "={{ $json.output.SEL_url_handle }}",
            "product_status": "generated",
            "product_category": "={{ $json.output.matched_category }}",
            "product_description": "={{ $json.output.product_description }}",
            "SEL_meta_description": "={{ $json.output.SEL_meta_description }}"
          },
          "schema": [
            {
              "id": "drive_file_id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "drive_file_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "product_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_title",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "product_title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_description",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "product_description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_category",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "product_category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_price",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "product_price",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "SEL_page_title",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "SEL_page_title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "SEL_meta_description",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "SEL_meta_description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "SEL_url_handle",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "SEL_url_handle",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "generated",
                  "value": "generated"
                },
                {
                  "name": "posted",
                  "value": "posted"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "product_status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "drive_file_id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "9vQPBWEQTviLi4pr",
          "name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "35bbe721-47d2-4173-b7f5-87dd6060c428",
      "name": "更新云端硬盘文件ID",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -2592,
        2912
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appYnPOyDUwImADqj",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
          "cachedResultName": "shopify_digital_product"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblalx8WQPAgA6VVY",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tblalx8WQPAgA6VVY",
          "cachedResultName": "product_details"
        },
        "columns": {
          "value": {
            "drive_file_id": "={{ $json.drive_file_id }}"
          },
          "schema": [
            {
              "id": "drive_file_id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "drive_file_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_id",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "product_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_title",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "product_title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_description",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "product_description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_category",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "product_category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_price",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "product_price",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "SEL_page_title",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "SEL_page_title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "SEL_meta_description",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "SEL_meta_description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "SEL_url_handle",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "SEL_url_handle",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "generated",
                  "value": "generated"
                },
                {
                  "name": "posted",
                  "value": "posted"
                }
              ],
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "product_status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "create"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "9vQPBWEQTviLi4pr",
          "name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "3ba9b580-69d6-4b31-89a0-21dec6f49ef3",
      "name": "获取已分析行",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -2896,
        3440
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appYnPOyDUwImADqj",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
          "cachedResultName": "shopify_digital_product"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tbl1s3jAxiwbfaQQO",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tbl1s3jAxiwbfaQQO",
          "cachedResultName": "raw_data"
        },
        "options": {},
        "operation": "search",
        "filterByFormula": "{status} = 'Used'"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "9vQPBWEQTviLi4pr",
          "name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
        }
      },
      "executeOnce": true,
      "typeVersion": 2.1
    },
    {
      "id": "99d2c7d8-efe2-4e25-84b6-a50b9798fb69",
      "name": "如果",
      "type": "n8n-nodes-base.if",
      "position": [
        -2816,
        2896
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "8b3e6db0-8236-4eec-926e-68df625ebcc7",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.drive_file_id }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "3ff30e4c-1797-4546-9597-f99204fc60b3",
      "name": "不执行任何操作1",
      "type": "n8n-nodes-base.noOp",
      "position": [
        -2288,
        2880
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "160dc1d3-0181-4c4b-a678-1711b5974be9",
      "name": "获取产品表",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -3040,
        2896
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appYnPOyDUwImADqj",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
          "cachedResultName": "shopify_digital_product"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblalx8WQPAgA6VVY",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tblalx8WQPAgA6VVY",
          "cachedResultName": "product_details"
        },
        "options": {},
        "operation": "search"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "9vQPBWEQTviLi4pr",
          "name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
        }
      },
      "executeOnce": false,
      "typeVersion": 2.1
    },
    {
      "id": "cf6a3a2b-af2a-46db-afe9-6a04e950a9d0",
      "name": "产品信息创建",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -3120,
        3424
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "b3733423-3cd6-4cfe-97c8-3b8ae35f0bcd",
      "name": "限制_2",
      "type": "n8n-nodes-base.limit",
      "position": [
        -3328,
        2896
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "0b5f1b3a-d6cf-4f23-ab48-dba15410d309",
      "name": "等待",
      "type": "n8n-nodes-base.wait",
      "position": [
        -4016,
        3424
      ],
      "webhookId": "e35aea41-7574-48e1-8b9c-8a548a1ddf14",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "eaa6025b-a015-4525-9bd0-578878301a9b",
      "name": "Gimini 模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -2496,
        3696
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "rJcvhJlIc3a5dpyu",
          "name": "gimini_myFirstProject_manipritraj"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5abd0b24-2b29-4d69-9b4d-5a0564e4eb6d",
      "name": "获取已分析行2",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -3008,
        3968
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appYnPOyDUwImADqj",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
          "cachedResultName": "shopify_digital_product"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblalx8WQPAgA6VVY",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tblalx8WQPAgA6VVY",
          "cachedResultName": "product_details"
        },
        "options": {},
        "operation": "search",
        "filterByFormula": "{product_status} = 'generated'"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "9vQPBWEQTviLi4pr",
          "name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
        }
      },
      "executeOnce": true,
      "typeVersion": 2.1
    },
    {
      "id": "64b9d2e6-2b74-4505-9ce2-45d4f4559332",
      "name": "创建产品",
      "type": "n8n-nodes-base.shopify",
      "position": [
        -2784,
        3968
      ],
      "parameters": {
        "title": "={{ $('get_analyzed_row2').item.json.product_title }}",
        "resource": "product",
        "authentication": "accessToken",
        "additionalFields": {
          "handle": "={{ $('get_analyzed_row2').item.json.SEL_url_handle }}",
          "images": [],
          "body_html": "={{ $('get_analyzed_row2').item.json.product_description }}",
          "product_type": "={{ $('get_analyzed_row2').item.json.SEL_page_title }}"
        }
      },
      "credentials": {
        "shopifyAccessTokenApi": {
          "id": "cWbUpQhRGFUOo8GG",
          "name": "admin_flow_forge_art"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "bd81c5a1-291a-48b6-a78a-d22db70fc27a",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -5120,
        2608
      ],
      "parameters": {
        "color": 3,
        "width": 944,
        "height": 1568,
        "content": "# 数字艺术到 Shopify 自动化"
      },
      "typeVersion": 1
    },
    {
      "id": "fcb13329-e49e-4831-8a91-8fb6d1feccd1",
      "name": "更新产品更新状态",
      "type": "n8n-nodes-base.airtable",
      "position": [
        -2544,
        3968
      ],
      "parameters": {
        "base": {
          "__rl": true,
          "mode": "list",
          "value": "appYnPOyDUwImADqj",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj",
          "cachedResultName": "shopify_digital_product"
        },
        "table": {
          "__rl": true,
          "mode": "list",
          "value": "tblalx8WQPAgA6VVY",
          "cachedResultUrl": "https://airtable.com/appYnPOyDUwImADqj/tblalx8WQPAgA6VVY",
          "cachedResultName": "product_details"
        },
        "columns": {
          "value": {
            "product_id": "={{ $('get_analyzed_row2').item.json.product_id }}",
            "product_status": "posted"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "id",
              "defaultMatch": true
            },
            {
              "id": "drive_file_id",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "drive_file_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_id",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "product_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_title",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "product_title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_description",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "product_description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_category",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "product_category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_price",
              "type": "number",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "product_price",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "SEL_page_title",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "SEL_page_title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "SEL_meta_description",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "SEL_meta_description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "SEL_url_handle",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": false,
              "required": false,
              "displayName": "SEL_url_handle",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "product_status",
              "type": "options",
              "display": true,
              "options": [
                {
                  "name": "generated",
                  "value": "generated"
                },
                {
                  "name": "posted",
                  "value": "posted"
                }
              ],
              "removed": false,
              "readOnly": false,
              "required": false,
              "displayName": "product_status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "product_id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update"
      },
      "credentials": {
        "airtableTokenApi": {
          "id": "9vQPBWEQTviLi4pr",
          "name": "n8n.verified@gmail.com_shopify_raw_digital_product_"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "92d6bbc1-5b29-42fb-af8f-a2dd3394fa4f",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -4128,
        2608
      ],
      "parameters": {
        "width": 2096,
        "height": 752,
        "content": "# 数字图像分析"
      },
      "typeVersion": 1
    },
    {
      "id": "8609bce8-b6ce-42dc-9b60-9032a024c89b",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -4128,
        3408
      ],
      "parameters": {
        "width": 2096,
        "height": 768,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "095edb67-2ee2-4c32-921a-fe5f5fa06c32",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -5648,
        2608
      ],
      "parameters": {
        "color": 6,
        "width": 464,
        "height": 912,
        "content": "# 作者详情"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {
    "get_analyzed_row2": [
      {
        "id": "recdAJ3GIepvodx2f",
        "product_id": "mgc6pd12riar5y",
        "createdTime": "2025-10-03T23:29:54.000Z",
        "drive_file_id": "1FtIvbMF7TKO0F1KXK0IRsLavZvW869Pn",
        "product_title": "Motivational Poster: Perseverance is the Key to Strength",
        "SEL_page_title": "Perseverance is Key | Motivational Strength Poster",
        "SEL_url_handle": "motivational-perseverance-strength-poster",
        "product_status": "generated",
        "product_category": "Best Sellers",
        "product_description": "Unlock your potential with this powerful motivational poster featuring the timeless message: \"Perseverance is the key to strength.\" This inspiring piece serves as a daily reminder that true power comes from unwavering dedication and never giving up on your goals. Perfect for any aspiring individual, whether you're a student, professional, or simply seeking daily encouragement. Let its profound wisdom fuel your resolve and inspire you to overcome any challenge. Elevate your workspace, bedroom, or living area with this high-quality, thought-provoking design.\n",
        "SEL_meta_description": "Inspire your journey with our 'Perseverance is the Key to Strength' motivational poster. A powerful reminder to stay strong and achieve your goals. Perfect for any space!"
      }
    ]
  },
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "do nothing1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "update_drive_file_id",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "store_id",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "start": {
      "main": [
        [
          {
            "node": "get_raw_image_table_data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "limit_": {
      "main": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "limit_1": {
      "main": [
        [
          {
            "node": "download_image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "limit_2": {
      "main": [
        [
          {
            "node": "get_product_table",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "store_id": {
      "main": [
        [
          {
            "node": "get_collection_data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gimini Model": {
      "ai_languageModel": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Auto-fixing Output Parser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "analyze_image": {
      "main": [
        [
          {
            "node": "update_image_data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "download_image": {
      "main": [
        [
          {
            "node": "analyze_image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "filter_raw_row": {
      "main": [
        [
          {
            "node": "loop_image_analyzation",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Basic LLM Chain": {
      "main": [
        [
          {
            "node": "update_product_details",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create a product": {
      "main": [
        [
          {
            "node": "update_product_update_status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "get_analyzed_row": {
      "main": [
        [
          {
            "node": "limit_",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "get_analyzed_row2": {
      "main": [
        [
          {
            "node": "Create a product",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "get_product_table": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "update_image_data": {
      "main": [
        [
          {
            "node": "loop_image_analyzation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "get_collection_data": {
      "main": [
        [
          {
            "node": "refine_collection_output",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "update_drive_file_id": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "product_info_creation": {
      "main": [
        [
          {
            "node": "get_analyzed_row2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "get_analyzed_row",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "loop_image_analyzation": {
      "main": [
        [
          {
            "node": "limit_2",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "limit_1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "update_product_details": {
      "main": [
        [
          {
            "node": "product_info_creation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Auto-fixing Output Parser",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "get_raw_image_table_data": {
      "main": [
        [
          {
            "node": "filter_raw_row",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "refine_collection_output": {
      "main": [
        [
          {
            "node": "product_info_creation",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Auto-fixing Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

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

需要付费吗?

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

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

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

作者
MANISH KUMAR

MANISH KUMAR

@manipritraj

Automation Architect | n8n Expert I turn repetition into magic! Building workflows for: - Content creation (YouTube/social media) - Business ops (CRM/data pipelines) - Personal productivity (AI/smart home) Superpowers: API integrations • Debugging • Scalable solutions Featured: YouTube Shorts Automator • AI Report Generator • Custom ChatGPT+n8n "Automation should adapt to humans" 📧 manipritraj@gmail.com Fun fact: Automated my coffee+news+cat feeder! ☕🐈

外部链接
在 n8n.io 查看

分享此工作流