Extraer perspicacias de marketing de videos de TikTok con Dumpling AI y GPT-4

Intermedio

Este es unMarket Research, Multimodal AIflujo de automatización del dominio deautomatización que contiene 12 nodos.Utiliza principalmente nodos como Code, AiTransform, FormTrigger, HttpRequest, GoogleSheets. Extraer insights de marketing de videos de TikTok usando Dumpling AI y GPT-4 y generar contenido

Requisitos previos
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Credenciales de API de Google Sheets
  • Clave de API de OpenAI
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "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": "Formulario: Enviar URL de TikTok + Información del producto",
      "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: Obtener transcripción de 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": "Formato: Limpiar subtítulos 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: Extraer puntos de dolor e insights",
      "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": "Analizar: Separar insights (puntos de dolor, resultados, 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: Registrar insights + copia para publicaciones",
      "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: Reescribir transcripción como publicación de marketing",
      "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: Usado en Research 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: Usado en Rewrite 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": "🧠 Herramientas LangChain (para Agents)",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        48,
        220
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "39c7099f-c491-44d3-99bc-1fb716227b79",
      "name": "🧠 Herramientas LangChain (para Agents)1",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        280,
        600
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "b1505793-aefe-421d-bb59-7a5e579cfee6",
      "name": "Nota adhesiva",
      "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
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Intermedio - Investigación de mercado, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Flujos de trabajo relacionados recomendados

Extraer perspicacias de marketing de reseñas de Google con Dumpling AI + GPT-4
Extraer insights de marketing de reseñas de Google usando Dumpling AI + GPT-4
Split Out
Aggregate
Form Trigger
+
Split Out
Aggregate
Form Trigger
10 NodosYang
Investigación de mercado
Usa Dumpling AI para extraer contenido de blogs de sitios web y guardarlo en Google Sheets
Usa Dumpling AI para extraer contenido de blogs de sitios web y guardarlo en Google Sheets
Set
Code
Form Trigger
+
Set
Code
Form Trigger
11 NodosYang
Investigación de mercado
Extraer opciones de productos de cualquier sitio web usando Dumpling AI y GPT-4o
Usar Dumpling AI y GPT-4o para extraer productos populares de cualquier sitio web
Code
Gmail
Split Out
+
Code
Gmail
Split Out
9 NodosYang
Investigación de mercado
Generar variantes de imágenes publicitarias con GPT-4, Dumpling AI y Google Drive
Usar GPT-4, Dumpling AI y Google Drive para generar variantes de imágenes publicitarias
Split Out
Form Trigger
Google Drive
+
Split Out
Form Trigger
Google Drive
14 NodosYang
Creación de contenido
Automatización de creación de contenido viral con OpenAI, ElevenLabs y Fal.ai para videos, podcasts y ASMR
Automatizar la creación de contenido viral para video, podcasts y ASMR con OpenAI, ElevenLabs y Fal.ai
Set
Code
Wait
+
Set
Code
Wait
97 NodosAdam Crafts
Creación de contenido
Genera automáticamente videos y sonido de nivel cinematográfico de animales desde formularos usando Dumpling AI
Convertir entradas de formularios en videos de calidad cinematográfica con GPT-4, Dumpling AI y audio de ElevenLabs
Set
Code
Wait
+
Set
Code
Wait
23 NodosYang
Creación de contenido
Información del flujo de trabajo
Nivel de dificultad
Intermedio
Número de nodos12
Categoría2
Tipos de nodos9
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34