MediaTofu

MediaTofuConvert an image with one API call

Convert an image with one API call

POST /v1/tools/image/convert with a required format of webp, avif, jpeg, png, or gif. Inputs up to 20 MB and 100 megapixels. Animated GIF and WebP stay animated when the output format supports it.

Get an API keyPricing

Example

POST /v1/tools/image/convert?wait=25
curl "https://api.mediatofu.com/v1/tools/image/convert?wait=25" \
  -H "Authorization: Bearer $MEDIATOFU_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "input": "https://example.com/photo.png", "format": "webp" }'

With ?wait=25 a short job can return its result in the same request. Short jobs typically take about 5–15 seconds including container start. Leave wait off and poll GET /v1/jobs/:id, or pass webhook_url on a paid plan.

Formats

format is required. AVIF is limited to 1,200 pixels on a side; a large AVIF can come back as WebP or JPEG instead, and the output name matches what you received.

Billing

Counts as 3 compute seconds. Unreadable inputs are not charged.

Questions

How are image jobs billed?

Image tools share the same compute meter as video. A standard image job counts as 3 compute seconds (info is 1; background removal is 12). An image that cannot be read is not charged. At Pay-per-use rates that is about $1.20 per 1,000 standard images or $4.80 per 1,000 background removals; Starter overage is about $0.75 / $3.00 per 1,000; Pro overage is about $0.64 / $2.54 per 1,000. Included compute covers about 100 / 12,000 / 30,000 standard images a month on Free / Starter / Pro (or 25 / 3,000 / 7,500 removals).

How do I get the result?

Add ?wait=25 and a short job can return its result in the same request. Short jobs typically take about 5–15 seconds including container start. 25 seconds is the longest wait. Otherwise you get a job id to check with GET /v1/jobs/:id, or on a paid plan you can pass webhook_url and we POST the result to you.

Do failed jobs cost anything?

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

What does MediaTofu cost?

Free: $0, 5 minutes of compute a month, jobs up to 1 minute, inputs up to 50 MB, 1 job at a time. Pay per use: $0.024 per compute minute, billed by the second, no monthly fee. Jobs up to 5 minutes, inputs up to 2 GB, 3 jobs at once. Starter: $9/month includes 600 minutes, then $0.015 a minute. Jobs up to 5 minutes, inputs up to 2 GB. Pro: $19/month includes 1,500 minutes, then $0.0127 a minute. Jobs up to 10 minutes, inputs up to 2 GB.