Skip to main content
Suno’s actions chain. Once you have a song you can extend it, restyle it, split its stems, or export it in another format. The order matters, so this page walks the common paths. If you have not generated a song yet, start with the quickstart.

Build a full-length song

A single run usually gives you two or three minutes. For something longer, extend in steps and merge at the end.
1

Generate the opening

Call suno/music and keep the music_id.
2

Continue from there

Call suno/extend with that music_id and continue_at, the second to continue from.Extension produces a segment, not a full track, typically well under a minute. Extend again from the new segment to go further.
3

Merge into one track

Call suno/concat with the segment’s music_id. It follows that segment back through the chain and assembles the whole thing.
4

Export

Call suno/download and pick mp3, m4a, or wav.
Merging takes the ID of a segment produced by extend, not the ID of the original song. Passing a track that was never extended returns 400.

Rework audio you already have

1

Upload

Call suno/upload with a publicly downloadable audio URL and keep the music_id.This endpoint is synchronous. It waits for processing, which takes about a minute, so allow a generous client timeout.
2

Restyle or continue

  • New style: suno/upload-cover
  • Keep writing: suno/upload-extend
Both accept audio_url directly, so you can skip the upload step if you prefer.
To borrow the feel of a track without covering it, use suno/inspo with up to four references.

Get the instrumental or the vocal

1

Separate

suno/stems pulls the lead vocal by default, or any stem you name. For every stem at once, use suno/stems-all.
2

Rebuild around it

  • Vocal in hand, want new backing: suno/add-instrumental
  • Instrumental in hand, want a singer: suno/add-vocals
  • Want one more layer: suno/add-stem

Reuse one voice across songs

1

Capture the voice

  • From an existing track: suno/persona
  • From an audio file: suno/create-voice
Both return a voice ID.
2

Generate with it

Pass persona_id when generating and the new song sings in that voice. Custom mode only.
When you want a whole style rather than just a voice, suno/create-model trains one from 6 to 24 audio files. Training takes a while and yields a model ID.

Finishing touches

Once a song is done, change its tempo with suno/adjust-speed (optionally preserving pitch), convert it to MIDI with suno/gen-midi, or fetch per-line lyric timings plus whole-track waveform data with suno/aligned-lyrics.

How long you wait

Every action answers a submit the same way: a task ID, which you then read with GET /suno/v2/fetch/{task_id} or have pushed to you via notify_hook. One code path covers them all, with no per-action branching. What differs is the wait. These are usually final on submit, so the very next query has the result: suno/upload, suno/persona, suno/gen-midi, suno/aligned-lyrics, suno/upsample-tags MIDI and lyric timings occasionally need a little longer. The task then shows as in progress; query again shortly. You are billed once.
Of these, the submit request for suno/upload is by far the slowest, close to a minute before it answers, so allow a generous client timeout. The rest return quickly.

Every capability

Create something new

Work on an existing track

Bring your own audio

Split and reassemble

Adjust

Export

Voices and models

Analysis

About pricing

Billing is per call, independent of length or how many results come back. A few things worth knowing:
  • When an action returns several results and only some succeed, you are charged for the ones that succeeded
  • max_mode doubles the price and only applies in custom mode
  • Failed tasks are refunded
  • Lyric timings (suno/aligned-lyrics) are free
Per-action prices are on each model’s detail page.

Common questions

suno/concat expects the ID of a segment produced by extend. The original song has no follow-on segments to merge, so it returns 400.
suno/upload is synchronous and takes close to a minute. Raise your client timeout to 90 seconds or more. The audio URL must also be publicly downloadable, not a page behind a login.
Yes. Every entry in musics is a finished track with its own music_id, and each can be extended or split independently.
All three cost the same. chirp-v6 is balanced, chirp-v6-wild is bolder, chirp-v6-mini is faster. Defaults to chirp-v6. Only generation actions accept it; every other action is version-independent.