suno-music

v2026.09.24

Generate AI music with Suno via AceDataCloud API. Use when creating songs from text prompts, generating lyrics, extending tracks, creating covers, extracting vocals, managing voice personas, training custom music models from authorized audio, or any music generation task. Supports text-to-music, custom styles, multi-format output (MP3, WAV, MIDI, MP4), and vocal separation.

GitHub
安装命令
npx skhub add acedatacloud/suno-music
Markdown
SKILL.md

Suno Music Generation

Generate AI-powered music through AceDataCloud's Suno API.

Setup: See authentication for token setup.

Quick Start

curl -X POST https://api.acedata.cloud/suno/audios \
  -H "Authorization: Bearer $ACEDATACLOUD_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "a happy pop song about coding", "model": "chirp-v6", "callback_url": "https://api.acedata.cloud/health"}'

Async: All generation is async. See async task polling. Poll via POST /suno/tasks with {"id": "<task_id>"} every 3-5 seconds.

Available Models

ModelBest For
chirp-v6Current v6 model
chirp-v6-wildv6 Wild model
chirp-v6-miniv6 Mini model
chirp-v5-5Previous model name, retained for compatibility
chirp-v5High quality
chirp-v4-5-plusEnhanced v4.5
chirp-v4-5Good balance of quality and speed
chirp-v4Fast, reliable
chirp-v3-5Legacy, stable
chirp-v3-0Legacy

Core Workflows

1. Quick Generation (Inspiration Mode)

Generate a song from a text description. Suno creates lyrics, style, and music automatically.

POST /suno/audios
{
  "prompt": "an upbeat electronic track about the future of AI",
  "model": "chirp-v6",
  "instrumental": false
}

2. Custom Generation (Full Control)

Provide your own lyrics, title, and style for precise control.

POST /suno/audios
{
  "custom": true,
  "lyric": "[Verse]\nCode is poetry in motion\n[Chorus]\nWe build the future tonight",
  "title": "Digital Dreams",
  "style": "Synthwave, Electronic, Dreamy",
  "model": "chirp-v6",
  "vocal_gender": "f"
}

3. Extend a Song

Continue an existing song from a specific timestamp with new lyrics.

POST /suno/audios
{
  "action": "extend",
  "audio_id": "existing-audio-id",
  "lyric": "[Bridge]\nNew section lyrics here",
  "continue_at": 120.0,
  "style": "Same style as original"
}

4. Cover / Remix

Create a new version of an existing song in a different style.

POST /suno/audios
{
  "action": "cover",
  "audio_id": "existing-audio-id",
  "style": "Jazz, Acoustic, Mellow"
}

5. Full Song Creation Workflow

For best results follow this multi-step workflow:

  1. Generate lyrics — POST /suno/lyrics with a topic/prompt
  2. Optimize style — POST /suno/style to refine style description
  3. Generate music — POST /suno/audios with custom action, lyrics + style
  4. Poll task — POST /suno/tasks with id (or ids for batch) until status is complete
  5. Optional: Extend — Use extend action to add more sections
  6. Optional: Concat — Use concat action to merge extended segments
  7. Optional: Convert — Get WAV (/suno/wav), MIDI (/suno/midi), or MP4 (/suno/mp4)

Available Actions

ActionDescription
generateGenerate from prompt (default)
extendContinue an existing audio from a timestamp
upload_extendUpload external audio, then extend it
upload_coverUpload external audio, then create a cover
concatConcatenate extended segments into one track
coverCopy the style of an existing audio
artist_consistencyGenerate in a custom singer's style
artist_consistency_voxArtist consistency with vocal focus
stemsSeparate a track into stems
all_stemsSeparate into all available stems
replace_sectionReplace a specific time range in a song
underpaintingAdd accompaniment to an uploaded song
overpaintingAdd vocals to an uploaded song
remasterRemaster an existing audio
mashupBlend multiple audio IDs together
samplesAdd samples to an uploaded song
inspoGenerate a song inspired by an existing audio

Custom Music Models (Beta)

Custom models learn reusable musical characteristics from 6–24 authorized audio files. Creation is a paid, long-running operation. Ask the user to confirm the files and cost before submitting it.

Create

