YouTube動画をMP3に変換する(RapidAPI、Google Drive保存、Sheetsログ記録を使用)
上級
これはFile Management分野の自動化ワークフローで、19個のノードを含みます。主にIf, Code, Wait, FormTrigger, GoogleDriveなどのノードを使用。 YouTube動画をMP3に変換するには、RapidAPI、Google Driveの保存、Sheetsでのログ記録を使用します
前提条件
- •Google Drive API認証情報
- •ターゲットAPIの認証情報が必要な場合あり
- •Google Sheets API認証情報
カテゴリー
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"meta": {
"instanceId": "60c025075753afcab9f803964b4caaca9402f435deb4efafbb8e3b93b54d8752",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "85bb7486-da1a-4dcd-979d-819d435ab2e0",
"name": "フォーム送信時",
"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": "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": "条件分岐",
"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": "待機",
"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": "コード",
"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": "MP3ダウンロード",
"type": "n8n-nodes-base.httpRequest",
"position": [
280,
-340
],
"parameters": {
"url": "={{ $json.url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "8fb7d07e-37a2-4fd9-8a40-af03e14cdbb8",
"name": "付箋",
"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": "付箋1",
"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": "付箋2",
"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": "付箋3",
"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": "付箋4",
"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": "付箋5",
"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": "付箋6",
"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": "付箋7",
"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": "付箋8",
"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": "付箋9",
"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
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - ファイル管理
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Spotifyの音楽をGoogleドライブにダウンロードし、自動のにテーブルに記録
Spotifyの楽曲をGoogleデリカレントダウンロードし、ダウンロード履歴をテーブルに自動記録
If
Code
Wait
+
If
Code
Wait
25 ノードEvoort Solutions
ファイル管理
TikTokの動画を署名なしでGoogle Driveにダウンロードし、テーブルに自動記録
TikTokの動画を無 watermark 版でGoogleドライブにダウンロードし、自動のにテーブルにログを記録
If
Wait
Form Trigger
+
If
Wait
Form Trigger
19 ノードEvoort Solutions
コンテンツ作成
Instagram動画をフォームトリガーでGoogle Driveにダウンロードし、テーブルに記録
Instagram動画をフォームトリガーでGoogle Driveへダウンロードし、そしてテーブルへ記録
If
Wait
Form Trigger
+
If
Wait
Form Trigger
19 ノードEvoort Solutions
その他
画像 Transform AI、Google Sheets、および Google Driveを使用して画像を生成し、アップロードする
画像変換GPT、Google Sheets、Driveを使用して画像の生成・アップロード
If
Code
Wait
+
If
Code
Wait
23 ノードEvoort Solutions
コンテンツ作成
TikTok の文字起こし
RapidAPIとGoogle Sheetsを使ってTikTok動画の自動文字起こし
If
Code
Wait
+
If
Code
Wait
21 ノードEvoort Solutions
コンテンツ作成
Facebook動画をGoogleドライブにダウンロードし、自動のに表に記録する
Facebookの動画をGoogleドライブにダウンロードし、テーブルの自動記録にダウンロードログを記録
If
Wait
Form Trigger
+
If
Wait
Form Trigger
19 ノードSk developer
ファイル管理