Agent Skills
› NeverSight/learn-skills.dev
› producer-music
producer-music
GitHub通过AceDataCloud API生成AI音乐,支持创建歌曲、歌词、扩展曲目、翻唱、替换段落及上传参考音频等功能。
Trigger Scenarios
用户请求生成AI音乐或歌曲
需要创作或修改歌词
要求扩展已有音轨或制作翻唱版本
需要分离音轨或替换特定段落
Install
npx skills add NeverSight/learn-skills.dev --skill producer-music -g -y
SKILL.md
Frontmatter
{
"name": "producer-music",
"license": "Apache-2.0",
"metadata": {
"author": "acedatacloud",
"version": "1.0"
},
"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.",
"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 for token setup.
Quick Start
curl -X POST https://api.acedata.cloud/producer/audios \
-H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"action": "generate", "prompt": "upbeat electronic dance track with synth leads"}'
Async: All generation is async. See async task polling. Poll via
POST /producer/taskswith{"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
POST /producer/audios
{
"action": "generate",
"prompt": "chill lo-fi hip hop with rain sounds and soft piano"
}
2. Custom Lyrics Mode
POST /producer/audios
{
"action": "generate",
"custom": true,
"title": "Midnight City",
"lyric": "[Verse]\nNeon lights reflect on wet streets\n[Chorus]\nMidnight city never sleeps",
"instrumental": false
}
3. Instrumental Only
POST /producer/audios
{
"action": "generate",
"prompt": "epic orchestral soundtrack for a movie trailer",
"instrumental": true
}
4. Extend Song
POST /producer/audios
{
"action": "extend",
"audio_id": "existing-audio-id",
"continue_at": 30
}
5. Replace Section
POST /producer/audios
{
"action": "replace_section",
"audio_id": "existing-audio-id",
"replace_section_start": 15,
"replace_section_end": 30
}
6. Separate into Stems
POST /producer/audios
{
"action": "stems",
"audio_id": "existing-audio-id"
}
7. Generate Lyrics
POST /producer/lyrics
{
"prompt": "a love song about stargazing on a summer night"
}
8. Get WAV / Video
POST /producer/wav
{"audio_id": "your-audio-id"}
POST /producer/videos
{"audio_id": "your-audio-id"}
9. Upload Reference Audio
POST /producer/upload
{
"audio_url": "https://example.com/reference.mp3"
}
Parameters
| Parameter | Type | Description |
|---|---|---|
action |
string | See actions table |
prompt |
string | Song description (for non-custom mode) |
model |
string | Model (e.g., "FUZZ-2.0 Pro") |
custom |
boolean | Enable custom lyrics mode |
instrumental |
boolean | Pure instrumental (no vocals) |
title |
string | Song title |
lyric |
string | Custom lyrics with [Verse], [Chorus] tags |
audio_id |
string | Existing audio ID (for edit actions) |
continue_at |
number | Seconds — where to extend from |
replace_section_start |
number | Start time of section to replace |
replace_section_end |
number | End time of section to replace |
lyrics_strength |
0-1 | Lyrics adherence (default: 0.7) |
sound_strength |
0.2-1 | Sound quality weight (default: 0.7) |
weirdness |
0-1 | Creative randomness (default: 0.5) |
seed |
string | Seed for reproducibility |
Response Structure
{
"data": [
{
"id": "audio-id",
"audio_url": "https://cdn.example.com/song.mp3",
"video_url": "https://cdn.example.com/video.mp4",
"image_url": "https://cdn.example.com/cover.jpg",
"title": "Song Title",
"lyric": "full lyrics...",
"style": "electronic, dance",
"model": "FUZZ-2.0 Pro"
}
]
}
Gotchas
- Use
[Verse],[Chorus],[Bridge],[Outro]tags in custom lyrics continue_atis in seconds — the song extends from that pointreplace_section_start/replace_section_enddefine the time range to regenerateweirdnessat 0 = predictable, at 1 = highly experimental- Upload a reference audio via
/producer/uploadto get an audio ID for use withcoverorextend - WAV and video downloads are separate endpoints — call them after the main generation completes
- CRITICAL: Check the
statefield in task responses — onlystate: "complete"withsuccess: truemeans done. Duringpending, the API may return intermediateaudio_urlvalues (streaming previews). Do NOT stop polling just becauseaudio_urlis non-empty
Version History
- e0220ca Current 2026-07-05 22:55


