Build with Suno V6
Make your first request
Use your Sorceress API key on your server. The playground uses your signed-in account; your application uses the same model with an API key.
curl -X POST 'https://sorceress.games/api/v1/tools/music_generate' \
-H 'Authorization: Bearer $SORCERESS_API_KEY' \
-H 'Content-Type: application/json' \
-d '{}'Inputs & settings
promptstringSimple mode: a description of the song. Advanced (customMode): the actual lyrics. Leave empty for auto-lyrics or instrumental.
customModebooleanfalse = Simple (describe the song). true = Advanced (provide lyrics + style + title). Default false.
instrumentalbooleantrue = no vocals. Default false.
stylestringAdvanced only: musical style/genre tags (e.g. "epic orchestral, cinematic").
titlestringAdvanced only: song title (max 80 chars).
negativeTagsstringAdvanced only: styles to avoid.
vocalGenderstringAdvanced only: "m" or "f" to bias the vocal.
weirdnessConstraintnumberAdvanced only: 0–1 creativity/weirdness.
styleWeightnumberAdvanced only: 0–1 how strongly to follow the style.
durationnumberAdvanced only: optional target song length in seconds (10–360). Omit to let Suno choose the length.
Full input schema
{
"required": [],
"properties": {
"prompt": {
"type": "string",
"title": "prompt",
"description": "Simple mode: a description of the song. Advanced (customMode): the actual lyrics. Leave empty for auto-lyrics or instrumental."
},
"customMode": {
"type": "boolean",
"title": "custom Mode",
"description": "false = Simple (describe the song). true = Advanced (provide lyrics + style + title). Default false."
},
"instrumental": {
"type": "boolean",
"title": "instrumental",
"description": "true = no vocals. Default false."
},
"style": {
"type": "string",
"title": "style",
"description": "Advanced only: musical style/genre tags (e.g. \"epic orchestral, cinematic\")."
},
"title": {
"type": "string",
"title": "title",
"description": "Advanced only: song title (max 80 chars)."
},
"negativeTags": {
"type": "string",
"title": "negative Tags",
"description": "Advanced only: styles to avoid."
},
"vocalGender": {
"type": "string",
"title": "vocal Gender",
"description": "Advanced only: \"m\" or \"f\" to bias the vocal."
},
"weirdnessConstraint": {
"type": "number",
"title": "weirdness Constraint",
"description": "Advanced only: 0–1 creativity/weirdness."
},
"styleWeight": {
"type": "number",
"title": "style Weight",
"description": "Advanced only: 0–1 how strongly to follow the style."
},
"duration": {
"type": "number",
"title": "duration",
"description": "Advanced only: optional target song length in seconds (10–360). Omit to let Suno choose the length."
}
}
}Workflow actions
Generate a song (vocal or instrumental) from a description or custom lyrics/style. Async: returns a jobId — poll GET /api/v1/jobs/:id until it succeeds, then read result.tracks (~2 variations).
Music · Stem SeparationSplit a track into separate stems. mode "separate_vocal" gives vocals + instrumental (8 credits), "split_stem" gives up to 12 stems in one call (42 credits), "split_stem_advanced" isolates one precisely named instrument such as "Rhodes" or "Snare" (17 credits). Async: returns a jobId — poll GET /api/v1/jobs/:id, then read result.tracks (each stem has a title).
Music · Stem NamesList every instrument name music_stems accepts in split_stem_advanced mode, grouped by family. Free and synchronous. Call this before requesting a specific stem. Note this is a fixed vocabulary — it does not report which instruments a particular song contains.
Music · Add InstrumentalGenerate instrumental backing around an uploaded vocal take, turning an acapella into a full song (Suno). The mirror of add-vocals. Async: returns a jobId — poll GET /api/v1/jobs/:id, then read result.tracks (~2 variations).
Music · Cover ArtGenerate album cover art for a finished Suno track from the song itself. Async: returns a jobId — poll GET /api/v1/jobs/:id, then read result.covers (2 images).
Music · Timestamped LyricsGet word-level start/end times for a generated track's lyrics, plus waveform data for visualisation. Use for karaoke displays, music-video subtitles, or syncing animation to words. Synchronous — returns the timings directly.
Music · Boost StyleExpand a terse style description (e.g. "Pop, Mysterious") into a richer Suno style prompt. Feed the result into music_generate's "style" in customMode. Synchronous — returns the text directly.
Ai Music API Create Music VideoAi Music API Extend MusicAi Music API Generate LyricsAi Music API Generate MIDI from AudioAi Music API Generate PersonaAi Music API MashupAi Music API Replace Music SectionAi Music API Upload And Convert to WAV FormatAi Music API Upload And Cover AudioAI Music API Upload And Extend AudioResults, saved runs & billing
Media requests return a job ID. Poll GET /api/v1/jobs/:id until it succeeds or fails; keep the same ID while it is processing. Long chat requests can also return a saved job to poll. Completed outputs are stored in your account, and successful work is billed using your model's current rates.
A multi-step workflow may include separately billed successful actions. If a connection drops, check your saved run before submitting it again.





