Audio Conversion API — Free Tier + Pay-As-You-Go
Programmatic audio conversion for MP3, WAV, FLAC, AAC, OGG, M4A and 19 more codecs. Bitrate, sample-rate, and channel control.
What it does
The Audio Conversion API handles 21 source codecs and outputs MP3, WAV, FLAC, AAC, OGG Vorbis, OGG Opus, M4A, AIFF, ALAC, AMR, and WMA. Each request supports per-job bitrate (CBR or VBR), sample rate (8 kHz to 192 kHz), channel count, fade in/out, normalisation, gain adjustment, reverse playback, and metadata tag preservation across ID3v1, ID3v2, Vorbis Comments, and APE. Voice-grade compression presets generate sub-32 kbps mono outputs for transcription pipelines, while lossless presets emit 24-bit FLAC and ALAC for archival workflows.
The pipeline is FFmpeg-backed with chained filters validated server-side so user input never reaches the shell. Output URLs are signed, expire after the retention window (1h on Free, 24h on Pro, 7d on Business), and can be flushed immediately via the DELETE endpoint. Webhooks include the output's duration, bitrate, codec, and file size so downstream services can act on the result without re-downloading.
The endpoint is identical to `/v1/convert` — only the accepted formats and codec parameters change — and shares the same idempotency, rate-limiting, and authentication model as the Video and Image APIs.
Supported formats
Source formats (21)
- mp3
- wav
- flac
- aac
- ogg
- m4a
- aiff
- alac
- amr
- wma
- opus
- wv
- ac3
- ape
- dts
- mka
- tta
- voc
- aif
- au
- ra
Target formats (10)
- mp3
- wav
- flac
- aac
- ogg
- m4a
- opus
- aiff
- alac
- amr
Quick start
Every sample posts the job, then polls /v1/status/{jobId} until it finishes, with your API key in the X-Api-Key header. The parameter names below are the ones the endpoint actually accepts — anything else is dropped rather than rejected.
curl -X POST https://api.convertintomp4.com/v1/convert \
-H "X-Api-Key: ck_your_api_key" \
-F "file=@input.wav" \
-F "targetFormat=mp3"
-F "audioBitrate=192k" \
-F "sampleRate=44100"import { readFileSync } from "node:fs";
import { ConvertIntoMP4Client } from "convertintomp4";
const apiKey = process.env.CIM4_API_KEY;
const client = new ConvertIntoMP4Client({ apiKey });
// Presigned direct-to-R2 upload, then queue the conversion.
const { jobId } = await client.uploadDirect(
readFileSync("input.wav"),
"input.wav",
"application/octet-stream",
{ targetFormat: "mp3" },
);
// Poll until the job reaches a terminal state.
let job;
do {
await new Promise((r) => setTimeout(r, 2000));
job = await fetch(`https://api.convertintomp4.com/v1/status/${jobId}`, {
headers: { "X-Api-Key": apiKey },
}).then((r) => r.json());
} while (job.status !== "completed" && job.status !== "failed");
console.log("Download URL:", job.result?.downloadUrl);import time, requests
from convertintomp4 import Client
api_key = "ck_your_api_key"
client = Client(api_key=api_key)
# Presigned direct-to-R2 upload, then queue the conversion.
with open("input.wav", "rb") as f:
job = client.upload_direct(
f, "input.wav", "application/octet-stream", "mp3"
)
# Poll until the job reaches a terminal state.
while True:
status = requests.get(
f"https://api.convertintomp4.com/v1/status/{job['jobId']}",
headers={"X-Api-Key": api_key},
).json()
if status["status"] in ("completed", "failed"):
break
time.sleep(2)
print("Download URL:", status.get("result", {}).get("downloadUrl"))Features
- 21 source codecs, 10 target codecs
- Per-job bitrate, sample rate, channels
- Lossless (FLAC, ALAC, WAV) and lossy (MP3, AAC, Opus) outputs
- Metadata preservation across ID3v2 / Vorbis / APE
- Audio normalisation, fade, reverse, gain control
- Voice-grade compression presets for transcription
- Same idempotency + webhook model as Video API
Pricing
From $9.99/mo (Pro) or $24.99/mo (Business) — or pay-as-you-go on the API plan.
Free tier: 5 conversions/day, 100 MB file size, no API key required (IP-gated). Pro $9.99/mo: 100/day (2,000/month), 2 GB files. Business $24.99/mo: 1,000/day (20,000/month), 10 GB files, GPU encoding, dedicated support.
See full pricing breakdown →Built for production
99.9% uptime SLA
Multi-region failover, transparent status page, 60-second response-time guarantee on Business.
Encryption + auto-delete
TLS 1.2+ in transit, AES-256 at rest. Files deleted after 1h / 24h / 7d depending on plan, or instantly via DELETE endpoint. See the security page.
~7s median latency
Most sub-100 MB jobs complete in 6-9 seconds. Webhook-driven async for heavier workloads; waitForJob for synchronous flows.
Frequently Asked Questions
What's the difference between MP3 CBR and VBR via the API?
There is no `bitrateMode` switch — you choose by which field you send. `bitrate=192k` pins a constant bitrate for a predictable file size; leaving it out lets the encoder run in its variable-bitrate mode, which gives better quality at a lower average bitrate. `audioQuality` carries the VBR level where the encoder supports one.
Can I extract audio from a video file?
Yes — POST a video file with `target` set to an audio format (mp3, wav, flac, etc.) and the API will demux and re-encode the audio stream. No need to call a separate endpoint.
Is metadata preserved during conversion?
By default yes — ID3v1, ID3v2.3/2.4, Vorbis Comments, and APE tags carry across when the target format supports them. Set `stripMetadata=true` to strip all tags for privacy-sensitive pipelines.
What sample rates are supported?
Set `sampleRate` to any rate from 8 kHz (telephony) to 192 kHz (studio) and FFmpeg's swresample handles the conversion. The resampler itself is not selectable — there is no `resampler` parameter, so every plan gets the same swresample path.
How do I detect clipping on a lossy → lossless conversion?
No. There is no clipping analysis and no `clippingDetected` field on the job response — the API converts, it does not report on the signal. What it can do is prevent clipping you would otherwise introduce: `normalize` applies loudness normalisation and `peakNormalize` with `peakTarget` keeps the peak under a ceiling. Detection has to happen on your side.
Related APIs
- File Conversion APIOne unified file conversion API for video, audio, image, document, ebook, archive, and font formats — 255 formats, 2,290+ conversion pairs.
- Convert APIProduction-grade file conversion API with 9 language SDKs, async webhooks, and cloud-to-cloud workflows. Free tier available.
- Media Conversion APIVideo and audio conversion API in one endpoint. 27 video + 21 audio formats, FFmpeg-backed, GPU-accelerated.
Or browse the full catalogue of 23 API products →
Get an API key
Start integrating the Audio Conversion API in five minutes. Read the docs, grab a key, and ship your first conversion before the trial coffee cools.