POST /v1/media/audio-convert

Convert audio

MP3, WAV, OGG, FLAC or M4A, at a bitrate you pick.

Change an audio file's format now No key, no code — 5 credits either way.

curl -X POST "$DOATHING_API/v1/media/audio-convert" \
  -H "x-api-key: $DOATHING_KEY" \
  -H "content-type: application/json" \
  -d '{"file": {"filename": "recording.mp3", "content_type": "audio/mpeg", "data_b64": "<base64>"}, "options": {"format": "flac"}}'

MP3, WAV, OGG, FLAC or M4A, at a bitrate you pick.

Transcode audio between mp3, wav, ogg, flac and m4a at a configurable bitrate and sample rate.

Input

Send a file object with base64 data_b64, its content_type and a filename. Accepted types: audio/mpeg, audio/wav, audio/ogg, audio/flac, audio/mp4.

The declared type is not trusted — the bytes are sniffed and a contradiction is rejected rather than corrected.

Response

The result carries your remaining balance alongside it, so you can track spend without a second call.

{
  "format": "flac",
  "duration_seconds": 184.32,
  "channels": 2,
  "sample_rate": 44100,
  "request_id": "37f01edb-0163-42a1-ac51-0acaef979800",
  "credits_remaining": 96
}

Cost

5 credits per call, whether it is run from the site or from the API — the credential differs, the price does not. A new account starts with 20 credits.

A rejected request still costs a credit: the authorizer decrements before the tool validates. A call rejected for a missing or invalid key is free.

Parameters

Generated from the endpoint’s own validation, so this is exactly what it accepts. A body field goes at the top level; an option goes inside options.

NameInTypeDefaultNotes
channelsoptionsinteger1 to downmix to mono, or 2. one of 1, 2
sample_rateoptionsinteger8000, 16000, 22050, 32000, 44100 or 48000. one of 8000, 16000, 22050, 32000, 44100, 48000
formatoptionsstring"mp3"mp3, wav, ogg, flac or m4a. one of mp3, wav, ogg, flac, m4a
bitrateoptionsstringSuch as 192k, for lossy formats. e.g. 64k, 96k, 128k, 160k