Video Conversion API โ Free Tier + Pay-As-You-Go
Convert MP4, MOV, AVI, MKV, WebM, FLV and 22 more video formats programmatically. GPU-accelerated, 4K-ready, FFmpeg-backed.
What it does
The Video Conversion API converts between 27 input formats and outputs MP4 (H.264/H.265/AV1), WebM (VP9/AV1), MOV (ProRes), MKV, AVI, GIF, and animated WebP. Each job is processed on FFmpeg with optional two-pass encoding, hardware acceleration when available, and per-codec controls for bitrate, frame rate, resolution, audio track selection, deinterlacing, rotation, trimming, and burned-in subtitles. Codec selection is automatic by default but can be pinned per request via the `engine` and `codec` parameters.
Files up to 10 GB are supported on the Business plan; larger payloads use resumable S3 multipart uploads. Async webhooks fire on completion with the output URL, file size, duration, and codec metadata. Cloud-to-cloud workflows pull from S3, GCS, Azure Blob, or a signed URL and push results back to S3, GCS, Azure, SFTP, or Google Drive without ever passing the bytes through your servers.
The endpoint is fully idempotent and returns deterministic job IDs so retries are safe. Conversion typically completes in 6-9 seconds for sub-100 MB clips on standard hardware, and the queue scales horizontally so peak throughput is constrained only by your plan's per-minute rate limit.
Supported formats
Source formats (27)
- mp4
- mov
- avi
- mkv
- webm
- flv
- wmv
- m4v
- mts
- m2ts
- ts
- 3gp
- 3g2
- asf
- rm
- rmvb
- vob
- ogv
- f4v
- mpg
- mpeg
- mxf
- y4m
- dv
- hevc
- h264
- h265
Target formats (10)
- mp4
- webm
- mov
- mkv
- avi
- gif
- webp
- mp3
- wav
- flac
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.mov" \
-F "target=mp4"
-F "videoCodec=h264" \
-F "videoBitrate=4000k"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.mov"),
target: "mp4",
});
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.mov", "rb") as f:
job = client.convert(file=f, target="mp4")
result = client.wait_for_job(job.id)
print("Output URL:", result.output_url)Features
- Webhook callbacks on job.completed / job.failed
- S3, GCS, Azure Blob, SFTP, Google Drive I/O
- Resumable multipart uploads for files >50 MB
- Two-pass H.264/H.265/AV1 encoding
- Per-job codec, bitrate, fps, resolution, and trim controls
- Deterministic idempotency keys for safe retries
- Sync waitFor mode or async polling via job ID
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 video codecs are supported?
H.264, H.265 (HEVC), AV1, VP9, ProRes (422/4444), DNxHD, MPEG-2, MPEG-4, Theora, and the legacy DV codec. Codec is picked automatically based on the target container, or pinned via the `videoCodec` parameter.
How large can input videos be?
200 MB on Free, 2 GB on Pro, 10 GB on Business. Files over 50 MB upload via resumable S3 multipart, so a dropped connection retries from the last completed part rather than restarting from zero.
How long does a video conversion take?
Most sub-100 MB conversions complete in 6-9 seconds end-to-end. A 1-hour 4K H.265 โ 1080p H.264 re-encode typically finishes in 4-7 minutes depending on bitrate and source complexity.
Can the API extract audio from a video?
Yes. Set `target` to mp3, wav, flac, aac, m4a, or ogg and the API extracts the audio stream into the requested codec. Re-encoding parameters (bitrate, sample rate, channels) are passed through to FFmpeg.
Is GPU acceleration available?
GPU encoding via NVENC is available on the Business plan for H.264 and H.265 outputs. Falls back to CPU encoding automatically when GPU capacity is saturated.
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 Video Conversion API in five minutes. Read the docs, grab a key, and ship your first conversion before the trial coffee cools.