eachlabs-music

TotalClaw 作者 eachlabs

使用 EachLabs Mureka AI 模型生成歌曲、乐器、歌词和播客。还支持歌曲扩展、词干分离和歌曲识别。当用户想要创建音乐、歌词或音频内容时使用。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw skills install shop:totalclaw:totalclaw~eftalyurtseven-eachlabs-music
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~eftalyurtseven-eachlabs-music/file -o eftalyurtseven-eachlabs-music.md
# 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](https://eachlabs.ai).

## Available Capabilities

### Mureka Models

| Capability | Slug | Description |
|-----------|------|-------------|
| Generate Song | `mureka-generate-song` | Create a full song with vocals from a prompt |
| Generate Instrumental | `mureka-generate-instrumental` | Create instrumental tracks |
| Generate Lyrics | `mureka-generate-lyrics` | Generate lyrics from a prompt |
| Extend Lyrics | `mureka-extend-lyrics` | Continue/extend existing lyrics |
| Extend Song | `mureka-extend-song` | Continue an existing song |
| Create Speech | `mureka-create-speech` | Generate speech audio |
| Create Podcast | `mureka-create-podcast` | Generate multi-speaker podcast |
| Recognize Song | `mureka-recognize-song` | Identify a song from audio |
| Describe Song | `mureka-describe-song` | Analyze and describe a song |
| Stem Song | `mureka-stem-song` | Separate audio into stems |
| Upload File | `mureka-upload-file` | Upload audio for other operations |

### Minimax Music

| Capability | Slug | Description |
|-----------|------|-------------|
| Music v2 | `minimax-music-v2` | Latest Minimax music generation |
| Music v1.5 | `minimax-music-v1-5` | Stable 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

```bash
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

```bash
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

```bash
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

```bash
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:

```bash
# 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

```bash
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](references/MODELS.md) for complete parameter details for each model.

---

## 中文说明

# EachLabs Music

通过 EachLabs Predictions API 使用 Mureka AI 模型生成歌曲、乐器、歌词、播客等内容。

## 身份验证

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

设置 `EACHLABS_API_KEY` 环境变量。在 [eachlabs.ai](https://eachlabs.ai) 获取你的密钥。

## 可用能力

### Mureka 模型

| 能力 | Slug | 说明 |
|-----------|------|-------------|
| 生成歌曲 | `mureka-generate-song` | 根据提示词创建带人声的完整歌曲 |
| 生成乐器 | `mureka-generate-instrumental` | 创建器乐曲目 |
| 生成歌词 | `mureka-generate-lyrics` | 根据提示词生成歌词 |
| 扩展歌词 | `mureka-extend-lyrics` | 续写/扩展已有歌词 |
| 扩展歌曲 | `mureka-extend-song` | 续写一首已有的歌曲 |
| 创建语音 | `mureka-create-speech` | 生成语音音频 |
| 创建播客 | `mureka-create-podcast` | 生成多人对话的播客 |
| 识别歌曲 | `mureka-recognize-song` | 从音频识别一首歌曲 |
| 描述歌曲 | `mureka-describe-song` | 分析并描述一首歌曲 |
| 分离歌曲 | `mureka-stem-song` | 将音频分离为各个声部(stems) |
| 上传文件 | `mureka-upload-file` | 上传音频以供其他操作使用 |

### Minimax Music

| 能力 | Slug | 说明 |
|-----------|------|-------------|
| Music v2 | `minimax-music-v2` | 最新的 Minimax 音乐生成 |
| Music v1.5 | `minimax-music-v1-5` | 稳定的 Minimax 音乐生成 |

## 预测流程

1. **检查模型** `GET https://api.eachlabs.ai/v1/model?slug=<slug>` —— 验证模型是否存在,并返回包含确切输入参数的 `request_schema`。在创建预测之前务必先执行此步,以确保输入正确。
2. **POST** `https://api.eachlabs.ai/v1/prediction`,附带模型 slug、版本 `"0.0.1"` 以及与模式匹配的 input
3. **轮询** `GET https://api.eachlabs.ai/v1/prediction/{id}`,直到状态为 `"success"` 或 `"failed"`
4. **提取** 响应中的输出

## 示例

### 生成一首歌曲

```bash
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
    }
  }'
```

### 生成乐器

```bash
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"
    }
  }'
```

### 生成歌词

```bash
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"
    }
  }'
```

### 创建一档播客

```bash
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"]
    }
  }'
```

### 扩展一首已有的歌曲

先上传歌曲,然后扩展它:

```bash
# Step 1: Upload the audio file
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: