Back to Alchemy
Alchemy RecipeAdvancedstack

Create music production from lyrics to mastered track with AI vocals

Most independent musicians hit the same wall: they've written lyrics, they've got melodies stuck in their head, but they can't afford a session singer, a full band, or a mastering engineer. A professional vocal recording costs £500 to £2,000. A mastering pass costs another £300 to £800. For artists operating on passion and pocket change, that's a non-starter. The result is rough demos, unpolished uploads, and releases that don't compete with professionally produced work, even when the songwriting is genuinely strong. What if you could go from a set of lyrics and a melody idea to a fully mastered, commercially viable track without hiring anyone? It's not science fiction. AI vocal synthesis has reached the point where you can generate convincing singing voices; AI music platforms can produce original instrumentation; and AI mastering tools can polish everything to professional loudness and clarity standards. The trick is connecting these tools so that data flows automatically from one to the next, with no manual uploads, format conversions, or babysitting required. This workflow does exactly that. You'll write your lyrics, feed them into an AI vocal synthesiser, layer on AI-generated instrumentation, and send everything to AI mastering in a single chain. One person, one workflow, no hiring needed. For more on this, see Music production from lyrics to mastered track.

The Automated Workflow

You'll use n8n as your orchestration engine. n8n is free to self-host, handles complex conditionals, and has native integrations for both webhook inputs and API calls, which matters because some of these tools (ElevenLabs, Landr) don't have turnkey Zapier connectors that cover everything you need. The workflow has five stages:

Stage 1: Trigger and lyric input.

A webhook listens for JSON payloads containing song metadata: title, artist name, lyrics, and an audio file URL of your original melody (recorded on your phone, a cheap microphone, or even hummed into your DAW).

Stage 2: Generate vocals with ElevenLabs.

Parse the lyrics, send them to ElevenLabs Turbo v2.5 with a voice ID of your choice (either a preset or a cloned voice), and download the generated vocal track as an MP3.

Stage 3: Generate instrumental with Hydra AI.

Use the song title and a genre tag to request a copyright-free instrumental from Hydra's API. Download that as well.

Stage 4: Mix on Bronze.

Upload both the vocal track and the instrumental to Bronze, a platform designed for quick music production. Bronze can align timing, balance levels, and produce a stereo mix in WAV format. Fetch that mix as the output.

Stage 5: Master with Landr.

Send the stereo mix to Landr's API for mastering. Landr returns a mastered file in MP3 and WAV formats, ready for distribution. All of this happens inside n8n without your intervention once you hit send. Here's the n8n workflow configuration: Webhook Node (Trigger)

POST /webhook/music-production Expected JSON body:
{ "title": "Midnight Drive", "artist": "Your Name", "lyrics": "Verse lyrics here... Chorus here...", "melody_url": "https://storage.example.com/melody.wav", "voice_id": "21m00Tcm4TlvDq8ikWAM", "genre": "indie pop"
}

ElevenLabs Node

After the webhook fires, add an HTTP Request node configured as follows:

Method: POST
URL: https://api.elevenlabs.io/v1/text-to-speech/{voice_id} Headers:
xi-api-key: YOUR_ELEVENLABS_API_KEY
Content-Type: application/json Body (JSON):
{ "text": "{{ $node['Webhook'].json['lyrics'] }}", "model_id": "eleven_turbo_v2_5", "voice_settings": { "stability": 0.75, "similarity_boost": 0.85 }
} Output handling: Save the returned audio file to a temporary URL or pass it as base64 to the next step.

ElevenLabs returns audio data directly. You'll need to write that to disk or to cloud storage (AWS S3, Google Cloud Storage, or Dropbox) so you have a URL to pass downstream.

Hydra AI Node

Add another HTTP Request node:

Method: POST
URL: https://api.hydra-ai.com/v1/generate-music Headers:
Authorization: Bearer YOUR_HYDRA_API_KEY
Content-Type: application/json Body (JSON):
{ "title": "{{ $node['Webhook'].json['title'] }}", "genre": "{{ $node['Webhook'].json['genre'] }}", "duration": 180, "bpm": 120
} Output handling: Save the returned instrumental file URL for the next step.

Bronze Node (Mixing)

Hydra and ElevenLabs nodes should have written files to cloud storage by now. Create a new HTTP Request node for Bronze: For more on this, see Landr vs Bronze vs AI Mastering: Which Tool Should Musici....

Method: POST
URL: https://api.bronze.com/v1/mix Headers:
Authorization: Bearer YOUR_BRONZE_API_KEY
Content-Type: application/json Body (JSON):
{ "project_name": "{{ $node['Webhook'].json['title'] }}_{{ $timestamp }}", "tracks": [ { "name": "vocals", "url": "{{ $node['ElevenLabs'].json['audio_url'] }}" }, { "name": "instrumental", "url": "{{ $node['Hydra'].json['music_url'] }}" } ], "output_format": "wav"
} Output handling: Store the mix URL returned by Bronze.

