Skill detail
producer-music
Generates AI music with Producer via AceDataCloud API, supporting prompt or custom lyrics, instrumentals, covers, extend, replace section, vocal/instrumental swap, and stems.
Inspect before use
Read the source instructions and check the requirements before you install this skill.
SKILL.md
The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.
---
name: producer-music
description: Generate AI music with Producer via AceDataCloud API. Use when creating songs, generating lyrics, extending tracks, creating covers, swapping vocals/instrumentals, replacing song sections, or uploading reference audio. Supports custom lyrics, instrumental-only mode, and multiple creative actions.
license: Apache-2.0
metadata:
author: acedatacloud
version: "1.0"
compatibility: Requires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md).
---
# Producer Music Generation
Generate AI music through AceDataCloud's Producer API.
> **Setup:** See [authentication](../_shared/authentication.md) for token setup.
## Quick Start
```bash
curl -X POST https://api.acedata.cloud/producer/audios \
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"action": "generate", "lyric": "", "prompt": "upbeat electronic dance track with synth leads"}'
```
> **Async:** All generation is async. See [async task polling](../_shared/async-tasks.md). Poll via `POST /producer/tasks` with `{"id": "..."}` every 3-5 seconds.
## Models
| Model | Notes |
|-------|-------|
| `FUZZ-2.0 Pro` | Default, highest quality |
| `FUZZ-2.0` | Standard quality |
| `FUZZ-2.0 Raw` | Raw output variant |
| `FUZZ-1.1 Pro` | Pro v1.1 |
| `FUZZ-1.0 Pro` | Pro v1.0 |
| `FUZZ-1.0` | v1.0 |
| `FUZZ-1.1` | v1.1 |
| `FUZZ-0.8` | Legacy |
## Actions
| Action | Description |
|--------|-------------|
| `generate` | Create a new song from prompt or custom lyrics |
| `cover` | Create a cover version of an existing song |
| `extend` | Continue a song from a specific timestamp |
| `replace_section` | Replace a time range in an existing song |
| `swap_vocals` | Extract and swap vocal tracks |
| `swap_instrumentals` | Extract and swap instrumental tracks |
| `variation` | Generate a variation of an existing song |
| `stems` | Separate a song into stems |
## Workflows
### 1. Generate from Prompt
```json
POST /producer/audios
{
"action": "generate",
"lyric": "",
"prompt": "chill lo-fi hip hop with rain sounds and soft piano"
}
```
### 2. Custom Lyrics Mode
```json
POST /producer/audios
{
"action": "generate",
"custom": true,
"title": "Midnight City",
"lyric": "[Verse]\nNeon lights reflect on wet streets\n[Chorus]\nMidnight city never sleeps",
"prompt": "nocturnal electronic pop",
"instrumental": false
}
```
### 3. Instrumental Only
```json
POST /producer/audios
{
"action": "generate",
"lyric": "",
"prompt": "epic orchestral soundtrack for a movie trailer",
"instrumental": true
}
```
### 4. Extend Song
```json
POST /producer/audios
{
"action": "extend",
"audio_id": "existing-audio-id",
"lyric": "",
"prompt": "",
"continue_at": 30
}
```
### 5. Replace Section
```json
POST /producer/audios
{
"action": "replace_section",
"audio_id": "existing-audio-id",
"lyric": "",
"prompt": "",
"replace_section_start": 15,
"replace_section_end": 30
}
```
### 6. Separate into Stems
```json
POST /producer/audios
{
"action": "stems",
"audio_id": "existing-audio-id",
"lyric": "",
"prompt": ""
}
```
### 7. Generate Lyrics
```json
POST /producer/lyrics
{
"prompt": "a love song about stargazing on a summer night"
}
```
### 8. Get WAV / Video
```json
POST /producer/wav
{"audio_id": "your-audio-id"}
POST /producer/videos
{"audio_id": "your-audio-id"}
```
### 9. Upload Reference Audio
```json
POST /producer/upload
{
"audio_url": "https://example.com/reference.mp3"
}
```
## Parameters
| Parameter | Type | Description |
|-----------|------|-------------|
| `action` | string | Required for every `/producer/audios` request; see actions table |
| `prompt` | string | Required for every `/producer/audios` request; use an empty string when an edit action does not use a prompt |
| `model` | string | Model (e.g., `"FUZZ-2.0 Pro"`) |
| `custom` | boolean | Enable custom lyrics mode |
| `instrumental` | boolean | Pure instrumental (no vocals)Read the full source on GitHub (opens external page)