Skip to main content
AudioMusic works in two modes, and almost every request belongs to the first.
  • Song — the default. Describe a song (or bring lyrics) and get a finished, mixed track. It honors a requested length, can write the lyrics for you, and returns synced lyrics. It is also the mode for everything that starts from audio you already have.
  • Score-first — for when you want to see and shape the composition itself (melody, chords, sections) before it is recorded. You get an editable score first, change it in plain words as often as you like, and record it when it is right.
There is no single “make music” endpoint: pick the route from the table below.

Routing table

When in doubt, use Song mode.

The Score-first loop

  1. Write a score with /music/v3/plan: either a description (AudioPod writes the lyrics, sized to an optional target_seconds) or your own lyrics with a style. It returns in about ten seconds with a score and no audio.
  2. Revise it with /music/v3/revise: “make the chorus brighter”, “take it down a key”, “simpler melody in bars 5–8”. Each revision is checked so that everything you did not ask to change stays the same, and returns a new score job you can revise again.
  3. Record it with /music/v3/edit when you are happy with it, sending the latest score from GET /music/v3/jobs/{job_id}/score.
Every step is prepaid and refunded if it fails. Song length in Score-first mode follows the amount of lyrics, so target_seconds is a target rather than a promise — use Song mode when you need an exact length.
Plain-English revision (/music/v3/revise) is available when it is enabled for your account — GET /api/v1/music/v3/availability returns "revise": true. Otherwise the route answers 404; you can still write a score and record it.

For agents

The AudioPod MCP server exposes the same choice as tools: generate_music (Song, the default), and compose_music → revise_music_score → record_music_score (Score-first), with get_music_score to read a score for free. See MCP server.