Breaking and behaviour-affecting changes to the MusicAPI HTTP API, newest first.Cosmetic and additive-only changes are not listed here. If a change can alter
what your integration receives, it belongs on this page.Want these by email? Write to support@musicapi.ai with the subject
changelog and the account you integrate with, and we will send a short notice
before changes of this kind.
2026-09-07 — state: "succeeded" now means the MP3 exists#
Affects: GET /api/v1/sonic/task/{task_id}A clip could previously report state: "succeeded" while audio_url still held
the live preview stream rather than the finished file. Callers that polled until
succeeded and then downloaded got audio that plays but never completes.A clip now reports state: "running" until a real MP3 exists.state: "succeeded" is the authoritative completion signal.
On a succeeded clip, audio_url is the final MP3 on our own CDN.
While rendering, stream_audio_url carries the preview and is absent once
the clip is finished.
What to check: if you poll until succeeded and act immediately, you will
now wait slightly longer and receive a finished file. If you relied on
succeeded appearing early to start playback, read stream_audio_url instead.
2026-09-07 — rejected uploads now return the reason#
Affects: POST /api/v1/sonic/uploadA rejected upload could return Upload request failed (HTTP 400) with no
reason, while the same underlying rejection returned a descriptive message on a
different code path. Which one you got depended on the MP3 header, not on the
cause.The reason is now returned consistently — for example Invalid audio file
instead of the generic wording. The HTTP status is unchanged.
2026-09-06 — live preview stream is served from our domain#
Affects: GET /api/v1/sonic/task/{task_id}, song.streaming webhooksSuno moved the preview stream that plays while a clip renders to a new host on
2026-09-05. It is now relayed through our own domain rather than that host being
passed through to you:https://api.musicapi.ai/api/v1/stream/{clip_id}
The response is audio/mpeg and readable cross-origin. If you allowlist hosts,
add api.musicapi.ai. Final MP3s are unaffected and remain on our CDN.
2026-09-02 — POST /api/v1/sonic/download added#
Additive. Returns a stored MP3, M4A or WAV for a clip you have already
generated. Existing endpoints are unchanged. Modified at 2026-09-07 14:20:34