Convertir des vidéos YouTube en MP3 avec RapidAPI, Google Drive pour le stockage et Sheets pour le journalisation
Ceci est unFile Managementworkflow d'automatisation du domainecontenant 19 nœuds.Utilise principalement des nœuds comme If, Code, Wait, FormTrigger, GoogleDrive. Transformer des vidéos YouTube en MP3 avec RapidAPI, Google Drive pour le stockage et Sheets pour le journalisation
- •Informations d'identification Google Drive API
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Informations d'identification Google Sheets API
Nœuds utilisés (19)
Catégorie
{
"meta": {
"instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "85bb7486-da1a-4dcd-979d-819d435ab2e0",
"name": "À la soumission du formulaire",
"type": "n8n-nodes-base.formTrigger",
"position": [
-500,
-20
],
"webhookId": "5fac25c4-863c-4b9f-a1ed-bbccce99a8fd",
"parameters": {
"options": {},
"formTitle": "Youtube to MP3",
"formFields": {
"values": [
{
"fieldLabel": "URL",
"placeholder": "https://youtu.be/abcdefg",
"requiredField": true
}
]
},
"formDescription": "Youtube to MP3 Converter"
},
"typeVersion": 2.2
},
{
"id": "90b93ccf-0eec-4a9e-82b8-c2974e590353",
"name": "Requête HTTP",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
-280,
-20
],
"parameters": {
"url": "https://youtube-to-mp3-downloader1.p.rapidapi.com/output.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": "youtube-to-mp3-downloader1.p.rapidapi.co"
},
{
"name": "x-rapidapi-key",
"value": "your key"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "035ea1e7-c4e6-446e-8e70-0944e1e62156",
"name": "Google Drive",
"type": "n8n-nodes-base.googleDrive",
"position": [
580,
-340
],
"parameters": {
"driveId": {
"__rl": true,
"mode": "id",
"value": "1MH4rVD9lziY-acugKQFoitbE6Gv5vdLl"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "list",
"value": "1MH4rVD9lziY-acugKQFoitbE6Gv5vdLl",
"cachedResultUrl": "",
"cachedResultName": "youtube to mp3"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "qEkQ8MFn0uSHgAqY",
"name": "Google Drive account"
}
},
"typeVersion": 3
},
{
"id": "9c713a2f-c2c5-43a7-aeec-409682233334",
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
1200,
-140
],
"parameters": {
"columns": {
"value": {
"URL": "={{ $('On form submission').item.json.URL }}",
"Size": "={{ $('Code').item.json.fileSizeInMb }} MB",
"Status": "Success",
"Created at": "={{ $now.format('dd-MM-yyyy') }}",
"Download Link": "={{ $('Google Drive').item.json.webContentLink }}",
"Web View Link": "={{ $('Google Drive').item.json.webViewLink }}"
},
"schema": [
{
"id": "URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Download Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Download Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Web View Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Web View Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Size",
"type": "string",
"display": true,
"required": false,
"displayName": "Size",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Created at",
"type": "string",
"display": true,
"required": false,
"displayName": "Created at",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"URL"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "1S1KYpKzOEGw8eesZtAY03Uf8WXRKKWXkmUvXsNdsy0U"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "qUtlCnYpk7bXXaYp",
"name": "Google Sheets account 3"
}
},
"typeVersion": 4.6
},
{
"id": "8aebafbf-69d8-476a-97f4-62d0122fa818",
"name": "Google Sheets1",
"type": "n8n-nodes-base.googleSheets",
"position": [
720,
220
],
"parameters": {
"columns": {
"value": {
"URL": "={{ $('On form submission').item.json.URL }}",
"Size": "=N/A",
"Status": "={{ $json.status }}",
"Created at": "={{ $now.format('dd-MM-yyyy') }}",
"Download Link": "N/A",
"Web View Link": "=N/A"
},
"schema": [
{
"id": "URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Download Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Download Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Web View Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Web View Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Size",
"type": "string",
"display": true,
"required": false,
"displayName": "Size",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Created at",
"type": "string",
"display": true,
"required": false,
"displayName": "Created at",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"URL"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "1S1KYpKzOEGw8eesZtAY03Uf8WXRKKWXkmUvXsNdsy0U"
},
"authentication": "serviceAccount"
},
"credentials": {
"googleApi": {
"id": "qUtlCnYpk7bXXaYp",
"name": "Google Sheets account 3"
}
},
"typeVersion": 4.6
},
{
"id": "076854cf-088b-4227-847e-be673d3e2cd5",
"name": "Si",
"type": "n8n-nodes-base.if",
"position": [
0,
-20
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "e2308413-5c68-4e33-ae0a-c0c0b2d62669",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "=done"
},
{
"id": "bcc58e3d-9609-4ec3-adb9-bc6098205818",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "ba810d66-e827-48a4-a72d-a94dd0c3e20b",
"name": "Attente",
"type": "n8n-nodes-base.wait",
"position": [
260,
220
],
"webhookId": "fabd97e2-2cec-4bca-a2cf-cf6c6b0720d5",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "9db89edc-1c9c-4678-9261-23397f2ad5b1",
"name": "Code",
"type": "n8n-nodes-base.code",
"position": [
880,
-280
],
"parameters": {
"jsCode": "function kbToMb(kb) {\n return (kb / 1024).toFixed(2); // Convert KB to MB\n}\n\nfunction bytesToKb(bytes) {\n return bytes / 1024; // Convert Bytes to KB\n}\n\n// Get the file size in bytes from the input (from the Google Drive node)\nlet fileSizeInBytes = $input.first().json.size;\n\n// Convert bytes to KB first\nlet fileSizeInKb = bytesToKb(fileSizeInBytes);\n\n// Then convert KB to MB\nlet fileSizeInMb = kbToMb(fileSizeInKb);\n\nlet outputData = {\n fileName: $input.first().json.name,\n fileSizeInMb: fileSizeInMb\n};\n\n// Return an array containing the output data\nreturn [{ json: outputData }];\n"
},
"typeVersion": 2
},
{
"id": "a5fb5ed7-bd31-40d1-b4f7-8e7f4b0dd869",
"name": "Télécharger mp3",
"type": "n8n-nodes-base.httpRequest",
"position": [
280,
-340
],
"parameters": {
"url": "={{ $json.url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "8fb7d07e-37a2-4fd9-8a40-af03e14cdbb8",
"name": "Note adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1360,
-420
],
"parameters": {
"width": 660,
"height": 1160,
"content": "# **Youtube to MP3 Converter**\n\n## Description:\nThis workflow is designed to convert YouTube videos to MP3 files and store relevant data such as download links and file size in a Google Sheet. It starts when a form is submitted with a YouTube URL, then makes an HTTP request to process the conversion, uploads the converted file to Google Drive, and logs the data in Google Sheets.\n\n---\n\n## Node-by-Node Explanation:\n\n1. **On form submission** \n Triggered when the user submits a form with a YouTube video URL, required for processing.\n\n2. **HTTP Request** \n Sends a POST request to a server (`https://api.archgroupmn.com/yt/output.php`) with the YouTube URL to process the video for conversion.\n\n3. **Google Drive** \n Uploads the converted MP3 file to Google Drive.\n\n4. **Google Sheets** \n Logs the successful conversion details (URL, download link, size, etc.) in a Google Sheet.\n\n5. **Google Sheets1** \n Logs the initial status and URL information in the same Google Sheet before the download link is available.\n\n6. **If** \n Filters the workflow to continue only if the status of the conversion is \"done.\"\n\n7. **Wait** \n Pauses the process until the conversion is done, and then moves to the next step.\n\n8. **Code** \n Converts the file size from bytes to megabytes (MB) to be included in the data logged in Google Sheets.\n\n9. **Download mp3** \n Initiates the download of the MP3 file once it is processed and ready.\n"
},
"typeVersion": 1
},
{
"id": "b9831f59-f02a-4f44-82c5-0237146c6180",
"name": "Note adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-600,
-180
],
"parameters": {
"height": 320,
"content": " **On form submission** \n - Triggered when the user submits a form with a YouTube video URL, required for processing."
},
"typeVersion": 1
},
{
"id": "76930924-5f65-4219-9170-e927e3dd0e15",
"name": "Note adhésive2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-340,
-480
],
"parameters": {
"height": 620,
"content": "**HTTP Request** \n - Sends a POST request to the API endpoint `https://youtube-to-mp3-downloader1.p.rapidapi.com/output.php` to convert the provided YouTube video URL to MP3.\n - It includes necessary headers (`x-rapidapi-host` and `x-rapidapi-key`) to authenticate the request.\n - The URL is passed as a parameter (`url`) in the body of the request in `multipart-form-data` format.\n - The response from this API call will contain the result of the conversion, though the flow currently doesn't connect this result to any further steps."
},
"typeVersion": 1
},
{
"id": "64ac5edf-deec-4228-8c57-0fd93b3416e2",
"name": "Note adhésive3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
-180
],
"parameters": {
"height": 320,
"content": " **If** \n - Filters the workflow to continue only if the status of the conversion is \"done.\""
},
"typeVersion": 1
},
{
"id": "92097d91-1648-4e93-a7cf-2d7b6329d8f7",
"name": "Note adhésive4",
"type": "n8n-nodes-base.stickyNote",
"position": [
220,
-460
],
"parameters": {
"height": 300,
"content": " **Download mp3** \n - Initiates the download of the MP3 file once it is processed and ready."
},
"typeVersion": 1
},
{
"id": "66c2544b-672e-4823-b33d-b9605cfd1306",
"name": "Note adhésive5",
"type": "n8n-nodes-base.stickyNote",
"position": [
520,
-440
],
"parameters": {
"height": 260,
"content": " **Google Drive** \n - Uploads the converted MP3 file to Google Drive."
},
"typeVersion": 1
},
{
"id": "4ac295fe-8b12-4e7e-bbfc-9644397bf7c4",
"name": "Note adhésive6",
"type": "n8n-nodes-base.stickyNote",
"position": [
840,
-420
],
"parameters": {
"height": 260,
"content": " **Code** \n - Converts the file size from bytes to megabytes (MB) to be included in the data logged in Google Sheets.\n"
},
"typeVersion": 1
},
{
"id": "8da832b5-3c4b-4687-84f0-15a6a960da9a",
"name": "Note adhésive7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1140,
-260
],
"parameters": {
"height": 260,
"content": "**Google Sheets** \n - Logs the successful conversion details (URL, download link, size, etc.) in a Google Sheet.\n"
},
"typeVersion": 1
},
{
"id": "8517413c-868a-490c-b31d-8a002dc821df",
"name": "Note adhésive8",
"type": "n8n-nodes-base.stickyNote",
"position": [
680,
60
],
"parameters": {
"height": 280,
"content": "**Google Sheets1** \n - Logs the initial status and URL information in the same Google Sheet before the download link is available.\n"
},
"typeVersion": 1
},
{
"id": "190cb65d-fbe1-4019-a0a1-60c6afa8b132",
"name": "Note adhésive9",
"type": "n8n-nodes-base.stickyNote",
"position": [
200,
120
],
"parameters": {
"height": 240,
"content": " **Wait** \n - Pauses the process until the conversion is done, and then moves to the next step."
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"076854cf-088b-4227-847e-be673d3e2cd5": {
"main": [
[
{
"node": "a5fb5ed7-bd31-40d1-b4f7-8e7f4b0dd869",
"type": "main",
"index": 0
}
],
[
{
"node": "ba810d66-e827-48a4-a72d-a94dd0c3e20b",
"type": "main",
"index": 0
}
]
]
},
"9db89edc-1c9c-4678-9261-23397f2ad5b1": {
"main": [
[
{
"node": "9c713a2f-c2c5-43a7-aeec-409682233334",
"type": "main",
"index": 0
}
]
]
},
"ba810d66-e827-48a4-a72d-a94dd0c3e20b": {
"main": [
[
{
"node": "8aebafbf-69d8-476a-97f4-62d0122fa818",
"type": "main",
"index": 0
}
]
]
},
"a5fb5ed7-bd31-40d1-b4f7-8e7f4b0dd869": {
"main": [
[
{
"node": "035ea1e7-c4e6-446e-8e70-0944e1e62156",
"type": "main",
"index": 0
}
]
]
},
"035ea1e7-c4e6-446e-8e70-0944e1e62156": {
"main": [
[
{
"node": "9db89edc-1c9c-4678-9261-23397f2ad5b1",
"type": "main",
"index": 0
}
]
]
},
"90b93ccf-0eec-4a9e-82b8-c2974e590353": {
"main": [
[
{
"node": "076854cf-088b-4227-847e-be673d3e2cd5",
"type": "main",
"index": 0
}
],
[]
]
},
"85bb7486-da1a-4dcd-979d-819d435ab2e0": {
"main": [
[
{
"node": "90b93ccf-0eec-4a9e-82b8-c2974e590353",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Gestion de fichiers
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Evoort Solutions
@evoortsolutionsPartager ce workflow