AutomationFlowsWeb Scraping › Generate AI Music with the Elevenlabs API and Upload to Google Drive

Generate AI Music with the Elevenlabs API and Upload to Google Drive

Byphil @phil on n8n.io

This generate unique AI-powered music tracks using the ElevenLabs Music API.

Event trigger★★★★☆ complexity7 nodesForm TriggerHTTP RequestGoogle DriveForm
Web Scraping Trigger: Event Nodes: 7 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #7793 — we link there as the canonical source.

This workflow follows the Form → Form Trigger recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "e72aa5da-7b5f-4c46-b4c2-2f171f70a03f",
      "name": "AI Music Generator",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -272,
        0
      ],
      "parameters": {
        "options": {
          "path": "music-generator",
          "buttonLabel": "Submit",
          "appendAttribution": true
        },
        "formTitle": "AI Music Generator",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Music",
              "placeholder": "Describe your music (e.g., epic cinematic music, instrumental, fantasy style)",
              "requiredField": true
            }
          ]
        },
        "formDescription": "What kind of music do you want to create?"
      },
      "typeVersion": 2.2
    },
    {
      "id": "fc22891a-e26a-43fa-bffb-0b029e3ee418",
      "name": "elevenlabs_api",
      "type": "n8n-nodes-base.httpRequest",
      "notes": "https://try.elevenlabs.io/api-music",
      "position": [
        160,
        0
      ],
      "parameters": {
        "url": "https://api.elevenlabs.io/v1/music/compose",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendHeaders": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "prompt",
              "value": "={{ $('AI Music Generator').item.json.Music }}"
            },
            {
              "name": "output_format",
              "value": "mp3_44100_128"
            },
            {}
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "xi-api-key",
              "value": "={{ $json.ELEVENLABS_API_KEY }}"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 4.2
    },
    {
      "id": "2e6e9dba-b11e-413e-88ec-c4deef4c8361",
      "name": "API Key",
      "type": "n8n-nodes-base.set",
      "notes": "Get your ElevenLabs Music API key : https://try.elevenlabs.io/api-music",
      "position": [
        -64,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "b805a906-dd26-4587-94b2-edb5bc3abaa9",
              "name": "ELEVENLABS_API_KEY",
              "type": "string",
              "value": "your key"
            }
          ]
        }
      },
      "notesInFlow": true,
      "typeVersion": 3.4
    },
    {
      "id": "23e2e827-7b48-4197-a40b-6e0ed6aa185c",
      "name": "Upload mp3",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        368,
        0
      ],
      "parameters": {
        "name": "music.mp3",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "list",
          "value": "root",
          "cachedResultName": "/ (Root folder)"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "e38f054e-9c02-4e20-b13f-a3f4ecf14d04",
      "name": "prepare reponse",
      "type": "n8n-nodes-base.html",
      "position": [
        576,
        0
      ],
      "parameters": {
        "html": "<!DOCTYPE html>\n<html lang=\"en\">\n<div style=\"font-family: sans-serif; background-color: #121212; color: #e0e0e0; display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; padding: 20px; box-sizing: border-box;\">\n    <div style=\"background-color: #1e1e1e; border-radius: 16px; padding: 40px; text-align: center; width: 100%; max-width: 500px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); border: 1px solid rgba(255, 255, 255, 0.1);\">\n        <div style=\"font-size: 50px; background: linear-gradient(45deg, #6a11cb, #2575fc); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 20px;\">\ud83c\udfb5</div>\n        <h1 style=\"color: #ffffff; font-size: 28px; font-weight: 700; margin: 0 0 10px 0;\">Your Music is Ready!</h1>\n        <p style=\"font-size: 16px; margin-bottom: 30px; opacity: 0.8;\">The AI has composed a unique track for you.</p>\n        \n        <div style=\"font-size: 22px; font-weight: 600; color: #ffffff; margin-bottom: 30px; padding: 15px; background-color: rgba(0,0,0,0.2); border-radius: 8px;\">\n            {{ $json.trackTitle || \"Cosmic Melody\" }}\n        </div>\n\n        <a href=\"{{ $json.webViewLink }}\" style=\"display: inline-block; text-decoration: none; color: #ffffff; background: linear-gradient(45deg, #6a11cb, #2575fc); padding: 15px 30px; border-radius: 50px; font-weight: 600; font-size: 16px; margin: 10px;\">\u25b6\ufe0f Listen Now</a>\n    </div>\n</div>\n\n</html>"
      },
      "typeVersion": 1.2
    },
    {
      "id": "ef672dce-9f01-43d1-8477-188994348e92",
      "name": "display mp3",
      "type": "n8n-nodes-base.form",
      "position": [
        784,
        0
      ],
      "parameters": {
        "operation": "completion",
        "respondWith": "showText",
        "responseText": "={{ $json.html }}"
      },
      "typeVersion": 1
    },
    {
      "id": "e01b0ca5-a41f-48c5-9c17-859f5aa8270b",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -272,
        -432
      ],
      "parameters": {
        "width": 560,
        "height": 400,
        "content": "## Generate music with the ElevenLabs API and upload to Google Drive\n\n### What it does\nThis workflow provides a simple web form to generate unique, AI-powered music tracks using the ElevenLabs API. Enter a text description of the music you envision, and the workflow will compose it, save the MP3 file to your Google Drive, and instantly provide a link to listen to your creation.\n\n### How to set up\n1.  **Set API Key**: Get your API key from your [ElevenLabs account](https://try.elevenlabs.io/api-music) and paste it into the \"API Key\" node.\n2.  **Connect Google Drive**: Authenticate your Google Drive account in the \"Upload mp3\" node.\n3.  **Activate**: Save and activate the workflow to enable the Form Trigger URL."
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "API Key": {
      "main": [
        [
          {
            "node": "elevenlabs_api",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload mp3": {
      "main": [
        [
          {
            "node": "prepare reponse",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "elevenlabs_api": {
      "main": [
        [
          {
            "node": "Upload mp3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "prepare reponse": {
      "main": [
        [
          {
            "node": "display mp3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Music Generator": {
      "main": [
        [
          {
            "node": "API Key",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This generate unique AI-powered music tracks using the ElevenLabs Music API.

Source: https://n8n.io/workflows/7793/ — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Web Scraping

Generate royalty-free sound effects for all your projects: ASMR, YouTube videos, podcasts, and more. This workflow generates unique AI-powered sound effects using the ElevenLabs Sound Effects API.

HTTP Request, Google Drive, Form +1
Web Scraping

This workflow allows you to import any workflow from a file or another n8n instance and map the credentials easily. A multi-form setup guides you through the entire process At the beginning you have t

Execute Command, Read Write File, HTTP Request +3
Web Scraping

N8n recently introduced folders and it has been a big improvement on workflow management on top of the tags.

HTTP Request, n8n, Form Trigger +1
Web Scraping

Git Commit. Uses github, n8n, formTrigger, httpRequest. Event-driven trigger; 34 nodes.

GitHub, n8n, Form Trigger +2
Web Scraping

The Sora 2 API allows seamless generation of CGI ads, turning text prompts into stunning videos. This workflow automates the entire process from video generation to upload, notification, and file shar

Form Trigger, HTTP Request, Email Send +1