8
n8n 中文网amn8n.com

Reel 内容策略师:从 URL 到使用 AI + Sheets 生成病毒式钩子

高级

这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 35 个节点。主要使用 If, Code, Wait, Switch, Telegram 等节点。 使用 Mistral AI、AssemblyAI 和 Sheets 将 Instagram Reels 转换为病毒式内容

前置要求
  • Telegram Bot Token
  • 可能需要目标 API 的认证凭证
  • Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "vEqNzGpjObt1OHgo",
  "meta": {
    "instanceId": "b26424d3215c7266f8d86ebf4e119efbba8d7d5979f909ca85180d219cb44683",
    "templateCredsSetupCompleted": true
  },
  "name": "Reel 内容策略师:从 URL 到使用 AI + Sheets 生成病毒式钩子",
  "tags": [],
  "nodes": [
    {
      "id": "905e3d38-679f-4a4a-974b-55946ee90e6b",
      "name": "等待",
      "type": "n8n-nodes-base.wait",
      "position": [
        -2080,
        64
      ],
      "webhookId": "d6221bed-1f22-40ab-99bc-1975c0e581e0",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "b5a8bb22-9b52-4231-a74f-901e4ecee891",
      "name": "等待 2",
      "type": "n8n-nodes-base.wait",
      "position": [
        -2224,
        544
      ],
      "webhookId": "1ba613c4-9ff8-4288-a9d3-3aa01b96cef6",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "4596408d-30c8-47e6-9023-a9ddbca446f2",
      "name": "发送短信",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -976,
        640
      ],
      "webhookId": "c8f0bf22-56d7-498e-aa6a-a5792a746de3",
      "parameters": {
        "text": "=Reel Processed Successfully!\nUploader: {{ $('Apify::Scrape Reel Metadata').item.json.metadata.uploader }}\nTitle: {{ $('Apify::Scrape Reel Metadata').item.json.metadata.title }}\n{{ $json.niche_and_category }}\n\nDescription:{{ $('Apify::Scrape Reel Metadata').item.json.metadata.description }}\n\nAll the details have been securely appended to the Google Sheet for your reference.\n\nhttps://docs.google.com/spreadsheets/d/1UOAzmnYS8Wm8ngkgfap88u6D5koi0t1Eavm9q-ftgho/edit?gid=0#gid=0\n\nIf you have more reels to analyze, just send them my way!",
        "chatId": "7134662081",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "ZmiTy1M5d0eloSAy",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "63dadfa8-41ca-487b-ac9b-8c59e9ebaeb5",
      "name": "结构化输出解析器",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -1328,
        656
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"niche\": \"Investing and Business Growth\",\n  \"core_message\": \"Learning key skills like pattern recognition can lead to massive success in investing and business.\",\n  \"ideas\": [\n    {\n      \"title\": \"The Secret Skills to Invest Like a Pro!\",\n      \"script\": \"Ever felt like investing is a mystery you can't crack? What if I told you that there are secret skills that can make you an investing pro?... [etc]\"\n    },\n    {\n      \"title\": \"Unlocking the Holy Grail of Investing: A Billionaire's Guide\",\n      \"script\": \"Close your eyes and imagine having the investing secrets of a billionaire at your fingertips... [etc]\"\n    },\n    {\n      \"title\": \"Pattern Recognition: The Key to Unstoppable Success in Investing\",\n      \"script\": \"Have you ever wondered what separates successful investors from the rest?... [etc]\"\n    }\n  ]\n}\n"
      },
      "typeVersion": 1.2
    },
    {
      "id": "42c0ea86-8a7b-41ff-bbb2-c0d554200621",
      "name": "Telegram触发器",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -2384,
        -496
      ],
      "webhookId": "38ef4600-319a-43d3-863b-8f938f0289aa",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "ZmiTy1M5d0eloSAy",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "161ed626-3f97-413a-839d-99fba224e116",
      "name": "Mistral Cloud 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatMistralCloud",
      "position": [
        -1488,
        688
      ],
      "parameters": {
        "model": "mistral-large-pixtral-2411",
        "options": {}
      },
      "credentials": {
        "mistralCloudApi": {
          "id": "Ei23rfsUv6ry26NL",
          "name": "Mistral Cloud account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "6b28f94a-4e48-410b-9360-d4717d7b2829",
      "name": "提取::Instagram Reel URL",
      "type": "n8n-nodes-base.code",
      "position": [
        -2192,
        -496
      ],
      "parameters": {
        "jsCode": "const item = items[0].json;\n\n// Combine and stringify possible text-containing fields\nlet input = item.text || item.message || item.caption || item.input || item.user_input || \"\";\n\n// Convert non-string inputs (like objects) to a string\nif (typeof input !== \"string\") {\n  try {\n    input = JSON.stringify(input);\n  } catch (err) {\n    input = \"\";\n  }\n}\n\n// Regex to extract Instagram Reel URL\nconst match = input.match(/(?:https?:\\/\\/)?(?:www\\.)?instagram\\.com\\/reel\\/[a-zA-Z0-9_-]+/i);\n\nlet cleanedUrl = null;\n\nif (match && match[0]) {\n  const baseUrl = match[0].startsWith(\"http\") ? match[0] : `https://${match[0]}`;\n  cleanedUrl = baseUrl.split(\"?\")[0].replace(/\\/$/, \"\");\n}\n\nreturn [\n  {\n    json: {\n      original_input: input,\n      reel_url: cleanedUrl\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "524e0f6e-b481-4e71-86ff-e0e7676bceea",
      "name": "验证::URL 已提取",
      "type": "n8n-nodes-base.if",
      "position": [
        -2000,
        -496
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "392238d8-29a9-4711-a23b-3fcb76d8f3a6",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.reel_url }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "be94ea5c-1587-4b5c-a7af-e85f6af205e6",
      "name": "响应::无效 URL",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -1808,
        -416
      ],
      "webhookId": "5a1d72d7-e080-47f1-ad55-c91ded1e6fa3",
      "parameters": {
        "text": "Couldn't find any reel's URL. Please try again",
        "chatId": "7134662081",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "ZmiTy1M5d0eloSAy",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "17f5b2c5-e4be-4f99-85b7-9c33dd4afd43",
      "name": "Apify::抓取 Reel 元数据",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1488,
        -512
      ],
      "parameters": {
        "url": "https://api.apify.com/v2/acts/red.cars~universal-content-extractor/run-sync-get-dataset-items",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"urls\": [\"{{ $('Extract::Instagram Reel URL').item.json.reel_url }}\"],\n  \"quality\": \"best\",\n  \"format\": \"mp4\",\n  \"audioOnly\": false,\n  \"removeWatermark\": false,\n  \"maxItems\": 100\n}\n",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Authorization",
              "value": "Bearer <YOUR_API_KEY>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "facfc5dd-2bcb-4b39-bdf0-e9fbcfdb0735",
      "name": "验证::Reel 可下载",
      "type": "n8n-nodes-base.if",
      "position": [
        -1264,
        -512
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "4b65fab6-dbd4-4def-872e-3a7d787dbaa5",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.success.toString() }}",
              "rightValue": "true"
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "ff31144d-56b9-454b-a75e-49f820feef27",
      "name": "响应::Reel 下载失败1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -1040,
        -496
      ],
      "webhookId": "00cdabaa-9ff4-4f52-af8b-60c15fd95581",
      "parameters": {
        "text": "This video is private or not available. For private content, try providing authentication cookies in the input or try with different video.",
        "chatId": "7134662081",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "ZmiTy1M5d0eloSAy",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "002b64cf-c653-4f96-88c5-95178f151a35",
      "name": "下载::Reel 文件",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -2400,
        64
      ],
      "parameters": {
        "url": "={{ $json.downloadUrl }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "939b1be9-ed42-4ee8-ac96-01093b852603",
      "name": "FreeConvert::导入 Reel",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -2224,
        64
      ],
      "parameters": {
        "url": "https://api.freeconvert.com/v1/process/jobs",
        "method": "POST",
        "options": {},
        "jsonBody": "={{\n{\n\"tasks\": {\n\"import\": {\n\"operation\": \"import/url\",\n\"url\": $json.downloadUrl\n}\n}\n}\n}}",
        "sendBody": true,
        "specifyBody": "json"
      },
      "typeVersion": 4.2
    },
    {
      "id": "05f55b76-a1ef-4248-86b9-a2e7ca6655b6",
      "name": "检查::导入状态",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1952,
        64
      ],
      "parameters": {
        "url": "=https://api.freeconvert.com/v1/process/jobs/{{ $json[\"id\"] }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "a4c03ad5-49a9-462b-af20-4fa5e96949d9",
      "name": "验证::导入成功",
      "type": "n8n-nodes-base.if",
      "position": [
        -1808,
        64
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "5cac220a-408e-488e-811f-b13f238a64f8",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "completed"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "545a91df-9f9e-42cb-be6b-16eb3034c87a",
      "name": "FreeConvert::提交 MP3 转换",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1568,
        48
      ],
      "parameters": {
        "url": "https://api.freeconvert.com/v1/process/jobs",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"tasks\": {\n    \"import-my-file\": {\n      \"operation\": \"import/url\",\n      \"url\": \"{{ $json.tasks[0].result.url }}\"\n    },\n    \"convert-my-file\": {\n      \"operation\": \"convert\",\n      \"input\": \"import-my-file\",\n      \"input_format\": \"mp4\",\n      \"output_format\": \"mp3\",\n      \"options\": {\n        \"audio_codec\": \"auto\",\n        \"audio_filter_volume\": 100,\n        \"audio_filter_fade_in\": true,\n        \"audio_filter_fade_out\": false,\n        \"audio_filter_reverse\": false\n      }\n    }\n  }\n} ",
        "sendBody": true,
        "specifyBody": "json"
      },
      "typeVersion": 4.2
    },
    {
      "id": "3f559d47-8767-4ef5-ae4e-f20d7cbd7ecb",
      "name": "等待1",
      "type": "n8n-nodes-base.wait",
      "position": [
        -1424,
        48
      ],
      "webhookId": "9706b8f3-0251-4960-a111-c777d94544c6",
      "parameters": {
        "amount": 10
      },
      "typeVersion": 1.1
    },
    {
      "id": "625586fa-5bf3-4ba5-aa97-6bdfa1bd1ba5",
      "name": "检查::转换状态",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1296,
        48
      ],
      "parameters": {
        "url": "=https://api.freeconvert.com/v1/process/jobs/{{ $json.id }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "7ce4c865-df6a-4f76-b942-da545da26fce",
      "name": "验证::转换完成",
      "type": "n8n-nodes-base.if",
      "position": [
        -1168,
        48
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "70e4be95-0274-457e-a082-71ece0319dc9",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "completed"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "2f083b7f-e16c-4027-a265-175c97455fca",
      "name": "下载::MP3 文件",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1024,
        32
      ],
      "parameters": {
        "url": "={{ $json.tasks[1].result.url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "cc2817f6-88db-4a0b-a57d-d2c7e42b17f5",
      "name": "AssemblyAI::提交转录",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -2384,
        544
      ],
      "parameters": {
        "url": "https://api.assemblyai.com/v2/transcript",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "audio_url",
              "value": "={{ $json.tasks[1].result.url }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "authorization",
              "value": "<YOUR_API_KEY>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a44681f4-b333-4cd6-8ed6-6ee8455aa4e1",
      "name": "检查::转录状态",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -2080,
        544
      ],
      "parameters": {
        "url": "=https://api.assemblyai.com/v2/transcript/{{ $json.id }}",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "<YOUR_API_KEY>"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "b9ead96f-74c2-4265-ae8a-792f96f51685",
      "name": "验证::转录存在",
      "type": "n8n-nodes-base.switch",
      "position": [
        -1936,
        544
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "true",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "d81ca0f8-f30b-4672-a8f8-c725f0fc1889",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.status }}",
                    "rightValue": "completed"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "false",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "7ce19b2d-3eff-41df-9409-a0d5e0c8c388",
                    "operator": {
                      "type": "string",
                      "operation": "notEquals"
                    },
                    "leftValue": "={{ $json.status }}",
                    "rightValue": "completed"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "eb2df6cb-2d9b-4a2d-ab4c-330b419a776d",
      "name": "验证::检测到语音",
      "type": "n8n-nodes-base.if",
      "position": [
        -1808,
        480
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "d59771bd-92c1-4aa3-af5a-2db1c964754d",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.text }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "41c7eb0e-dbe1-44c8-ad78-21a2dfdbad13",
      "name": "响应::未找到语音",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -1776,
        640
      ],
      "webhookId": "634c35f2-8d64-4b3d-a9cc-425b675780db",
      "parameters": {
        "text": "The Agent couldn't detect any speech in the reel. Please try again with different reel's url",
        "chatId": "7134662081",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "ZmiTy1M5d0eloSAy",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0f3f94a7-da2e-4526-adb5-f917eadc44a3",
      "name": "AI::生成钩子创意和脚本",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -1568,
        512
      ],
      "parameters": {
        "text": "={{ $json.text }}",
        "options": {
          "systemMessage": "=You are a content strategist for viral short-form videos on platforms like Instagram Reels, TikTok, and YouTube Shorts. Below is a transcript from a video/audio clip:\n\n{{ $json.text }}\n\nYour job:\n1. Identify the niche or theme this audio belongs to.\n2. Summarize the core message in 1 line.\n3. Generate 3 compelling short-form video titles or hooks (for attention-grabbing thumbnails or captions).\n4. For each of those 3 hooks, write a short video script (30–60 seconds), formatted for talking head videos or voiceovers.\n\nTone: Bold, clear, emotional. Scripts must feel natural and powerful — not robotic.\n\nFormat your response like this:\n\n---\n**Niche**: [Identified niche]\n\n**Core Message**: [1-line insight]\n\n**Idea 1**: [Hook Title]\n**Script 1**:\n[Video Script]\n\n**Idea 2**: [Hook Title]\n**Script 2**:\n[Video Script]\n\n**Idea 3**: [Hook Title]\n**Script 3**:\n[Video Script]"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.8
    },
    {
      "id": "4ef2c047-f657-4dce-8480-98d83aaa0afa",
      "name": "验证::AI 输出字段",
      "type": "n8n-nodes-base.if",
      "position": [
        -1248,
        512
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "5e4cd63e-f426-47f1-8f6e-0b30dcdc5534",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.output.niche }}",
              "rightValue": ""
            },
            {
              "id": "3e79a262-48e6-4674-aed8-9ca98676067a",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.output.core_message }}",
              "rightValue": ""
            },
            {
              "id": "48413128-7c48-4478-abd8-1694b0224309",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.output.ideas[0].title }}",
              "rightValue": ""
            },
            {
              "id": "9dd3c385-2a8e-4760-a3a8-e942aeaec139",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.output.ideas[0].script }}",
              "rightValue": ""
            },
            {
              "id": "31a63116-5463-4767-b3a3-8b6702f9c383",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.output.ideas[1].title }}",
              "rightValue": "="
            },
            {
              "id": "79c709a8-3ebd-46ce-929e-360b55b1444e",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.output.ideas[1].script }}",
              "rightValue": ""
            },
            {
              "id": "b7ee88b3-b4f1-4ee7-adcc-ce7d718c4e0d",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.output.ideas[2].title }}",
              "rightValue": ""
            },
            {
              "id": "a066b804-cdab-45d9-94c3-86758297c6ef",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.output.ideas[2].script }}",
              "rightValue": ""
            },
            {
              "id": "ec2ddc55-173c-4adc-a188-0bd81f2838d1",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "1a6394ea-0c67-4c83-9bc7-4f437a9de32a",
      "name": "存储::记录到 Google 表格",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -1104,
        496
      ],
      "parameters": {
        "columns": {
          "value": {
            "Title": "={{ $('Apify::Scrape Reel Metadata').item.json.metadata.title }}",
            "idea_1": "={{ $('AI::Generate Hook Ideas & Scripts').item.json.output.ideas[0].title }}",
            "idea_2": "={{ $('AI::Generate Hook Ideas & Scripts').item.json.output.ideas[1].title }}",
            "idea_3": "={{ $('AI::Generate Hook Ideas & Scripts').item.json.output.ideas[2].title }}",
            "reel_url": "={{ $('Extract::Instagram Reel URL').item.json.reel_url }}",
            "script_1": "={{ $('AI::Generate Hook Ideas & Scripts').item.json.output.ideas[0].script }}",
            "script_2": "={{ $('AI::Generate Hook Ideas & Scripts').item.json.output.ideas[1].script }}",
            "script_3": "={{ $('AI::Generate Hook Ideas & Scripts').item.json.output.ideas[2].script }}",
            "uploader": "={{ $('Apify::Scrape Reel Metadata').item.json.metadata.uploader }}",
            "file_name": "={{ $('Apify::Scrape Reel Metadata').item.json.filename }}",
            "description": "={{ $('Apify::Scrape Reel Metadata').item.json.metadata.description }}",
            "core_message": "={{ $('AI::Generate Hook Ideas & Scripts').item.json.output.core_message }}",
            "transcripted_text": "={{ $('Check::Transcript Status').item.json.text }}",
            "audio_download_url": "={{ $('Check::Transcript Status').item.json.audio_url }}",
            "niche_and_category": "={{ $('AI::Generate Hook Ideas & Scripts').item.json.output.niche }}",
            "video_download_url": "={{ $('Download::Reel File').item.json.downloadUrl }}"
          },
          "schema": [
            {
              "id": "Title",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "reel_url",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "reel_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "video_download_url",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "video_download_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "audio_download_url",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "audio_download_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "file_name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "file_name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "uploader",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "uploader",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "description",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "transcripted_text",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "transcripted_text",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "core_message",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "core_message",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "idea_1",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "idea_1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "script_1",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "script_1",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "idea_2",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "idea_2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "script_2",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "script_2",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "idea_3",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "idea_3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "script_3",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "script_3",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "niche_and_category",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "niche_and_category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "reel_url"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1UOAzmnYS8Wm8ngkgfap88u6D5koi0t1Eavm9q-ftgho/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1UOAzmnYS8Wm8ngkgfap88u6D5koi0t1Eavm9q-ftgho",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1UOAzmnYS8Wm8ngkgfap88u6D5koi0t1Eavm9q-ftgho/edit?usp=drivesdk",
          "cachedResultName": "reel transcription report"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "eV5NbuAOJWiuWhoo",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "2e0f9827-9b16-47f0-b186-4f63fd8fbec4",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2432,
        -752
      ],
      "parameters": {
        "width": 784,
        "height": 496,
        "content": "## 🔹 TELEGRAM 输入和 URL 提取"
      },
      "typeVersion": 1
    },
    {
      "id": "aa31e38b-a7d2-4a73-9c8f-662621a2bdfa",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1632,
        -752
      ],
      "parameters": {
        "color": 3,
        "width": 784,
        "height": 496,
        "content": "## 🔹 REEL 下载和验证"
      },
      "typeVersion": 1
    },
    {
      "id": "460a3d80-d641-43c5-b4e6-cecf115b7b56",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2432,
        -224
      ],
      "parameters": {
        "color": 5,
        "width": 784,
        "height": 496,
        "content": "## 🔹文件处理 — 阶段 1(导入)"
      },
      "typeVersion": 1
    },
    {
      "id": "f18fa6a5-f142-41a3-9975-6629d661fe62",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1632,
        -224
      ],
      "parameters": {
        "color": 4,
        "width": 784,
        "height": 496,
        "content": "## 🔹 文件处理 — 阶段 2(转换为音频)"
      },
      "typeVersion": 1
    },
    {
      "id": "b1ad6552-6b6b-4cd4-8c68-fdf2320fc754",
      "name": "便签说明4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2432,
        304
      ],
      "parameters": {
        "color": 6,
        "width": 784,
        "height": 496,
        "content": "## 🔹 转录和验证"
      },
      "typeVersion": 1
    },
    {
      "id": "6b032e6a-b4de-4a53-8a9f-cf01bfefed18",
      "name": "便签说明5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1632,
        304
      ],
      "parameters": {
        "color": 2,
        "width": 784,
        "height": 496,
        "content": "## 🔹 AI 分析、策略生成和数据存储"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "7f0c3d0b-c8ce-4569-8587-dab20031e14c",
  "connections": {
    "Wait": {
      "main": [
        [
          {
            "node": "Check::Import Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait1": {
      "main": [
        [
          {
            "node": "Check::Conversion Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait2": {
      "main": [
        [
          {
            "node": "Check::Transcript Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "Extract::Instagram Reel URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download::MP3 File": {
      "main": [
        [
          {
            "node": "AssemblyAI::Submit Transcription",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Download::Reel File": {
      "main": [
        [
          {
            "node": "FreeConvert::Import Reel",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check::Import Status": {
      "main": [
        [
          {
            "node": "Validate::Import Successful",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate::URL Extracted": {
      "main": [
        [
          {
            "node": "Apify::Scrape Reel Metadata",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Respond::Invalid URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check::Conversion Status": {
      "main": [
        [
          {
            "node": "Validate::Conversion Complete",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check::Transcript Status": {
      "main": [
        [
          {
            "node": "Validate::Transcript Present",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "FreeConvert::Import Reel": {
      "main": [
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Mistral Cloud Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI::Generate Hook Ideas & Scripts",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "AI::Generate Hook Ideas & Scripts",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Validate::Speech Detected": {
      "main": [
        [
          {
            "node": "AI::Generate Hook Ideas & Scripts",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Respond::No Speech Found",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate::AI Output Fields": {
      "main": [
        [
          {
            "node": "Storage::Log to Google Sheet",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "AI::Generate Hook Ideas & Scripts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Apify::Scrape Reel Metadata": {
      "main": [
        [
          {
            "node": "Validate::Reel Downloadable",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract::Instagram Reel URL": {
      "main": [
        [
          {
            "node": "Validate::URL Extracted",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate::Import Successful": {
      "main": [
        [
          {
            "node": "FreeConvert::Submit MP3 Conversion",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate::Reel Downloadable": {
      "main": [
        [
          {
            "node": "Download::Reel File",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Respond::Reel Download Failed1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Storage::Log to Google Sheet": {
      "main": [
        [
          {
            "node": "Send a text message",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate::Transcript Present": {
      "main": [
        [
          {
            "node": "Validate::Speech Detected",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate::Conversion Complete": {
      "main": [
        [
          {
            "node": "Download::MP3 File",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Wait1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AssemblyAI::Submit Transcription": {
      "main": [
        [
          {
            "node": "Wait2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI::Generate Hook Ideas & Scripts": {
      "main": [
        [
          {
            "node": "Validate::AI Output Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "FreeConvert::Submit MP3 Conversion": {
      "main": [
        [
          {
            "node": "Wait1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

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

需要付费吗?

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

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

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

作者
Mirza Ajmal

Mirza Ajmal

@ajmalmirza

Ajmal is an n8n and automation expert who helps businesses streamline workflows, eliminate manual tasks, and leverage AI-powered automation. He specializes in AI agents, API integrations, and no-code automation to optimize operations and boost efficiency.

外部链接
在 n8n.io 查看

分享此工作流