API Stock
/MUSIC/suno
Audio

Suno API

Suno audio generation: create songs, lyrics and sound effects, and edit existing tracks (extend, cover, stems, fades, mashup, remaster, MV, persona and more) — one model selected by the `action` field.

  • Text to music
  • Audio reference
  • Multiple actions

Starting at

$0.075

per generation

53 parameters · 31 price options

Suno playground

Input

Custom mode: detailed lyrics / prompt (also the lyrics or sound description)

Audio file URL to operate on

music-video: cover image URL to show inside the ring (default: the source track's cover art when available)

voice: URL to the voice recording

voice: URL to the verification-phrase recording

Public audio URLs. inspo: 1–4 inspiration references; custom-model: 6–24 training tracks (MP3, WAV or M4A).

Sign in to run

Runs are charged to your balance.

Output

Output will appear here.

Suno API pricing

OptionPrice per generation
music$0.075
bpm$0.002
vox$0.002
wav$0.002
concat$0.002
boost-style$0.002
music-video$0.002
timestamped-lyrics$0.002
upload$0.006
crop$0.012
lyrics$0.012
fade-in$0.012
fade-out$0.012
remove-section$0.012
sound$0.015
voice$0.024
adjust-speed$0.036
midi$0.075
cover$0.075
extend$0.075
mashup$0.075
sample$0.075
add-stem$0.075
remaster$0.075
add-vocals$0.075
music-cover$0.075
replace-section$0.075
add-instrumental$0.075
inspo$0.102
stems$0.15
stems-all$0.36
1curl -X POST https://api.api-stock.com/api/v1/generation/create \
2 -H "Authorization: Bearer $API_STOCK_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "model": "suno",
6 "input": {
7 "action": "music",
8 "makeInstrumental": false,
9 "maxMode": false,
10 "aspectRatio": "9:16",
11 "quality": "compact"
12 }
13 }'

Parameters

