Media Conversion API — Free Tier + Pay-As-You-Go
Video and audio conversion API in one endpoint. 27 video + 21 audio formats, FFmpeg-backed, GPU-accelerated.
What it does
The Media Conversion API is a focused surface for video and audio workflows — 27 video formats and 21 audio codecs sharing a single endpoint, single SDK surface, and unified webhook contract. The API auto-detects whether the input is video, audio, or both, and routes to the right FFmpeg pipeline accordingly. Video jobs use H.264, H.265, AV1, VP9, or ProRes encoders with per-job CRF or target-bitrate control, optional two-pass mode, and GPU acceleration (NVENC) on Business tier.
Audio jobs use LAME (MP3), libfdk-aac (AAC), libopus (Opus), libvorbis (OGG), FLAC, or PCM (WAV) encoders with per-job bitrate, sample-rate, and channel control. Mixed jobs — e.g., extracting audio from video, demuxing video without re-encoding — work without explicit mode selection: just specify the target format and the API figures out the right pipeline. Webhook payloads include video-specific metadata (resolution, frame rate, codec, duration) for video outputs and audio-specific metadata (bitrate, sample rate, channels, duration) for audio outputs.
Cloud-to-cloud is supported on both ingress and egress; resumable uploads handle large media files cleanly.
Supported formats
Source formats (27)
- mp4
- mov
- avi
- mkv
- webm
- flv
- wmv
- m4v
- mts
- ts
- 3gp
- vob
- ogv
- f4v
- mpg
- mpeg
- mxf
- mp3
- wav
- flac
- aac
- ogg
- m4a
- aiff
- alac
- amr
- opus
Target formats (13)
- mp4
- webm
- mov
- mkv
- avi
- gif
- mp3
- wav
- flac
- aac
- ogg
- m4a
- opus
Quick start
All three SDK languages show the same conversion: a single POST to /v1/convert with your API key in the X-Api-Key header.
curl -X POST https://api.convertintomp4.com/v1/convert \
-H "X-Api-Key: ck_your_api_key" \
-F "file=@input.mp4" \
-F "target=mp3"import { ConvertIntoMP4 } from "@convertintomp4/sdk";
import fs from "node:fs";
const client = new ConvertIntoMP4({ apiKey: process.env.CIM4_API_KEY });
const job = await client.convert({
file: fs.createReadStream("input.mp4"),
target: "mp3",
});
const result = await client.waitForJob(job.id);
console.log("Output URL:", result.outputUrl);from convertintomp4 import Client
client = Client(api_key="ck_your_api_key")
with open("input.mp4", "rb") as f:
job = client.convert(file=f, target="mp3")
result = client.wait_for_job(job.id)
print("Output URL:", result.output_url)Features
- 27 video formats + 21 audio codecs
- Single endpoint for video, audio, and cross-format jobs
- GPU acceleration (NVENC) on Business
- FFmpeg with two-pass encoding and CRF/bitrate control
- Cloud-to-cloud workflows for large media
- Resumable multipart uploads
- Webhook payloads with media-specific metadata
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
Should I use the Media Conversion API or the Video / Audio APIs directly?
Use the Media Conversion API when you handle both audio and video in the same pipeline (e.g., a podcast platform that ingests both raw audio and video-with-talking-heads). Use the Video API or Audio API when you exclusively handle one or the other and want the format-specific parameter surface documented more thoroughly.
Is GPU acceleration always faster?
For H.264 and H.265 encoding at typical web bitrates — yes, 3-5× faster than CPU. For complex filters (denoising, scaling, color grading), CPU is sometimes faster because GPU paths can't pipeline all FFmpeg filters efficiently. The API auto-picks the optimal path; pass `forceCpu=true` to override.
What's the difference between Opus and AAC at the same bitrate?
Opus is roughly 30-50% more efficient than AAC at low bitrates (under 96 kbps) and roughly equivalent at high bitrates. Opus is the modern recommendation for any new audio pipeline; AAC remains relevant for Apple ecosystem compatibility (iTunes, podcast distribution).
Can I crop / trim / rotate as part of conversion?
Yes. Pass `crop=W:H:X:Y`, `trim=start:end`, `rotate=90|180|270` as part of the request. These run in the same FFmpeg pass as the codec transcode — no separate job required. Combine multiple operations freely (crop + trim + rotate in one request).
Is there a difference in quality between this API and FFmpeg locally?
No — the underlying encoder is the same FFmpeg binary. The API just provides hosted infrastructure, GPU access, resumable uploads, webhook orchestration, and 9 language SDKs around the encoder. For maximum reproducibility, every job logs the exact FFmpeg command used in the response's `engineCommand` field.
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.
Or browse the full catalogue of 23 API products →
Get an API key
Start integrating the Media Conversion API in five minutes. Read the docs, grab a key, and ship your first conversion before the trial coffee cools.