MediaTofu

Compress, convert and trim video with one API call

Need full control? Run any FFmpeg command.

Get a free key5 minutes a month, no card

Example

clip.mov

64 MB

out.mp4

15 MB

POST /v1/tools/video/compress
{ "input": "https://example.com/clip.mov" }
File sizes here are made up to show the idea. Yours will depend on the video.

Send the command, get a link to the file

Request
curl "https://api.mediatofu.com/v1/tools/video/compress?wait=25" \
  -H "Authorization: Bearer $MEDIATOFU_API_KEY" \
  -d '{ "input": "https://example.com/clip.mov" }'
Response202 Accepted
{
  "id": "job_0123456789abcdef01234567",
  "status": "succeeded",
  "compute_seconds": 6,
  "outputs": [
    {
      "name": "out.mp4",
      "size": 15204877,
      "url": "https://api.mediatofu.com/o/0123456789abcdef0123456789abcdef/job_0123456789abcdef01234567/out.mp4"
    }
  ]
}

Video, audio and image jobs in one API call

Video and audio

Images

Each job runs alone with no internet, then gets deleted. If a job fails on our side, you aren't charged. How jobs run

Pay for compute, by the second

Free

$0

No card needed

Compute
5 minutes a month
Job length
1 minute
Input size
50 MB
Concurrency
1 at once
Webhooks
No
Outputs kept
24 hours
Get a free key

Pay per use

$0.024/ minute

No monthly fee

Compute
By the second
Job length
5 minutes
Input size
2 GB
Concurrency
3 at once
Webhooks
Yes
Outputs kept
7 days
Choose Pay per use

Starter

$9/ month

Billed monthly

Compute
600 minutes a month, then $0.015/min
Job length
5 minutes
Input size
2 GB
Concurrency
3 at once
Webhooks
Yes
Outputs kept
7 days
Choose Starter

Pro

$19/ month

Billed monthly

Compute
1,500 minutes a month, then $0.0127/min
Job length
10 minutes
Input size
2 GB
Concurrency
5 at once
Webhooks
Yes
Outputs kept
7 days
Choose Pro

Upload limits and spending caps are in the docs.

Questions

How does billing work?

Free needs no card. Pay per use is $0.024 per minute of compute with no monthly fee. Starter and Pro are a flat monthly price with compute included, and extra compute is billed by the second.

What counts as compute?

The time FFmpeg spends running your job, rounded up to a whole second. Waiting in the queue and moving files around don't count.

What happens when I reach a limit?

On Free, jobs stop after 5 compute minutes until the next calendar month or until you upgrade. On paid plans, usage past your allowance is billed, and jobs stop if you reach your spending cap for the period, which starts at $25.

Do failed jobs cost anything?

A failure on our side is never charged, and neither is an input we couldn't download or one over your plan's size limit. If FFmpeg runs and exits with an error, or the job reaches your plan's length limit, the seconds it used count.