acedatacloud/skills

suno-music

Generate AI music with Suno via AceDataCloud API.

First seen Apr 6, 2026

Installation

$ npx skills add acedatacloud/skills --skill suno-music

Summary

  • 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.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from acedatacloud/skills · top by installs.

npx skills add acedatacloud/skills

Browse all from acedatacloud/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 17
License LICENSE
Default branch main
Open issues 1
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0
LicenseApache-2.0
CompatibilityRequires ACEDATACLOUD_API_TOKEN in .env file (see _shared/authentication.md). Optionally pair with mcp-suno for tool-use.
More metadata
author
acedatacloud
version
1.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 9,834 B
  • docs SUMMARY.md 391 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 250 installs

SKILL.md

Suno Music Generation

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

Setup: See [authentication](../_shared/authentication.md) 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](../shared/async-tasks.md). Poll via POST /suno/tasks with {"id": "<taskid>"} every 3-5 seconds.

Available Models

Model Best For
chirp-v6 Current v6 model
chirp-v6-wild v6 Wild model
chirp-v6-mini v6 Mini model
chirp-v5-5 Previous model name, retained for compatibility
chirp-v5 High quality
chirp-v4-5-plus Enhanced v4.5
chirp-v4-5 Good balance of quality and speed
chirp-v4 Fast, reliable
chirp-v3-5 Legacy, stable
chirp-v3-0 Legacy

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 lyricsPOST /suno/lyrics with a topic/prompt
  2. Optimize stylePOST /suno/style to refine style description
  3. Generate musicPOST /suno/audios with custom action, lyrics + style
  4. Poll taskPOST /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

Action Description
generate Generate from prompt (default)
extend Continue an existing audio from a timestamp
upload_extend Upload external audio, then extend it
upload_cover Upload external audio, then create a cover
concat Concatenate extended segments into one track
cover Copy the style of an existing audio
artist_consistency Generate in a custom singer's style
artistconsistencyvox Artist consistency with vocal focus
stems Separate a track into stems
all_stems Separate into all available stems
replace_section Replace a specific time range in a song
underpainting Add accompaniment to an uploaded song
overpainting Add vocals to an uploaded song
remaster Remaster an existing audio
mashup Blend multiple audio IDs together
samples Add samples to an uploaded song
inspo Generate 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

Endpoint Method Purpose
/suno/lyrics POST Generate structured lyrics from a prompt (model: "default" or "remi-v1")
/suno/style POST Optimize/refine a style description
/suno/mashup-lyrics POST Combine two sets of lyrics
/suno/mp4 POST Get MP4 video version of a song
/suno/wav POST Convert to lossless WAV format
/suno/midi POST Extract MIDI data for DAW editing
/suno/vox POST Extract vocal track (stem separation)
/suno/voices POST Create a reusable voice from an audio URL; requires audio_url, with optional name and description
/suno/timing POST Get word-level timing/subtitles
/suno/persona POST Save a vocal style as a reusable persona; requires audio_id and name
/suno/persona GET List reusable personas
/suno/persona DELETE Delete a reusable persona
/suno/upload POST Upload external audio for extend/cover
/suno/tasks POST Query task status and results
/suno/custom-models POST Create, generate with, query, list, or archive custom music models

Advanced Parameters

Parameter Type Description
lyric_prompt object Structured prompt payload for auto-generating lyrics (used when custom: true without explicit lyric)
negative_tags string Style or genre tags to avoid (e.g., "heavy metal, distortion"); used in custom mode
style_influence number Strength of style influence (advanced custom mode, v5+ only)
audio_weight number Weight for audio reference when covering (advanced, v5+ only)
duration integer Target 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 "callbackurl" to get a task id immediately, then poll /suno/tasks using {"id":"<taskid>"} 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 audiourl values (streaming previews). Do NOT stop polling just because audiourl 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 audioid and a name; optional voxaudioid, vocalstart, 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](../_shared/mcp-servers.md)