Quickstart
Get an API key and run your first job.
MediaTofu is FFmpeg as an API. Send a video file and get the result back as a download link. The base URL for every request is https://api.mediatofu.com.
1. Get an API key
Sign in at app.mediatofu.com with your email address. We send you a one-time sign-in link, and the first link for a new address creates a Free account. No card is needed.
In the dashboard, open API keys and create a key. The key starts with mt_ and is shown once, so copy it now.
export MEDIATOFU_API_KEY="mt_your_key_here"2. Compress a video
Send a video URL to the compress tool. Swap the example URL for a public video of your own.
curl "https://api.mediatofu.com/v1/tools/compress?wait=25" \
-H "Authorization: Bearer $MEDIATOFU_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "input": "https://example.com/clip.mov" }'?wait=25 holds the request open for up to 25 seconds so a short job can finish in the same response. See Jobs for longer ones.
3. Read the response
This is an example response. Your ids, sizes and times will differ.
{
"id": "job_0123456789abcdef01234567",
"tool": "compress",
"status": "succeeded",
"compute_seconds": 6,
"compute_ms": 5238,
"outputs": [
{
"name": "out.mp4",
"size": 15204877,
"url": "https://api.mediatofu.com/o/0123456789abcdef0123456789abcdef/job_0123456789abcdef01234567/out.mp4"
}
],
"exit_code": 0,
"created_at": "2026-01-15T10:44:51Z",
"finished_at": "2026-01-15T10:45:00Z"
}If status is still queued or running, check again with GET /v1/jobs/:id.
4. Download the output
The URL in outputs is a plain download link. It needs no API key. Set OUTPUT_URL to it, then:
curl -o out.mp4 "$OUTPUT_URL"Next steps
- Tools: the eight jobs you can run without FFmpeg flags.
- Run FFmpeg: send your own FFmpeg command.
- Files and uploads: use a file that isn't at a public URL.
- Plans and limits: compute, job length and file size limits.