Convierte videos de YouTube a MP3 usando RapidAPI, Google Drive para el almacenamiento y Sheets para el registro
Este es unFile Managementflujo de automatización del dominio deautomatización que contiene 19 nodos.Utiliza principalmente nodos como If, Code, Wait, FormTrigger, GoogleDrive. Usa RapidAPI, Google Drive para el almacenamiento y Sheets para el registro de logs para convertir videos de YouTube a MP3
- •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 (19)
Categoría
{
"meta": {
"instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "85bb7486-da1a-4dcd-979d-819d435ab2e0",
"name": "Al enviar formulario",
"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": "Solicitud 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": "Hojas de Google",
"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": "Hojas de Google1",
"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": "If",
"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": "Esperar",
"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": "Código",
"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": "Descargar mp3",
"type": "n8n-nodes-base.httpRequest",
"position": [
280,
-340
],
"parameters": {
"url": "={{ $json.url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "8fb7d07e-37a2-4fd9-8a40-af03e14cdbb8",
"name": "Nota adhesiva",
"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": "Nota adhesiva1",
"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": "Nota adhesiva2",
"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": "Nota adhesiva3",
"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": "Nota adhesiva4",
"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": "Nota adhesiva5",
"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": "Nota adhesiva6",
"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": "Nota adhesiva7",
"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": "Nota adhesiva8",
"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": "Nota adhesiva9",
"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": "Wait",
"type": "main",
"index": 0
}
]
]
},
"Code": {
"main": [
[
{
"node": "Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "Google Sheets1",
"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": "Code",
"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
}
]
]
}
}
}¿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
Evoort Solutions
@evoortsolutionsCompartir este flujo de trabajo