Skip to main content
PUT
cURL

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
idempotency_key
string<uuid>
required

A unique UUID you choose. Send the same key to retry safely; we'll return the original response without doing the work again.

Example:

"3f2b8c1e-9d4a-4e7b-b6c5-1a2d3e4f5a6b"

source
AudioSource · object
required

The audio source to operate on.

target_duration
number
required

The desired output duration in seconds. This is a target, not an exact length — the result may be slightly shorter or longer to land on a natural cut point. Must be between 5 seconds and 5 minutes (enforced up front; out of range is a 422), and at most twice the source duration. Because the source duration is only known after the source is fetched and decoded, exceeding twice the source surfaces asynchronously as a failed operation with target_duration_too_long. See errors.

Required range: 5 <= x <= 300
callback_url
string<uri> | null

Optional HTTPS URL we'll POST the final response to when the operation reaches ready or failed. Polling remains the canonical source of truth; webhooks are a best-effort latency optimisation.

Required string length: 1 - 2048
Example:

"https://example.com/webhooks/soundpiece"

loudness
Target · object

A target loudness to normalise audio to. Every field has a default, so {} asks for the defaults: -14 LUFS, compression allowed.

Response

Successful Response

auto_cut
AutoCut · object
required