POST /suno/custom-models
{
  "action": "create",
  "name": "My Album Sound",
  "audio_urls": [
    "https://cdn.example.com/track-01.mp3",
    "https://cdn.example.com/track-02.mp3",
    "https://cdn.example.com/track-03.mp3",
    "https://cdn.example.com/track-04.mp3",
    "https://cdn.example.com/track-05.mp3",
    "https://cdn.example.com/track-06.mp3"
  ]
}

Send a stable Idempotency-Key header and reuse it after network failures. Save the returned id; query it until status is ready.

Query and list

POST /suno/custom-models
{"action": "retrieve", "id": "<custom-model-id>"}
POST /suno/custom-models
{"action": "retrieve_batch", "status": "ready", "limit": 20, "offset": 0}

Generate

POST /suno/custom-models
{
  "action": "generate",
  "id": "<ready-custom-model-id>",
  "lyric": "[Verse]\nOriginal lyrics here",
  "style": "warm indie pop",
  "title": "New Song",
  "async": true
}

Async acceptance is not terminal success: poll the returned task and inspect response.success. A custom-model request never falls back to another model. The model must belong to the current Suno application and have status: "ready".

Archive

POST /suno/custom-models
{"action": "delete", "id": "<custom-model-id>"}

delete archives the platform resource and prevents further use. capacity_released: false means it does not promise that model capacity was released.

Auxiliary Endpoints

EndpointMethodPurpose
/suno/lyricsPOSTGenerate structured lyrics from a prompt (model: "default" or "remi-v1")
/suno/stylePOSTOptimize/refine a style description
/suno/mashup-lyricsPOSTCombine two sets of lyrics
/suno/mp4POSTGet MP4 video version of a song
/suno/wavPOSTConvert to lossless WAV format
/suno/midiPOSTExtract MIDI data for DAW editing
/suno/voxPOSTExtract vocal track (stem separation)
/suno/voicesPOSTCreate a reusable voice from an audio URL; requires audio_url, with optional name and description
/suno/timingPOSTGet word-level timing/subtitles
/suno/personaPOSTSave a vocal style as a reusable persona; requires audio_id and name
/suno/personaGETList reusable personas
/suno/personaDELETEDelete a reusable persona
/suno/uploadPOSTUpload external audio for extend/cover
/suno/tasksPOSTQuery task status and results
/suno/custom-modelsPOSTCreate, generate with, query, list, or archive custom music models

Advanced Parameters

ParameterTypeDescription
lyric_promptobjectStructured prompt payload for auto-generating lyrics (used when custom: true without explicit lyric)
negative_tagsstringStyle or genre tags to avoid (e.g., "heavy metal, distortion"); used in custom mode
style_influencenumberStrength of style influence (advanced custom mode, v5+ only)
audio_weightnumberWeight for audio reference when covering (advanced, v5+ only)
durationintegerTarget track length in seconds (typically 10–360). Best supported on generate with custom: true on newer models such as chirp-v5-5

Lyrics Format

Use section markers in square brackets:

[Verse 1]
Your verse lyrics here

[Chorus]
Catchy chorus lyrics

[Bridge]
Bridge section

[Outro]
Ending lyrics

Gotchas

  • All generation is async — always set "callback_url" to get a task id immediately, then poll /suno/tasks using {"id":"<task_id>"} or {"ids":[...],"action":"retrieve_batch"}
  • CRITICAL: Check the state field — only state: "complete" with success: true means done. During pending, the API may return intermediate audio_url values (streaming previews). Do NOT stop polling just because audio_url is non-empty
  • Lyrics max ~3000 characters. For longer songs, use the extend workflow
  • Style tags are descriptive phrases, not enum values (e.g., "Synthwave, Electronic, Dreamy")
  • vocal_gender ("f"/"m") is only supported on v4.5+ models
  • variation_category ("high"/"normal"/"subtle") is only supported on v5+ models
  • duration is forwarded as you send it — support varies by model and action, and an unsupported combination may ignore it or return an error, so verify with one request before batching. Note the request duration is a target; the duration in each returned clip is the actual length and will vary slightly
  • The concat action merges extended song segments — requires audio_id of the extended track
  • persona requires an existing audio_id and a name; optional vox_audio_id, vocal_start, vocal_end, and description refine the vocal reference
  • Upload external audio via /suno/upload before using it with extend/cover

MCP: pip install mcp-suno | Hosted: https://suno.mcp.acedata.cloud/mcp | See all MCP servers

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

NOASSERTION

源路径

skills/suno-music

默认分支

main

最新提交

57cc298

Tree SHA

acaa402