POST /v1/assets/upload

Upload audio — get a reusable asset_id

Upload raw audio bytes to receive an `asset_id` that can be referenced on any POST processing endpoint. Supports MP3, WAV, FLAC, OGG, M4A (and any other ffmpeg-supported format). Maximum upload: 15 MB on BASIC tier, 50 MB on PRO. **Zero credits charged** — this call only stores the audio. Credits are consumed when you call a processing endpoint with the returned `asset_id`. **SHA-256 deduplication**: uploading the same bytes twice (same owner) returns the existing `asset_id`. It is safe to call this unconditionally before each processing batch. **Asset TTL**: 24 hours on BASIC, 7 days on PRO. Assets expire automatically — no manual deletion is required.

Request Body

Content type: audio/* · required

Example request

cURL
curl https://api.brizm.dev/v1/assets/upload \
  -H "Authorization: Bearer tl_live_xxx"

Responses

201 — Asset stored. Returns asset_id, SHA-256, size, and expiry.

401 — Unauthorized

413 — Upload exceeds tier size limit (15 MB BASIC / 50 MB PRO)

415 — Unsupported media type — must be audio/* or application/octet-stream