Skip to main content
Entries are dated when a change becomes available, newest first. Subscribe to changelog updates via the status page or by emailing developers@soundpiece.co.uk to be added to the developer mailing list.

2026-10-10 — Loudness presets, a reference client and per-endpoint guides

New fields
  • loudness.preset — on every endpoint that takes a loudness block, name a destination instead of a number: streaming (-14 LUFS), podcast (-16 LUFS) or broadcast (-23 LUFS). A preset’s value is fixed and never changes. Send preset or target_lufs, not both; allow_compression works with either. The operation’s loudness echo carries preset when you named one (and still carries target_lufs, the preset’s value). See loudness.
Documentation
  • The reference client: one small file for Python or JavaScript that submits, waits, retries and downloads, with the details that are easy to get wrong already handled.
  • Production checklist: what every integration should do before it goes live, and why.
  • A guide for every endpoint, under Capabilities: what it does, a complete example in Python, JavaScript and cURL, the result, its errors and limits, how to choose parameters, and its cost. Start with Normalise loudness, which walks through each possible outcome.
  • API Reference examples: every endpoint’s reference page shows example requests and responses, and its code samples include the Authorization header.
  • New API Reference page addresses: /api-reference/<group>/<name>/submit for the PUT and /api-reference/<group>/<name>/poll for the GET, e.g. /api-reference/adapt/normalise_loudness/submit. Old API Reference links redirect to the new pages.

2026-10-09 — Auto-duck

New endpoints New webhook types
  • adapt.auto_duck.ready and adapt.auto_duck.failed, with the result under ducked_audio.
Webhooks
  • New webhook-type header on every delivery, carrying the kind of event (<route>.ready or <route>.failed, e.g. adapt.auto_duck.ready). The body is the same object the matching GET returns, under the same key. See webhooks.
Errors
  • same_source — a 422 when music and voice resolve to the same audio. See errors.
  • error.source — on a failed adapt.auto_duck operation, names the input (music or voice) a source_* error concerns, when it is known.
See Auto-duck for how the mix is levelled and delivered.

2026-10-07 — Loudness normalisation

New endpoints New fields
  • loudness — an optional block on create.new_song, create.new_instrumental, create.remix_song, create.remix_instrumental and adapt.auto_cut_down that normalises every output to a target loudness, at no extra cost. Each ready output then reports the loudness measured on it (lufs, true_peak_dbtp, compressed).
See loudness.

2026-06-10 — Initial release

New endpoints Core features
  • Bearer API key authentication
  • An idempotency_key on every submit, so retries never create work twice
  • Asynchronous operations: submit with PUT, poll the same endpoint with GET (long-polling with wait=true)
  • Webhook callbacks via callback_url, signed per the Standard Webhooks spec (webhook-id, webhook-timestamp and webhook-signature headers, HMAC-SHA256)
  • Results delivered as signed, time-limited FLAC download URLs

Format reference

Each entry uses the following change types: