MediaTofu

MediaTofuRun FFmpeg in n8n Cloud

Run FFmpeg in n8n Cloud

n8n Cloud does not offer the Execute Command node, so you cannot run a local FFmpeg binary there. Call MediaTofu from an HTTP Request node: POST a job to the API, then use ?wait=25 for short jobs, poll GET /v1/jobs/:id, or receive a webhook on a paid plan.

Get an API keyPricing

Example

POST /v1/tools/compress?wait=25
curl "https://api.mediatofu.com/v1/tools/compress?wait=25" \
  -H "Authorization: Bearer $MEDIATOFU_KEY" \
  -d '{ "input": "https://example.com/clip.mov", "crf": 28 }'

Paste the same JSON into an n8n HTTP Request node: method POST, authentication header Bearer, send body as JSON.

Why Cloud needs an HTTP API

n8n's docs state that Execute Command is available on self-hosted editions and is not available on n8n Cloud. On Cloud there is no shell and no way to install FFmpeg, so an outbound HTTP call to a hosted FFmpeg API is the path that works without changing your n8n image.

Suggested workflow

1) Start from a video URL (prefer a URL over binary data so large files never sit in n8n memory). 2) HTTP Request POST to https://api.mediatofu.com/v1/tools/compress?wait=25 (or /v1/run) with your Bearer key and JSON body. 3) For longer jobs, omit wait and poll GET /v1/jobs/:id, or set webhook_url on a paid plan. 4) Pass the output URL to your next node.

Pricing

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 1 minute, inputs up to 500 MB. Pro: $19/month includes 1,500 minutes, then $0.0127 a minute. Jobs up to 10 minutes, inputs up to 2 GB. Webhooks are included on paid plans.

Sources

Questions

Does n8n Cloud support FFmpeg natively?

No. The Execute Command node is not available on n8n Cloud (see n8n's Execute Command docs). Self-hosted n8n can run shell commands when you install FFmpeg yourself; Cloud users call an HTTP API instead.

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 or one over your plan's size limit. If your command runs and FFmpeg exits with an error, or the job reaches your plan's length limit, the seconds it used count.

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 1 minute, inputs up to 500 MB. Pro: $19/month includes 1,500 minutes, then $0.0127 a minute. Jobs up to 10 minutes, inputs up to 2 GB.