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
ファイル管理
ワークフロー情報
難易度
上級
ノード数19
カテゴリー1
ノードタイプ8
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34