使用Dumpling AI和GPT-4从TikTok视频提取营销洞察
中级
这是一个Market Research, Multimodal AI领域的自动化工作流,包含 12 个节点。主要使用 Code, AiTransform, FormTrigger, HttpRequest, GoogleSheets 等节点。 使用Dumpling AI和GPT-4从TikTok视频提取营销洞察并生成内容
前置要求
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
- •OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "vKjQAPaaL1cUVXtj",
"meta": {
"instanceId": "a1ae5c8dc6c65e674f9c3947d083abcc749ef2546dff9f4ff01de4d6a36ebfe6",
"templateCredsSetupCompleted": true
},
"name": "使用 Dumpling AI 和 GPT-4 从 TikTok 视频提取营销洞察",
"tags": [],
"nodes": [
{
"id": "2f93eea5-5e9b-4f5e-88db-bbfc689fad92",
"name": "表单:提交 TikTok URL + 产品信息",
"type": "n8n-nodes-base.formTrigger",
"position": [
-760,
150
],
"webhookId": "8f2a292d-01ab-45ec-9197-9f053276c70c",
"parameters": {
"options": {},
"formTitle": "TikTok Scraper ",
"formFields": {
"values": [
{
"fieldLabel": "Tiktok Video URL"
},
{
"fieldLabel": "Keyword "
},
{
"fieldLabel": "Product "
}
]
}
},
"typeVersion": 2.2
},
{
"id": "3fed2762-757b-4b3b-8fe1-19b04eb6d447",
"name": "Dumpling AI:获取 TikTok 转录文本",
"type": "n8n-nodes-base.httpRequest",
"position": [
-540,
150
],
"parameters": {
"url": "=https://app.dumplingai.com/api/v1/get-tiktok-transcript",
"method": "POST",
"options": {
"response": {
"response": {
"responseFormat": "text",
"outputPropertyName": "body"
}
}
},
"sendBody": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "videoUrl",
"value": "={{ $json['Tiktok Video URL'] }}"
}
]
},
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "RLFzAcGRepr5eXZB",
"name": "Dumpling AI-n8n"
}
},
"typeVersion": 4.2
},
{
"id": "c713b45f-f4af-40cd-a67d-640a96903a85",
"name": "格式化:清理 VTT 字幕",
"type": "n8n-nodes-base.code",
"position": [
-320,
150
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "const vtt = $json.body; // text we just downloaded\n\nif (!vtt) {\n return { transcript: null, note: \"no TikTok captions\" };\n}\n\nconst lines = vtt\n .split(/\\r?\\n/)\n .filter(l => l && !l.match(/^(\\d+|WEBVTT|X-TIMESTAMP|[:\\d+.\\-> ]+$)/));\n\nreturn { transcript: lines.join(\" \") };\n"
},
"typeVersion": 2
},
{
"id": "5f405063-4e4c-42d3-9f0a-98c0fda55bb3",
"name": "GPT-4:提取痛点与洞察",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-20,
-80
],
"parameters": {
"text": "=Here is a TikTok transcript. Analyze it for the following:\n\n1. Determine whether the speaker is describing a **problem**, a **solution**, or **both** regarding the keyword: \"{{ $('Form: Submit TikTok URL + Product Info').item.json['Keyword '] }}\".\n2. Extract:\n - Pain points\n - Desired outcomes\n - Triggers or motivating events\n - Interesting direct quotes or phrases\n\nTranscript: {{ $json.transcript }}\n",
"options": {
"systemMessage": "=You are a customer research analyst. Your job is to extract actionable marketing insights from user-generated content like TikTok transcripts.\n"
},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "6d7d57a8-b44e-4b25-8af2-1b86b72c534b",
"name": "解析:分离洞察(痛点、结果等)",
"type": "n8n-nodes-base.aiTransform",
"position": [
400,
-20
],
"parameters": {
"jsCode": "const items = $input.all();\nconst outputItems = items.map((item) => {\n const output = item?.json?.output;\n\n const painPointsIndex = output.indexOf(\"Pain Points\") + \"Pain Points\".length;\n const desiredOutcomesIndex = output.indexOf(\"Desired Outcomes\");\n const triggersIndex = output.indexOf(\"Triggers or Motivating Events\");\n const quotesIndex = output.indexOf(\"Interesting Direct Quotes or Phrases\");\n\n const painPoints = output.slice(painPointsIndex, desiredOutcomesIndex).trim();\n const desiredOutcomes = output\n .slice(desiredOutcomesIndex, triggersIndex)\n .trim();\n const triggers = output.slice(triggersIndex, quotesIndex).trim();\n const quotes = output.slice(quotesIndex).trim();\n\n return {\n painPoints,\n desiredOutcomes,\n triggers,\n quotes,\n };\n});\n\nreturn outputItems;\n",
"instructions": "I want to extract the output from the AI agent into own separate outputs. So extract the pain points, desired outcomes, triggers or motivating events, interesting direct quotes or phrases",
"codeGeneratedForPrompt": "I want to extract the output from the AI agent into own separate outputs. So extract the pain points, desired outcomes, triggers or motivating events, interesting direct quotes or phrases"
},
"typeVersion": 1
},
{
"id": "6baf0404-4ea2-42ce-927f-7a0207d04f41",
"name": "Google Sheets:记录洞察 + 帖子文案",
"type": "n8n-nodes-base.googleSheets",
"position": [
652,
150
],
"parameters": {
"columns": {
"value": {
"Video URL": "={{ $('Form: Submit TikTok URL + Product Info').item.json['Tiktok Video URL'] }}",
"New Script": "={{ $json.output }}",
"Pain points": "={{ $('Parse: Separate Insights (pain points, outcomes, etc)').first().json.painPoints}}",
"Desired outcomes": "={{ $('Parse: Separate Insights (pain points, outcomes, etc)').first().json.desiredOutcomes }}",
"Original Transcription": "={{ $('Format: Clean VTT Captions').item.json.transcript }}",
"Interesting direct quotes": "={{$('Parse: Separate Insights (pain points, outcomes, etc)').first().json.quotes}}",
"Triggers or motivating events": "={{ $('Parse: Separate Insights (pain points, outcomes, etc)').first().json.triggers }}"
},
"schema": [
{
"id": "Video URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Video URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Original Transcription",
"type": "string",
"display": true,
"required": false,
"displayName": "Original Transcription",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Pain points",
"type": "string",
"display": true,
"required": false,
"displayName": "Pain points",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Desired outcomes",
"type": "string",
"display": true,
"required": false,
"displayName": "Desired outcomes",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Triggers or motivating events",
"type": "string",
"display": true,
"required": false,
"displayName": "Triggers or motivating events",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Interesting direct quotes",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Interesting direct quotes",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "New Script",
"type": "string",
"display": true,
"required": false,
"displayName": "New Script",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Video URL"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1aXRi2vdugC2YJ4Up8vSkeDEpbTem9-t8x5m5H7Or9w8/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/17HGdr1TvWdv6aLVlElGqqz8Q6aS90IXIlJBYsW5rPtk/edit?usp=drivesdk",
"cachedResultName": "TikTok URL"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "GaJqJHuS5mQxap7q",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "37d135b2-9861-4829-906f-13a0d781012f",
"name": "GPT-4:将转录文本重写为营销帖子",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
40,
360
],
"parameters": {
"text": "=Analyze the following TikTok transcript and determine whether the speaker is primarily describing:\n\n- a **problem** related to the keyword \"{{ $('Form: Submit TikTok URL + Product Info').item.json['Keyword '] }}\".\n- a **solution** they've found, or\n- **both** a problem and a solution.\n\nThen, rewrite the transcript with the following goals:\n\n1. Frame our product or service \"{{ $('Form: Submit TikTok URL + Product Info').item.json['Product '] }}\" as the ideal solution to the problem, or a key part of the solution being described.\n2. Preserve the speaker’s tone, voice, and informal/social style.\n3. Make it sound like a natural social media post or spoken monologue.\n4. Ensure it's conversational and authentic.\n\n\nTranscript: {{ $json.transcript }}\n\n\n\n\n\n\n\n",
"options": {
"systemMessage": "=You are a persuasive copywriter skilled at rewriting user-generated content to position a product or service as the solution to customer problems or goals, while preserving the original voice and tone.\n"
},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "13fb5224-ab7e-4202-804d-0c5f186b742a",
"name": "GPT-4:用于研究 Agent",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-72,
220
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "dd8NvMC6rvx8RITo",
"name": "OpenAi account 2"
}
},
"typeVersion": 1.2
},
{
"id": "b6f39362-75bf-48c9-b4be-2f2250fd01b5",
"name": "GPT-4:用于重写 Agent",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-140,
560
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "dd8NvMC6rvx8RITo",
"name": "OpenAi account 2"
}
},
"typeVersion": 1.2
},
{
"id": "dba84dc4-769f-45a6-bff9-bd11f7fb0c1b",
"name": "🧠 LangChain工具(用于代理)",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
48,
220
],
"parameters": {},
"typeVersion": 1
},
{
"id": "39c7099f-c491-44d3-99bc-1fb716227b79",
"name": "🧠 LangChain 工具(用于 Agent)1",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
280,
600
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b1505793-aefe-421d-bb59-7a5e579cfee6",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-900,
-220
],
"parameters": {
"width": 740,
"height": 460,
"content": "### 🎯 工作流摘要"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {
"Dumpling AI: Get TikTok Transcript": [
{
"json": {
"body": "{\"transcript\":\"WEBVTT\\n\\n\\n00:00:04.720 --> 00:00:07.920\\nbookmark it later because you're gonna wanna check out each of these platforms\\n\\n00:00:07.921 --> 00:00:09.600\\nif you don't know what AI agents are\\n\\n00:00:09.601 --> 00:00:11.800\\nthey're probably the hottest thing in AI right now\\n\\n00:00:11.801 --> 00:00:13.680\\nfirst one is relevance AI\\n\\n00:00:13.681 --> 00:00:16.520\\nand I love this platform for use cases like sales\\n\\n00:00:16.521 --> 00:00:18.140\\nmarketing and research\\n\\n00:00:18.200 --> 00:00:21.480\\nmakes it super easy to build agents that have access to tools\\n\\n00:00:21.481 --> 00:00:22.880\\nnumber two is Stack AI\\n\\n00:00:22.881 --> 00:00:26.080\\nit's one of the best agent builder platforms for Enterprise\\n\\n00:00:26.081 --> 00:00:29.900\\nLock 2 certified easy to plug in to your internal data sources\\n\\n00:00:30.080 --> 00:00:32.000\\nNo.3 is n8n.io\\n\\n00:00:32.001 --> 00:00:35.160\\nwhich has been around for a long time as a workflow automation tool\\n\\n00:00:35.161 --> 00:00:36.640\\nbut they have some neat features\\n\\n00:00:36.641 --> 00:00:38.960\\nmakes it easy to build AI agents\\n\\n00:00:38.961 --> 00:00:43.440\\nNo.4 is taskade this is a very opinionated project management tool\\n\\n00:00:43.441 --> 00:00:46.960\\nwhere you can assign tasks to different agents on your team\\n\\n00:00:46.961 --> 00:00:48.640\\nlike before market research\\n\\n00:00:48.641 --> 00:00:51.440\\nfollow up on this lead write a report etcetera\\n\\n00:00:51.441 --> 00:00:53.320\\nNo. 5 is Flowise AI\\n\\n00:00:53.321 --> 00:00:58.100\\nI love it because it's open source and you can build chat bots and AI agents\\n\\n00:00:58.160 --> 00:01:00.160\\nNo.6 is mindStudio dot AI\\n\\n00:01:00.161 --> 00:01:04.280\\nit integrates with over 50 LLMs and you can plug in your data sources\\n\\n00:01:04.281 --> 00:01:06.160\\nNo. 7 is Vectorshift dot AI\\n\\n00:01:06.161 --> 00:01:07.840\\nI personally haven't tried this one yet\\n\\n00:01:07.841 --> 00:01:09.760\\nbut I like that they have a starter plan\\n\\n00:01:09.761 --> 00:01:11.080\\nand just like the other platforms\\n\\n00:01:11.081 --> 00:01:12.680\\nyou can build AI search engines\\n\\n00:01:12.681 --> 00:01:14.440\\nAI assistance chat bots\\n\\n00:01:14.441 --> 00:01:15.640\\nautomations etcetera\\n\\n00:01:15.641 --> 00:01:18.080\\nnow if you do have a little bit of Python coding experience\\n\\n00:01:18.081 --> 00:01:21.920\\nthen the two frameworks you're gonna Wanna check out are Microsoft's Autogen\\n\\n00:01:21.921 --> 00:01:25.920\\nand Crew AI which just announced a huge partnership with Nvidia\\n\\n00:01:25.921 --> 00:01:29.440\\nboth platforms make it super easy to create multi agent teams\\n\\n00:01:29.441 --> 00:01:31.518\\nwith complex hierarchy structures\\n\",\"language\":\"en\",\"id\":\"7457297253338828075\",\"originalUrl\":\"https://www.tiktok.com/@sabrina_ramonov/video/7457297253338828075?is_from_webapp=1&sender_device=pc&web_id=7436093910231483960\"}"
}
}
],
"Form: Submit TikTok URL + Product Info": [
{
"json": {
"Keyword ": "AI agent",
"Product ": "Dumpling AI",
"formMode": "test",
"submittedAt": "2025-07-18T07:01:35.899+10:00",
"Tiktok Video URL": "https://www.tiktok.com/@sabrina_ramonov/video/7457297253338828075?is_from_webapp=1&sender_device=pc&web_id=7436093910231483960"
}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "8b9e4413-072a-40a1-9ec3-f079f3a38b80",
"connections": {
"Format: Clean VTT Captions": {
"main": [
[
{
"node": "GPT-4: Extract Pain Points & Insights",
"type": "main",
"index": 0
},
{
"node": "GPT-4: Rewrite Transcript as Marketing Post",
"type": "main",
"index": 0
}
]
]
},
"GPT-4: Used in Rewrite Agent": {
"ai_languageModel": [
[
{
"node": "GPT-4: Rewrite Transcript as Marketing Post",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"GPT-4: Used in Research Agent": {
"ai_languageModel": [
[
{
"node": "GPT-4: Extract Pain Points & Insights",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"🧠 LangChain Tools (for Agents)": {
"ai_tool": [
[
{
"node": "GPT-4: Extract Pain Points & Insights",
"type": "ai_tool",
"index": 0
}
]
]
},
"Dumpling AI: Get TikTok Transcript": {
"main": [
[
{
"node": "Format: Clean VTT Captions",
"type": "main",
"index": 0
}
]
]
},
"🧠 LangChain Tools (for Agents)1": {
"ai_tool": [
[
{
"node": "GPT-4: Rewrite Transcript as Marketing Post",
"type": "ai_tool",
"index": 0
}
]
]
},
"GPT-4: Extract Pain Points & Insights": {
"main": [
[
{
"node": "Parse: Separate Insights (pain points, outcomes, etc)",
"type": "main",
"index": 0
}
]
]
},
"Form: Submit TikTok URL + Product Info": {
"main": [
[
{
"node": "Dumpling AI: Get TikTok Transcript",
"type": "main",
"index": 0
}
]
]
},
"GPT-4: Rewrite Transcript as Marketing Post": {
"main": [
[
{
"node": " Google Sheets: Log Insights + Post Copy",
"type": "main",
"index": 0
}
]
]
},
"Parse: Separate Insights (pain points, outcomes, etc)": {
"main": [
[
{
"node": " Google Sheets: Log Insights + Post Copy",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
中级 - 市场调研, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
使用Dumpling AI + GPT-4从Google评论中提取营销洞察
使用Dumpling AI + GPT-4从Google评论中提取营销洞察
Split Out
Aggregate
Form Trigger
+7
10 节点Yang
市场调研
使用Dumpling AI抓取网站博客内容并保存到Google Sheets
使用Dumpling AI抓取网站博客内容并保存到Google Sheets
Set
Code
Form Trigger
+3
11 节点Yang
市场调研
使用Dumpling AI和GPT-4o从任何网站提取产品选择
使用Dumpling AI和GPT-4o从任何网站提取热门产品
Code
Gmail
Split Out
+5
9 节点Yang
市场调研
使用GPT-4、Dumpling AI和Google Drive生成广告图片变体
使用GPT-4、Dumpling AI和Google Drive生成广告图片变体
Split Out
Form Trigger
Google Drive
+8
14 节点Yang
内容创作
使用 Dumpling AI + GPT-4o 将 Reddit 痛点转化为漫画广告
使用Dumpling AI和GPT-4o将Reddit痛点转换为漫画广告
If
Set
Reddit
+12
31 节点Yang
内容创作
使用 OpenAI、ElevenLabs 和 Fal.ai 自动化病毒式内容创作,适用于视频、播客和 ASMR
使用 OpenAI、ElevenLabs 和 Fal.ai 自动化病毒式内容创作,适用于视频、播客和 ASMR
Set
Code
Wait
+16
97 节点Adam Crafts
内容创作