NameTypeRequiredDefaultDescription
actionstringNomusicSuno operationOne of: music, extend, cover, add-instrumental, add-vocals, sound, stems, stems-all, wav, lyrics, voice, timestamped-lyrics, boost-style, music-cover, replace-section, music-video, inspo, upload, remaster, add-stem, vox, remove-section, crop, fade-in, fade-out, adjust-speed, concat, mashup, sample, midi, bpm, custom-model
mvstringNo—Engine version. Audio actions: v6 (default) | v6-wild | v6-mini | custom. The retired versions v3.5 … v5.5 are still accepted and run on v6. lyrics: remi-v1 | default. Not used by stems/stems-all/wav/voice. variety, maxMode, audioFormat, duration and customModelId need a V6 engine (any value except custom).
custombooleanNo—false for simple mode, true for custom mode
gptDescriptionPromptstringNo—Simple mode: song / effect description (with optional lyrics)
promptstringNo—Custom mode: detailed lyrics / prompt (also the lyrics or sound description)
tagsstringNo—Custom mode: genre / style tags
titlestringNo—Title for the result
makeInstrumentalbooleanNofalseGenerate an instrumental-only track
negativeTagsstringNo—Styles to avoid (custom mode / sound)
personaIdstringNo—ID of a custom voice (persona) to sing the generated music
customModelstringNo—Inline custom model definition (required when mv=custom)
customModelIdstringNo—Id of a reusable custom model created by the `custom-model` action (its `output.customModelId`). Generates in that model's style; cannot be combined with mv or personaId.
varietystringNo—Style variation: off | normal | high | extra | max. V6 generative actions.One of: off, normal, high, extra, max
maxModebooleanNofalseMax mode: higher-quality V6 generation, billed at twice the regular price. Requires custom mode, except on inspo and replace-section.
audioFormatstringNo—Output audio format: mp3 | m4a | wav. V6 generative actions plus sound, remaster, stems and stems-all.One of: mp3, m4a, wav
durationnumberNo—music / extend / cover: target length in seconds (10–360), custom mode only. The actual length is decided by the model.
audioUrlstringNo—Audio file URL to operate on
continueAtnumberNo—extend: time in seconds where the extension should begin (at least 1 for a sourceTaskId or audioUrl source)
sourceTaskIdstringNo—Reference to one of your prior Suno generations (its taskId), used by stateful actions such as extend, music-cover, replace-section, timestamped-lyrics, music-video, voice and wav.
audioIdstringNo—The track to operate on, identified by its id (as returned in a prior generation's `output.tracks[].audioId`). A generation usually produces 2 tracks; omit to use the first.
fullLyricsstringNo—replace-section: complete lyrics for the whole track after the edit
authorstringNo—music-video: artist / creator name on the cover (max 50)
domainNamestringNo—music-video: brand / site watermark at the bottom (max 50)
aspectRatiostringNo9:16music-video: output aspect ratioOne of: 9:16, 16:9, 1:1, 3:4, 4:3
backgroundColorsstring[]No—music-video: 1–4 hex colors for the blurred gradient backdrop (e.g. ["#1B2635", "#8A6A4F"])
imageUrlstringNo—music-video: cover image URL to show inside the ring (default: the source track's cover art when available)
qualitystringNocompactmusic-video: output quality. `compact` — small share-friendly file (~5MB / 3 min); `high` — sharper 720p-class output at roughly double the size; `max` — 1080p-class, ~4× compactOne of: compact, high, max
startSnumberNo—Start time (seconds) of the affected range. Used by remove-section / crop / sample (the range), replace-section (the infill range) and vox / voice-from-track (the vocal window).
endSnumberNo—End time (seconds) of the affected range (> startS). See startS for the actions that use it.
bpmnumberNo—sound: tempo in BPM
keystringNo—sound: musical key (Major C–B; Minor Cm–Bm)
typestringNo—sound: 'one-shot' or 'loop' (defaults to one-shot)One of: one-shot, loop
voiceAudioUrlstringNo—voice: URL to the voice recording
verificationAudioUrlstringNo—voice: URL to the verification-phrase recording
phraseIdstringNo—voice: phrase ID from the verification-phrase endpoint
namestringNo—voice / custom-model: name
descriptionstringNo—voice: description
stylesstringNo—voice: genre tags (e.g. 'funk edm')
singerSkillLevelstringNo—voice: singer skill levelOne of: Beginner, Intermediate, Advanced, Professional
audioUrlsstring[]No—Public audio URLs. inspo: 1–4 inspiration references; custom-model: 6–24 training tracks (MP3, WAV or M4A).
styleWeightnumberNo—Style weight (0.00–1.00)
weirdnessConstraintnumberNo—Creativity / weirdness weight (0.00–1.00)
audioWeightnumberNo—Audio weight (0.00–1.00)
vocalGenderstringNo—Vocal gender: Male or FemaleOne of: Male, Female
autoLyricsbooleanNo—inspo: rewrite the provided lyrics creatively
variationCategorystringNo—remaster: intensity (subtle / normal / high)One of: subtle, normal, high
stemTypestringNo—stems: which stem to extract (e.g. lead_vocal, backing_vocals, drum_kit, bass, piano, electric_guitar). Defaults to lead_vocal.
voxAudioIdstringNo—Deprecated and ignored: a persona is now created straight from the track (voice with sourceTaskId), no vox extraction needed.
durationSnumberNo—fade-in / fade-out: fade duration in seconds
speednumberNo—adjust-speed: speed multiplier (0.25–4)
keepPitchbooleanNo—adjust-speed: keep the original pitch (defaults to true)
sourceTaskIdsstring[]No—mashup: exactly 2 prior suno generation ids (taskIds) to remix together
audioIdsstring[]No—mashup: parallel array to sourceTaskIds selecting the track in each source by its audioId (as returned in output.tracks[].audioId); omit an entry to use that source's first track

Frequently asked questions

How much does Suno cost?

Suno starts at $0.075 per generation through the API Stock API. You pay per use from a single prepaid balance — there is no subscription — and the final price scales with parameters such as resolution or duration.

When was Suno released?

Suno was released on September 9, 2026. It is available through the API Stock API with the same key and prepaid balance as every other model.

How do I get an API key for Suno?

Sign up for API Stock, top up your balance by any amount and create an API key in the dashboard — it takes a couple of minutes and needs no contract. The same key works with every model in the catalog, so there is no separate key to obtain for Suno.

How do I call the Suno API?

Send a POST request to https://api.api-stock.com/api/v1/generation/create with your API key and the model id "suno". The call returns a task id you poll, or a webhook callback when the result is ready. A ready-to-run example is in the quick start above.

What input parameters does Suno accept?

Suno accepts 53 input parameters. Their types, defaults and allowed values are listed in the parameters table above.

What happens if a Suno request fails?

API Stock automatically retries the request on a reserve provider. If every provider fails, the charge is refunded to your balance.

Can I use Suno with the same API key as other models?

Yes. Every model on API Stock — video, image, music and chat — shares one API key and one prepaid balance, so you can switch to Suno without new credentials.