Skip to main content
Suno offers music capabilities covering generation, extension, covers, mashups, stem separation, speed changes, export, and voice training. This page walks you through your first song.

Generate your first song

The simplest way is to describe what you want in one line.
bash
You get back a task ID:

Collect the result

Music generation is asynchronous. Query with the task ID:
Once finished, status becomes SUCCESS:
Every run returns two takes so you can pick the one you like. Lyric writing likewise returns two drafts.
To skip polling, pass notify_hook when submitting and we will push the result to your endpoint. The payload matches the query response. To read several tasks at once, use the batch query:
data comes back as an array; each item has the same shape as the data of a single query.

Keep the music_id

The music_id in the result is the handle for everything that follows: extending, covering, stem separation, and export all locate the track by it. Store it alongside your task.

Two ways to call

The example above is the direct form. If you already use the unified task endpoint, this is equivalent in both behaviour and price:
The model name carries only the action; the model version stays in the parameters, so both forms read the same.

Write your own lyrics

Turn custom on and supply full lyrics in prompt. Markers like [Verse] and [Chorus] shape the structure.
With custom off you must supply gpt_description_prompt. With it on you must supply prompt, unless you asked for an instrumental.

Parameters worth knowing

Choosing a version

All three cost the same. Defaults to chirp-v6.

What comes next

Once the first song exists you usually want more: make it longer, try another style, pull out the vocal, export as wav. These actions chain together, and some depend on the order you run them in.

Suno workflow guide

Four common chains, plus the full list of capabilities