8
n8n 한국어amn8n.com

RapidAPI, Google Drive 스토리지, Sheets 로그를 사용하여 YouTube 비디오를 MP3로 변환합니다.

고급

이것은File Management분야의자동화 워크플로우로, 19개의 노드를 포함합니다.주로 If, Code, Wait, FormTrigger, GoogleDrive 등의 노드를 사용하며. RapidAPI, Google Drive 스토리지, Sheets 로그를 사용하여 YouTube 비디오를 MP3로 변환합니다.

사전 요구사항
  • 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 음악을 구글 클라우드 스토리지에 다운로드하고 자동으로 테이블에 기록
Spotify 음악을 Google 클라우드 드라이브에 다운로드하고 테이블에 자동으로 로그 기록
If
Code
Wait
+
If
Code
Wait
25 노드Evoort Solutions
파일 관리
무물감 TikTok 비디오를 구글 드라이브에 다운로드하고 자동으로 테이블에 기록
무물감 TikTok 비디오를 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
기타
이미지에서 이미지로 GPT, Google Sheets, 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 비디오를 구글 클라우드 스토리지에 다운로드하고 자동으로 테이블에 기록
Facebook 비디오를 Google 클라우드 드라이브에 다운로드하고 테이블에 자동으로 로그 기록
If
Wait
Form Trigger
+
If
Wait
Form Trigger
19 노드Sk developer
파일 관리
워크플로우 정보
난이도
고급
노드 수19
카테고리1
노드 유형8
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34