Marketing-Insights-aus-TikTok-Videos-mit-Dumpling-AI-und-GPT-4-extrahieren
Dies ist ein Market Research, Multimodal AI-Bereich Automatisierungsworkflow mit 12 Nodes. Hauptsächlich werden Code, AiTransform, FormTrigger, HttpRequest, GoogleSheets und andere Nodes verwendet. Verwenden Sie Dumpling KI und GPT-4, um Marketing-Einblicke aus TikTok-Videos zu extrahieren und Inhalte zu generieren
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
- •Google Sheets API-Anmeldedaten
- •OpenAI API Key
Verwendete Nodes (12)
Kategorie
{
"id": "vKjQAPaaL1cUVXtj",
"meta": {
"instanceId": "a1ae5c8dc6c65e674f9c3947d083abcc749ef2546dff9f4ff01de4d6a36ebfe6",
"templateCredsSetupCompleted": true
},
"name": "Extract Marketing Insights from TikTok Videos Using Dumpling AI and GPT-4",
"tags": [],
"nodes": [
{
"id": "2f93eea5-5e9b-4f5e-88db-bbfc689fad92",
"name": "Formular: TikTok-URL + Produktinfo übermitteln",
"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-Transkript abrufen",
"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": "Formatieren: VTT-Untertitel bereinigen",
"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: Pain Points & Insights extrahieren",
"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": "Parsen: Insights trennen (Pain Points, Outcomes, etc.)",
"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: Insights + Post-Copy protokollieren",
"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: Transkript als Marketing-Post umschreiben",
"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: Wird im Research Agent verwendet",
"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: Wird im Rewrite Agent verwendet",
"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 Tools (für Agents)",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
48,
220
],
"parameters": {},
"typeVersion": 1
},
{
"id": "39c7099f-c491-44d3-99bc-1fb716227b79",
"name": "🧠 LangChain Tools (für Agents)1",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
280,
600
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b1505793-aefe-421d-bb59-7a5e579cfee6",
"name": "Haftnotiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
-900,
-220
],
"parameters": {
"width": 740,
"height": 460,
"content": "### 🎯 Workflow Summary\n\nThis workflow takes a TikTok link and product keyword, \nextracts the transcript, and uses GPT-4 to generate:\n\n- Key pain points \n- Desired outcomes \n- Motivating events \n- Direct quotes \n- A rewritten post for marketing\n\nAll results are saved to Google Sheets.\n\nTools: Dumpling AI, GPT-4, LangChain, Google Sheets\n"
},
"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": {
"c713b45f-f4af-40cd-a67d-640a96903a85": {
"main": [
[
{
"node": "5f405063-4e4c-42d3-9f0a-98c0fda55bb3",
"type": "main",
"index": 0
},
{
"node": "37d135b2-9861-4829-906f-13a0d781012f",
"type": "main",
"index": 0
}
]
]
},
"b6f39362-75bf-48c9-b4be-2f2250fd01b5": {
"ai_languageModel": [
[
{
"node": "37d135b2-9861-4829-906f-13a0d781012f",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"13fb5224-ab7e-4202-804d-0c5f186b742a": {
"ai_languageModel": [
[
{
"node": "5f405063-4e4c-42d3-9f0a-98c0fda55bb3",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"dba84dc4-769f-45a6-bff9-bd11f7fb0c1b": {
"ai_tool": [
[
{
"node": "5f405063-4e4c-42d3-9f0a-98c0fda55bb3",
"type": "ai_tool",
"index": 0
}
]
]
},
"3fed2762-757b-4b3b-8fe1-19b04eb6d447": {
"main": [
[
{
"node": "c713b45f-f4af-40cd-a67d-640a96903a85",
"type": "main",
"index": 0
}
]
]
},
"39c7099f-c491-44d3-99bc-1fb716227b79": {
"ai_tool": [
[
{
"node": "37d135b2-9861-4829-906f-13a0d781012f",
"type": "ai_tool",
"index": 0
}
]
]
},
"5f405063-4e4c-42d3-9f0a-98c0fda55bb3": {
"main": [
[
{
"node": "6d7d57a8-b44e-4b25-8af2-1b86b72c534b",
"type": "main",
"index": 0
}
]
]
},
"2f93eea5-5e9b-4f5e-88db-bbfc689fad92": {
"main": [
[
{
"node": "3fed2762-757b-4b3b-8fe1-19b04eb6d447",
"type": "main",
"index": 0
}
]
]
},
"37d135b2-9861-4829-906f-13a0d781012f": {
"main": [
[
{
"node": "6baf0404-4ea2-42ce-927f-7a0207d04f41",
"type": "main",
"index": 0
}
]
]
},
"6d7d57a8-b44e-4b25-8af2-1b86b72c534b": {
"main": [
[
{
"node": "6baf0404-4ea2-42ce-927f-7a0207d04f41",
"type": "main",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Fortgeschritten - Marktforschung, Multimodales KI
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Yang
@yangDiesen Workflow teilen