# MiniMax Music Cover

> Run MiniMax Music Cover by minimax online or via API. $0.15/cover, no setup.

**URL:** https://inference.sh/apps/minimax/music-cover
**Last updated:** 2026-08-04

---

MiniMax Music Cover — AI-powered song covers and style transfer. Upload a reference track and generate a cover with new style and optional new lyrics.

- app: `minimax/music-cover`
- maker: [minimax](https://inference.sh/apps/minimax.md)
- category: [audio](https://inference.sh/apps/category/audio.md)
- tasks: [music generation](https://inference.sh/apps/tag/music-generation.md)
- price: $0.15/cover
- runs via: api, javascript and python sdk, belt cli, mcp

## music-cover API Guide

### About
minimax music cover — ai-powered song covers and style transfer. upload a reference track and generate a cover with new style and optional new lyrics.

### Get an API Key
Create one in [settings → api keys](https://app.inference.sh/settings/keys). The examples read it from `INFERENCE_API_KEY`.

```bash
export INFERENCE_API_KEY="inf_your_key"
```

### 1. Calling the API

#### Install the Client

```bash
pip install inferencesh
```

#### Run and Get Result
Submit a request and wait for the final result.

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])

## version @2bsvv3rd pinned
result = client.run({
        "app": "minimax/music-cover@2bsvv3rd",
        "input": {
            "reference_audio": "https://example.com/file.png",
            "prompt": "Jazz arrangement with piano and soft drums"
        }
    })

print(result["output"])
```

#### Stream Live Updates
Get real-time progress updates as the task runs.

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])

## version @2bsvv3rd pinned
## stream=True yields updates as they arrive
for update in client.run({
        "app": "minimax/music-cover@2bsvv3rd",
        "input": {
            "reference_audio": "https://example.com/file.png",
            "prompt": "Jazz arrangement with piano and soft drums"
        }
    }, stream=True):
    if update.get("progress"):
        print(f"progress: {update['progress']}%")
    if update.get("output"):
        print(f"output: {update['output']}")
```

#### Run in the Background
Start the task and get its id back right away, then check on it with `GET /tasks/{id}`. It is done when `status` is 10 (completed), 11 (failed) or 12 (cancelled).

```python
import os
from inferencesh import inference, TaskStatus

client = inference(api_key=os.environ["INFERENCE_API_KEY"])

## returns as soon as the task is created
task = client.run({
        "app": "minimax/music-cover@2bsvv3rd",
        "input": {
            "reference_audio": "https://example.com/file.png",
            "prompt": "Jazz arrangement with piano and soft drums"
        }
    }, wait=False)

## later: read its current state
state = client.tasks.get(task["id"]).data
if state["status"] == TaskStatus.COMPLETED:
    print(state["output"])
```

### 2. Files

#### Automatic Upload

```python
## local file paths are automatically uploaded
result = client.run({
    "app": "minimax/music-cover@2bsvv3rd",
    "input": {
        "image": "/path/to/local/image.png",  # detected & uploaded
        "audio": "https://example.com/audio.mp3",  # url passed through
    }
})
```

#### Manual Upload

```python
## upload and get a hosted URL
file = client.files.upload("/path/to/file.png")
print(file.uri)  # https://cloud.inference.sh/...
```

### 3. Schema

#### Input
- **reference_audio** (string) *required*: Reference audio track for style transfer. 6s-6min, max 50MB.
- **prompt** (string) *required*: Style and mood direction for the cover.
- **lyrics** (string): New lyrics for the cover with section tags. 10-1000 chars. If empty, uses reference lyrics.
- **format** (string): Output audio format.

#### Output
- **audio** (string): The generated cover audio file.

## other audio apps

- [Fish Audio Drama 3](https://inference.sh/apps/fish-audio/drama-3.md): $50.00/1M UTF-8 bytes
- [Eleven Flash v2.5](https://inference.sh/apps/elevenlabs/eleven-flash-v2-5.md): $0.04/1K characters
- [Eleven Multilingual v2](https://inference.sh/apps/elevenlabs/eleven-multilingual-v2.md): $0.08/1K characters
- [Eleven v3](https://inference.sh/apps/elevenlabs/eleven-v3.md): $0.08/1K characters
- [Eleven v4 Turbo](https://inference.sh/apps/elevenlabs/eleven-v4-turbo.md): $0.04/1K characters

## faq

### how much does MiniMax Music Cover cost?

$0.15/cover. you pay per run from your inference shell credits. no subscription is required.

### how do I run MiniMax Music Cover via api?

call minimax/music-cover with the javascript or python sdk, the rest api, or `belt app run minimax/music-cover` from a terminal. the api reference on this page lists every input.

### who makes MiniMax Music Cover?

MiniMax Music Cover is made by minimax and runs on inference shell. every minimax app is listed at https://inference.sh/apps/minimax.

### can my agent use MiniMax Music Cover?

yes. agents call it as a tool through the inference shell mcp server (https://api.inference.sh/mcp), the belt cli or the sdk, and pay per run like you do.

### what are the alternatives to MiniMax Music Cover?

other audio apps on inference shell include Fish Audio Drama 3, Eleven Flash v2.5, Eleven Multilingual v2, Eleven v3. they run through the same api, so switching is a one-line change.
