Nicht wassermarkierte TikTok-Videos herunterladen zu Google Drive und automatisch in eine Tabelle eintragen
Dies ist ein Content Creation, Miscellaneous, Multimodal AI-Bereich Automatisierungsworkflow mit 19 Nodes. Hauptsächlich werden If, Wait, FormTrigger, GoogleDrive, HttpRequest und andere Nodes verwendet. TikTok-Videos ohne Wasserzeichen herunterladen und automatisch in einer Tabelle protokollieren
- •Google Drive API-Anmeldedaten
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
- •Google Sheets API-Anmeldedaten
Verwendete Nodes (19)
{
"meta": {
"instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752"
},
"nodes": [
{
"id": "a1b4a7ad-efec-4a7c-a7d0-057b01cae303",
"name": "Bei Formularübermittlung",
"type": "n8n-nodes-base.formTrigger",
"position": [
840,
580
],
"webhookId": "99c989d4-d7e6-42d9-9f05-5235e2624149",
"parameters": {
"options": {},
"formTitle": "TikTok to MP4",
"formFields": {
"values": [
{
"fieldLabel": "URL",
"placeholder": "https://tiktok.com/",
"requiredField": true
}
]
},
"formDescription": "TikTok to MP4 Converter"
},
"typeVersion": 2.2
},
{
"id": "da8b91e6-99c7-4d84-abfb-9358f4b1b87e",
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
2520,
380
],
"parameters": {
"columns": {
"value": {
"URL": "={{ $('On form submission').item.json.URL }}",
"Drive_URL": "={{ $('Upload To Google Drive').item.json.webViewLink }}"
},
"schema": [
{
"id": "URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Drive_URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Drive_URL",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"URL"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "url",
"value": ""
},
"documentId": {
"__rl": true,
"mode": "url",
"value": ""
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "qUtlCnYpk7bXXaYp",
"name": "Google Sheets account 3"
}
},
"typeVersion": 4.6
},
{
"id": "d069c2dc-7576-478f-8510-4beb55871bff",
"name": "Wenn",
"type": "n8n-nodes-base.if",
"position": [
1360,
600
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "bcc58e3d-9609-4ec3-adb9-bc6098205818",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "success"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "05a6f22b-b42c-4bf8-8ad6-5e671cf33c3e",
"name": "Warten",
"type": "n8n-nodes-base.wait",
"position": [
1700,
840
],
"webhookId": "410a255f-0e20-4697-9584-b59829a5bfb8",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "5e5256dd-e767-484d-8b4f-c0dc62b71f9d",
"name": "Google Drive Set Permission",
"type": "n8n-nodes-base.googleDrive",
"position": [
2180,
300
],
"parameters": {
"fileId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
},
"options": {},
"resource": "file",
"operation": "share",
"permissionsUi": {},
"authentication": "oAuth2"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "qEkQ8MFn0uSHgAqY",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "ddde32c8-f9dc-40cf-8180-b232bb40d6a8",
"name": "Upload To Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
1880,
300
],
"parameters": {
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "root",
"cachedResultName": "/ (Root folder)"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "qEkQ8MFn0uSHgAqY",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "a4554ac9-23bb-490f-b6fa-8ed9b923214b",
"name": "Google Sheets Append Row",
"type": "n8n-nodes-base.googleSheets",
"position": [
2180,
840
],
"parameters": {
"columns": {
"value": {
"URL": "{{ $('On form submission').item.json.URL }}",
"Drive_URL": "N/A"
},
"schema": [
{
"id": "URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Drive_URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Drive_URL",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"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": "92be8d5e-d47f-40a3-b376-0266b0dfb736",
"name": "Haftnotiz1",
"type": "n8n-nodes-base.stickyNote",
"position": [
760,
300
],
"parameters": {
"height": 500,
"content": "## 🟢 **1. On form submission**\n- **Purpose:** Acts as the trigger for the workflow. \n- **Functionality:** Displays a form with a single field (`URL`) where users can enter the TikTok video link. \n- **Output:** Passes the entered URL to the next node for processing."
},
"typeVersion": 1
},
{
"id": "d4c2cf21-bd6a-4976-acc0-9646ab3a9715",
"name": "Haftnotiz2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1020,
300
],
"parameters": {
"height": 500,
"content": "## 🌐 **2. Tiktok RapidAPI Request**\n- **Purpose:** Fetch downloadable MP4 link. \n- **Functionality:** Sends a `POST` request to **Tiktok Video Downloader API**, passing the URL from the form. \n- **Output:** Receives a JSON response containing downloadable media links.\n"
},
"typeVersion": 1
},
{
"id": "c02f3615-b35d-4caf-a7e7-c326f53c9465",
"name": "Haftnotiz3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1300,
300
],
"parameters": {
"height": 500,
"content": "## 🔍 **3. If**\n- **Purpose:** Check for API errors. \n- **Functionality:** Evaluates if the response contains an `error` field. \n- **Output:** \n - ✅ **True Path:** Proceeds to download the MP4. \n - ❌ **False Path:** Goes to error handling (Wait + Sheets logging).\n"
},
"typeVersion": 1
},
{
"id": "fe2137e0-14ad-4a31-8104-e451fd5510b0",
"name": "Haftnotiz4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1560,
60
],
"parameters": {
"height": 440,
"content": "## ⬇️ **4. MP4 Downloader**\n- **Purpose:** Download the video file. \n- **Functionality:** Uses the media URL from the previous API response to download the MP4 video. \n- **Output:** Stores the raw MP4 binary for upload.\n\n-"
},
"typeVersion": 1
},
{
"id": "59292dcb-737c-4efb-9b22-8fb1e9a25274",
"name": "Haftnotiz5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1820,
60
],
"parameters": {
"height": 400,
"content": "## ☁️ **5. Upload To Google Drive**\n- **Purpose:** Store video in Google Drive. \n- **Functionality:** Uploads the downloaded MP4 into the specified Drive folder. \n- **Output:** Returns a file ID for the uploaded file.\n"
},
"typeVersion": 1
},
{
"id": "6b72288e-a3f4-45cd-bade-54630124121e",
"name": "Haftnotiz6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2100,
60
],
"parameters": {
"height": 380,
"content": "## 🔑 **6. Google Drive Set Permission**\n- **Purpose:** Make the file publicly accessible. \n- **Functionality:** Sets file permissions to `Anyone with the link can view`. \n- **Output:** Provides a sharable `webViewLink`.\n"
},
"typeVersion": 1
},
{
"id": "48c35706-eb6e-4d20-8e2e-dd1b4de27b1a",
"name": "Haftnotiz7",
"type": "n8n-nodes-base.stickyNote",
"position": [
2440,
80
],
"parameters": {
"height": 460,
"content": "## 📄 **7. Google Sheets**\n- **Purpose:** Log successful conversions. \n- **Functionality:** Appends a row with:\n - `URL` → Original Tiktok link \n - `Drive_URL` → Sharable Google Drive MP4 link \n- **Output:** Saves a permanent log of successful downloads."
},
"typeVersion": 1
},
{
"id": "9d828c99-d634-4bd7-9478-66960a243aca",
"name": "Haftnotiz8",
"type": "n8n-nodes-base.stickyNote",
"position": [
1640,
600
],
"parameters": {
"height": 360,
"content": "## ⏱️ **8. Wait**\n- **Purpose:** Delay before logging failures. \n- **Functionality:** Pauses workflow execution to avoid instant sheet logging when API errors occur. \n- **Output:** Prevents rapid consecutive writes to Google Sheets."
},
"typeVersion": 1
},
{
"id": "fc3a67e7-1822-4f0e-ae4d-bab35bf3b94d",
"name": "Haftnotiz9",
"type": "n8n-nodes-base.stickyNote",
"position": [
2100,
480
],
"parameters": {
"height": 480,
"content": "## 📑 **9. Google Sheets Append Row**\n- **Purpose:** Log failed conversions. \n- **Functionality:** Appends a row with:\n - `URL` → Original Tiktok link \n - `Drive_URL` → `N/A` (indicating download failure) \n- **Output:** Tracks failed attempts separately.\n"
},
"typeVersion": 1
},
{
"id": "01d9dd0c-4370-4ecf-8df3-55de50bb09b7",
"name": "MP4 Downloader",
"type": "n8n-nodes-base.httpRequest",
"position": [
1620,
320
],
"parameters": {
"url": "={{ $json.data[\"DOWNLOAD (WITHOUT WATERMARK)\"] }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "6510719b-49cf-4264-985b-1ed5b98b1a9f",
"name": "TikTok RapidAPI Request",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
1060,
580
],
"parameters": {
"url": "https://tiktok-download-audio-video.p.rapidapi.com/mp3-4.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-download-audio-video.p.rapidapi.com"
},
{
"name": "x-rapidapi-key",
"value": "your key"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "4c89daff-9491-45b4-9d53-6231da674776",
"name": "Haftnotiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
-200,
340
],
"parameters": {
"width": 720,
"height": 560,
"content": "# 📥 TikTok to MP4 Converter Automation\n\nThis **n8n** workflow automates the process of converting TikTok videos to MP4 format, uploading them to Google Drive, and logging the results into Google Sheets.\n\n## ✅ Features\n\n- 🔗 Accepts TikTok video URLs via a public form \n- 🌐 Uses [RapidAPI TikTok Downloader](https://rapidapi.com/PrineshPatel/api/tiktok-download-audio-video) to fetch downloadable MP4 links \n- ⬇️ Downloads the MP4 video (without watermark) \n- ☁️ Uploads the video to Google Drive \n- 🔓 Sets file permission to \"Anyone with the link can view\" \n- 📄 Appends successful conversions (URL + Drive link) to Google Sheets \n- ❌ Logs failed conversions with `Drive_URL` marked as `N/A` \n- ⏱️ Includes a delay before logging failures to avoid rapid sheet writes \n\n## 📊 Outputs\n\n- **Google Drive Link**: Publicly shareable MP4 video URL \n- **Google Sheets Log**: Permanent record of all conversion attempts \n\n"
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"d069c2dc-7576-478f-8510-4beb55871bff": {
"main": [
[
{
"node": "01d9dd0c-4370-4ecf-8df3-55de50bb09b7",
"type": "main",
"index": 0
}
],
[
{
"node": "05a6f22b-b42c-4bf8-8ad6-5e671cf33c3e",
"type": "main",
"index": 0
}
]
]
},
"05a6f22b-b42c-4bf8-8ad6-5e671cf33c3e": {
"main": [
[
{
"node": "a4554ac9-23bb-490f-b6fa-8ed9b923214b",
"type": "main",
"index": 0
}
]
]
},
"01d9dd0c-4370-4ecf-8df3-55de50bb09b7": {
"main": [
[
{
"node": "ddde32c8-f9dc-40cf-8180-b232bb40d6a8",
"type": "main",
"index": 0
}
]
]
},
"a1b4a7ad-efec-4a7c-a7d0-057b01cae303": {
"main": [
[
{
"node": "6510719b-49cf-4264-985b-1ed5b98b1a9f",
"type": "main",
"index": 0
}
]
]
},
"ddde32c8-f9dc-40cf-8180-b232bb40d6a8": {
"main": [
[
{
"node": "5e5256dd-e767-484d-8b4f-c0dc62b71f9d",
"type": "main",
"index": 0
}
]
]
},
"6510719b-49cf-4264-985b-1ed5b98b1a9f": {
"main": [
[
{
"node": "d069c2dc-7576-478f-8510-4beb55871bff",
"type": "main",
"index": 0
}
]
]
},
"5e5256dd-e767-484d-8b4f-c0dc62b71f9d": {
"main": [
[
{
"node": "da8b91e6-99c7-4d84-abfb-9358f4b1b87e",
"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?
Experte - Content-Erstellung, Verschiedenes, 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
Evoort Solutions
@evoortsolutionsDiesen Workflow teilen