Descarga masiva de videos de TikTok sin marca de agua a Google Drive y seguimiento
Este es unFile Managementflujo de automatización del dominio deautomatización que contiene 21 nodos.Utiliza principalmente nodos como Wait, GoogleDrive, HttpRequest, GoogleSheets, ManualTrigger. Descarga masiva de videos de TikTok sin marca de agua a Google Drive y seguimiento
- •Credenciales de API de Google Drive
- •Pueden requerirse credenciales de autenticación para la API de destino
- •Credenciales de API de Google Sheets
Nodos utilizados (21)
Categoría
{
"meta": {
"instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "d8e13620-5f29-402d-a816-5df35fd547f8",
"name": "Esperar",
"type": "n8n-nodes-base.wait",
"position": [
760,
-100
],
"webhookId": "2e47d208-0316-420c-ba13-413830692e5c",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "f073c57a-a84e-4ccd-8659-26c5c93d4b71",
"name": "Al hacer clic en 'Ejecutar flujo de trabajo'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-280,
-120
],
"parameters": {},
"typeVersion": 1
},
{
"id": "4af76036-000e-4810-8f9c-9e2140e17e91",
"name": "Iterar sobre elementos",
"type": "n8n-nodes-base.splitInBatches",
"position": [
240,
-120
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "e3b8f1ff-2d24-4da8-87e5-488f00a29540",
"name": "Obtener datos de Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
0,
-120
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "url",
"value": ""
},
"documentId": {
"__rl": true,
"mode": "url",
"value": ""
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "Rt0RWApx8PL9t0RF",
"name": "Google Docs account"
}
},
"typeVersion": 4.6
},
{
"id": "0720d3ae-e6ca-408b-a1dc-8e8849689362",
"name": "Actualizar fila en Google Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1840,
240
],
"parameters": {
"columns": {
"value": {
"url": "={{ $('Loop Over Items').item.json.url }}",
"driveurl": "={{ $('Upload File In Google Drive').item.json.webViewLink }}"
},
"schema": [
{
"id": "url",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "driveurl",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "driveurl",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"url"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "url",
"value": ""
},
"documentId": {
"__rl": true,
"mode": "url",
"value": ""
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "Rt0RWApx8PL9t0RF",
"name": "Google Docs account"
}
},
"typeVersion": 4.6
},
{
"id": "8ccbdb10-a104-4222-899b-3c933c3caa09",
"name": "Establecer permiso público en Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
1600,
-100
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "{{ $json.id }}"
},
"options": {},
"operation": "share",
"permissionsUi": {
"permissionsValues": {
"role": "writer",
"type": "anyone"
}
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "Rt0RWApx8PL9t0RF",
"name": "Google Docs account"
}
},
"typeVersion": 3
},
{
"id": "2b0243db-ef2f-4dcc-b3ea-bd47a33b648c",
"name": "Subir archivo a Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
1300,
-100
],
"parameters": {
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "root",
"cachedResultName": "/ (Root folder)"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "Rt0RWApx8PL9t0RF",
"name": "Google Docs account"
}
},
"typeVersion": 3
},
{
"id": "a144ebf4-7c58-460e-98fc-c4096af53a76",
"name": "Descargar archivo",
"type": "n8n-nodes-base.httpRequest",
"position": [
1000,
-100
],
"parameters": {
"url": "={{ $json.medias[1].url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "173c8163-89bb-4bee-bf2f-ada26ac54686",
"name": "Llamar a TikTok Downloader",
"type": "n8n-nodes-base.httpRequest",
"position": [
500,
-100
],
"parameters": {
"url": "https://tiktok-video-downloader23.p.rapidapi.com/index.php",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "multipart-form-data",
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "url",
"value": "={{ $json.url }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "x-rapidapi-host",
"value": "tiktok-video-downloader23.p.rapidapi.com"
},
{
"name": "x-rapidapi-key",
"value": "your key"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "f8802a61-f2bc-4253-aacb-b505305c366b",
"name": "Pausa",
"type": "n8n-nodes-base.wait",
"position": [
100,
180
],
"webhookId": "45167751-8beb-42e3-8295-bcc5d9aa8379",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "c4525392-469c-48e4-aa1d-f8e48f8f5b1f",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1100,
-400
],
"parameters": {
"width": 560,
"height": 1280,
"content": "# 📥 Bulk TikTok Video Downloader & Google Drive Uploader\n\n## 🔄 What This Flow Does\n> **Automatically downloads TikTok videos from a list of URLs in a Google Sheet, uploads them to Google Drive, makes the videos publicly accessible, and updates the Google Sheet with the new Google Drive links.**\n\n---\n\n## ✅ Benefits of This Flow\n\n- 🚀 **Fully automated**: No manual downloads, uploads, or updates.\n- 🧾 **Centralized tracking**: Keeps original TikTok URLs and uploaded Google Drive links in the same Google Sheet.\n- 🔁 **Batch processing**: Processes multiple videos with loop handling and delays.\n- 🔓 **Public access**: Files are automatically set to public in Google Drive.\n- ⏱️ **Time-saving**: Reduces hours of manual work to a few minutes.\n- 👥 **Team-friendly**: Any team member can add a link to the sheet and get a Drive URL back.\n\n---\n\n## 🛠️ Challenges Solved by This Workflow\n\n| ❌ Problem | ✅ Solution Provided by Flow |\n|----------------------------------------|------------------------------------------------------|\n| Manual TikTok video downloads | Automated via external API |\n| Tedious Google Drive uploads | Automated upload with public permission |\n| No easy sharing of video files | Google Drive shareable link generated and updated |\n| Lack of tracking processed items | Google Sheet updated with each Drive URL |\n| High risk of human error | Fully systemized with minimal manual touchpoints |\n\n---\n\n## 🧩 Core Components \n\n- **Manual Trigger** – Starts the workflow manually.\n- **Get Data From Google Sheets** – Fetches TikTok URLs from a sheet.\n- **Loop Over Items** – Iterates over each URL one at a time.\n- **Call TikTok Downloader** – Uses an API to get the downloadable video link.\n- **Wait** – Adds delay before downloading to avoid rate limits.\n- **Download File** – Downloads the TikTok video file.\n- **Upload File In Google Drive** – Uploads the video to your Google Drive.\n- **Set Public Permission Google Drive** – Makes the uploaded file publicly accessible.\n- **Update Row In Google Sheet** – Updates the original sheet with the new Drive link.\n- **Sleep** – Adds delay between batches for reliability.\n\n---\n\n\n"
},
"typeVersion": 1
},
{
"id": "c16eae53-3bf3-4bb3-b597-48529db0eb66",
"name": "Nota adhesiva1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-340,
-260
],
"parameters": {
"height": 300,
"content": "## 🟢 When clicking ‘Execute workflow’\nManually triggers the workflow for testing or running on-demand."
},
"typeVersion": 1
},
{
"id": "74b004c2-cb7b-44ad-8f37-4b81035b0aef",
"name": "Nota adhesiva2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-260
],
"parameters": {
"height": 300,
"content": "## 📄 Get Data From Google Sheets\nReads all rows from a specific Google Sheet containing TikTok video URLs."
},
"typeVersion": 1
},
{
"id": "2f07afba-7af0-4886-996a-3229220e97ac",
"name": "Nota adhesiva3",
"type": "n8n-nodes-base.stickyNote",
"position": [
180,
-260
],
"parameters": {
"height": 300,
"content": "## 🔁 Loop Over Items\nProcesses each row from the sheet one-by-one (batch looping).\n"
},
"typeVersion": 1
},
{
"id": "6a2f0708-f5ea-4899-beaf-e9b1cb2eee2d",
"name": "Nota adhesiva4",
"type": "n8n-nodes-base.stickyNote",
"position": [
440,
-260
],
"parameters": {
"height": 300,
"content": "## 🌐 Call TikTok Downloader\nSends each TikTok URL to the RapidAPI TikTok downloader to get a direct video download link."
},
"typeVersion": 1
},
{
"id": "225452d1-8be6-4822-ba27-2f179c36a509",
"name": "Nota adhesiva5",
"type": "n8n-nodes-base.stickyNote",
"position": [
700,
-260
],
"parameters": {
"height": 300,
"content": "## ⏳ Wait\nAdds a short pause before downloading the file (helps prevent rate-limiting)."
},
"typeVersion": 1
},
{
"id": "f7da773d-d280-4bc9-b9cd-a3359ec0853d",
"name": "Nota adhesiva6",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
-260
],
"parameters": {
"height": 300,
"content": "## ⬇️ Download File\nDownloads the video from the `medias[1].url` provided by the TikTok downloader API."
},
"typeVersion": 1
},
{
"id": "d10bb3cd-edc4-4362-b053-ba3aa227ffda",
"name": "Nota adhesiva7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1220,
-260
],
"parameters": {
"height": 300,
"content": "## ☁️ Upload File In Google Drive\nUploads the downloaded video to Google Drive in the root folder."
},
"typeVersion": 1
},
{
"id": "769120e2-9a9e-46a1-a259-936c8825d6fb",
"name": "Nota adhesiva8",
"type": "n8n-nodes-base.stickyNote",
"position": [
1480,
-260
],
"parameters": {
"height": 300,
"content": "## 🔓 Set Public Permission Google Drive\nMakes the uploaded video file publicly accessible by setting sharing permissions.\n"
},
"typeVersion": 1
},
{
"id": "bccf0a40-54df-4a80-9f55-3383d78e4d58",
"name": "Nota adhesiva9",
"type": "n8n-nodes-base.stickyNote",
"position": [
1780,
80
],
"parameters": {
"height": 300,
"content": "## ✏️ Update Row In Google Sheet\nUpdates the same row in the sheet by matching `url`, adding the new Drive `webViewLink` in the `driveurl` column.\n\n"
},
"typeVersion": 1
},
{
"id": "f9278864-e0bf-4d6d-8841-3ce87c2e1546",
"name": "Nota adhesiva10",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
80
],
"parameters": {
"height": 260,
"content": "## 💤 Sleep\nPauses briefly and loops back to process the next TikTok URL in the list."
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"d8e13620-5f29-402d-a816-5df35fd547f8": {
"main": [
[
{
"node": "a144ebf4-7c58-460e-98fc-c4096af53a76",
"type": "main",
"index": 0
}
]
]
},
"f8802a61-f2bc-4253-aacb-b505305c366b": {
"main": [
[
{
"node": "4af76036-000e-4810-8f9c-9e2140e17e91",
"type": "main",
"index": 0
}
]
]
},
"a144ebf4-7c58-460e-98fc-c4096af53a76": {
"main": [
[
{
"node": "2b0243db-ef2f-4dcc-b3ea-bd47a33b648c",
"type": "main",
"index": 0
}
]
]
},
"4af76036-000e-4810-8f9c-9e2140e17e91": {
"main": [
[],
[
{
"node": "173c8163-89bb-4bee-bf2f-ada26ac54686",
"type": "main",
"index": 0
}
]
]
},
"173c8163-89bb-4bee-bf2f-ada26ac54686": {
"main": [
[
{
"node": "d8e13620-5f29-402d-a816-5df35fd547f8",
"type": "main",
"index": 0
}
]
]
},
"0720d3ae-e6ca-408b-a1dc-8e8849689362": {
"main": [
[
{
"node": "f8802a61-f2bc-4253-aacb-b505305c366b",
"type": "main",
"index": 0
}
]
]
},
"e3b8f1ff-2d24-4da8-87e5-488f00a29540": {
"main": [
[
{
"node": "4af76036-000e-4810-8f9c-9e2140e17e91",
"type": "main",
"index": 0
}
]
]
},
"2b0243db-ef2f-4dcc-b3ea-bd47a33b648c": {
"main": [
[
{
"node": "8ccbdb10-a104-4222-899b-3c933c3caa09",
"type": "main",
"index": 0
}
]
]
},
"8ccbdb10-a104-4222-899b-3c933c3caa09": {
"main": [
[
{
"node": "0720d3ae-e6ca-408b-a1dc-8e8849689362",
"type": "main",
"index": 0
}
]
]
},
"f073c57a-a84e-4ccd-8659-26c5c93d4b71": {
"main": [
[
{
"node": "e3b8f1ff-2d24-4da8-87e5-488f00a29540",
"type": "main",
"index": 0
}
]
]
}
}
}¿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?
Avanzado - Gestión de archivos
¿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
Sk developer
@skdeveloperCompartir este flujo de trabajo