Landr Node (Mastering)

Finally, send the stereo mix to Landr:

Method: POST
URL: https://mastering-api.landr.com/v1/master Headers:
Authorization: Bearer YOUR_LANDR_API_KEY
Content-Type: application/json Body (JSON):
{ "audio_url": "{{ $node['Bronze'].json['mix_url'] }}", "artist": "{{ $node['Webhook'].json['artist'] }}", "title": "{{ $node['Webhook'].json['title'] }}", "stem_separation": false, "output_format": "mp3"
} Output handling: Store the mastered file URL.

Final Output Node

Add one last HTTP Request or Webhook node to notify you when the workflow completes:

Method: POST
URL: https://your-backend.example.com/api/track-complete Body (JSON):
{ "title": "{{ $node['Webhook'].json['title'] }}", "artist": "{{ $node['Webhook'].json['artist'] }}", "mastered_file_url": "{{ $node['Landr'].json['mastered_url'] }}", "timestamp": "{{ $now.toIso() }}"
}

This notifies your own application (or sends a Slack message, or triggers a download) so you know when the track is ready.

Error handling and retry logic:

Add conditional nodes after Landr and Bronze to check HTTP response codes. If a node returns a 5xx or timeout error, configure n8n's built-in retry mechanism (exponential backoff, max 3 retries). If a final retry fails, send yourself a Slack alert with the error details and the file URLs that were generated up to that point, so you can debug.

The Manual Alternative

If you prefer more control, or if you're testing individual tools before committing to a full workflow, you can do this in steps: 1. Write lyrics in a text file. Record a rough melody on your phone or in a DAW.

  1. Go to ElevenLabs, paste your lyrics, select a voice, and generate a vocal track. Download the MP3.

  2. Go to Hydra AI, enter your song title and genre, generate an instrumental, and download it.

  3. Open a DAW (Ableton, Logic Pro, Reaper, or free alternatives like GarageBand) and import both files. Align them, balance levels, add any EQ or compression if you want, and export a stereo mix as WAV.

  4. Upload the WAV to Landr, let it master for a few minutes, and download the mastered MP3. This takes about 30 minutes per track and gives you checkpoints to listen and adjust. The workflow approach is faster once set up, but manual gives you quality control.

Pro Tips

Rate limits and throttling.

ElevenLabs and Landr both have rate limits tied to your subscription tier.

If you're generating multiple tracks in parallel, you'll hit limits. Add a 30-second delay node between each webhook trigger in n8n (or queue incoming requests) to avoid throttling errors. Track your usage in each platform's dashboard weekly.

Voice cloning for consistency.

ElevenLabs allows you to clone your own voice or a collaborator's voice (with permission) and use that voice ID repeatedly. This creates sonic continuity across multiple tracks. Clone once, reuse the voice_id in every workflow run.

Landr stem separation trade-off.

Landr can separate vocals, drums, and bass before mastering if you set "stem_separation": true. This can produce better results on complex mixes, but it doubles processing time and often costs extra. Test with false first; enable only if your mixes sound thin or unbalanced.

Cost per track.

At default settings (one vocal generation, one instrumental, one master), you'll spend roughly £1.50 to £3.00 per track depending on track length and subscription tiers. That's a tenth of professional session rates. But if you're generating 20 tracks a month, costs add up; monitor your API spend in n8n's logs.

Backup outputs.

Have n8n save intermediate outputs (the vocal file from ElevenLabs, the instrumental from Hydra, the mix from Bronze) to cloud storage as you go. If something fails downstream, you have working files to recover. Use a naming convention like {artist}_{title}_{stage}_{timestamp}.

Cost Breakdown

ToolPlan NeededMonthly CostNotes
n8nSelf-hosted (free) or Cloud Pro£0 or £80Self-hosted is free; Cloud Pro adds support and reliability.
ElevenLabsCreator or Pro£99 to £480Creator gives 100K characters/month; Pro is 500K. Budget roughly £0.05 per vocal track.
Hydra AIStarter or Pro£29 to £199Starter includes 50 tracks/month. Budget roughly £0.50 per instrumental.
BronzeIndie or Standard£49 to £299Indie covers 20 projects/month. Budget roughly £2.50 per mix.
LandrStarter or Pro£11.99 to £49.99/monthPro allows downloads and includes stem separation. Budget roughly £0.30 per master.
Total estimate£188–£1,028/monthHeavily depends on track volume and selected tiers. At 50 tracks/month across all tools, closer to £200–£300 all-in.