mcpField
E
eachlabs-music

eachlabs-music

github.com/eachlabsCreative & media44212 installsUpdated today
Repository

About eachlabs-music

eachlabs-music is a skill for using Mureka and Minimax models through the EachLabs Predictions API to generate and process audio. It documents model selection, prediction requests, status polling, and output retrieval.

Key features

  1. 01Generate songs and instrumentals
  2. 02Generate and extend lyrics
  3. 03Create speech and podcasts
  4. 04Recognize and describe songs
  5. 05Extend songs and separate stems
  6. 06Upload audio for processing

Use cases

  1. 01Create a song from a text prompt
  2. 02Generate lyrics or continue existing lyrics
  3. 03Produce a multi-speaker podcast
  4. 04Separate a song into audio stems

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/eachlabs/skills --skill eachlabs-music

After installing, type/eachlabs-musicin Claude Code to confirm it loaded.

Bundled filesreferences/MODELS.md

Details

From the project README

EachLabs Music

Generate songs, instrumentals, lyrics, podcasts, and more using Mureka AI models via the EachLabs Predictions API.

Authentication

Header: X-API-Key: <your-api-key>

Set the EACHLABS_API_KEY environment variable. Get your key at eachlabs.ai.

Available Capabilities

Mureka Models
CapabilitySlugDescription
Generate Songmureka-generate-songCreate a full song with vocals from a prompt
Generate Instrumentalmureka-generate-instrumentalCreate instrumental tracks
Generate Lyricsmureka-generate-lyricsGenerate lyrics from a prompt
Extend Lyricsmureka-extend-lyricsContinue/extend existing lyrics
Extend Songmureka-extend-songContinue an existing song
Create Speechmureka-create-speechGenerate speech audio
Create Podcastmureka-create-podcastGenerate multi-speaker podcast
Recognize Songmureka-recognize-songIdentify a song from audio
Describe Songmureka-describe-songAnalyze and describe a song
Stem Songmureka-stem-songSeparate audio into stems
Upload Filemureka-upload-fileUpload audio for other operations
Minimax Music
CapabilitySlugDescription
Music v2minimax-music-v2Latest Minimax music generation
Music v1.5minimax-music-v1-5Stable Minimax music generation

Prediction Flow

  1. Check model GET https://api.eachlabs.ai/v1/model?slug=<slug> — validates the model exists and returns the request_schema with exact input parameters. Always do this before creating a prediction to ensure correct inputs.
  2. POST https://api.eachlabs.ai/v1/prediction with model slug, version "0.0.1", and input matching the schema
  3. Poll GET https://api.eachlabs.ai/v1/prediction/{id} until status is "success" or "failed"
  4. Extract the output from the response

Examples

Generate a Song
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "mureka-generate-song",
    "version": "0.0.1",
    "input": {
      "prompt": "An upbeat indie pop song about summer road trips with catchy chorus",
      "duration": 120
    }
  }'
Generate Instrumental
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "mureka-generate-instrumental",
    "version": "0.0.1",
    "input": {
      "prompt": "Lo-fi hip hop beat with jazzy piano chords and vinyl crackle, relaxing study music"
    }
  }'
Generate Lyrics
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "mureka-generate-lyrics",
    "version": "0.0.1",
    "input": {
      "prompt": "Write lyrics for a heartfelt country ballad about coming home"
    }
  }'
Create a Podcast
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "mureka-create-podcast",
    "version": "0.0.1",
    "input": {
      "prompt": "A 5-minute podcast discussion about the future of AI in music production",
      "speakers": ["Luna", "Jake"]
    }
  }'
Extend an Existing Song

First upload the song, then extend it:

# Step 1: Upload the audio file
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "mureka-upload-file",
    "version": "0.0.1",
    "input": {
      "file": "https://example.com/my-song.mp3",
      "purpose": "audio"
    }
  }'

# Step 2: Use the upload ID to extend the song
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "mureka-extend-song",
    "version": "0.0.1",
    "input": {
      "upload_audio_id": "<upload-id-from-step-1>",
      "prompt": "Continue with an energetic guitar solo bridge"
    }
  }'
Separate Audio Stems
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "mureka-stem-song",
    "version": "0.0.1",
    "input": {
      "url": "https://example.com/song.mp3"
    }
  }'

Prompt Tips

  • Specify genre: "indie pop", "lo-fi hip hop", "classical orchestral", "EDM"
  • Include mood: "upbeat", "melancholic", "energetic", "relaxing"
  • Mention instruments: "acoustic guitar", "piano", "synthesizer", "drums"
  • Describe tempo: "slow ballad", "fast-paced", "medium tempo groove"
  • For lyrics, mention theme and structure: "verse-chorus-verse about..."

Parameter Reference

See references/MODELS.md for complete parameter details for each model.

Comments

Markdown supported