Compress videos in n8n with FFHub and cloud FFmpeg
Description and use
Automate video compression in n8n using FFHub: submit a task, poll for completion, check status, and retrieve the output URL.
Problem
Automating video compression in n8n requires submitting a job, polling for completion, handling failures, and passing the result to downstream steps.
Outcome
The workflow automates video compression, handles polling and error checking, and outputs a direct URL to the compressed file, enabling downstream storage or further processing.
Workflow
- Install the @ffhub/n8n-nodes-ffhub community node and create FFHub API credentials
- Add a Manual Trigger node
- Add an FFHub node (Create Task) with the FFmpeg command and input URL
- Add a second FFHub node (Wait for Completion) using the task_id expression
- Add an IF node to check if status equals "succeeded"
- On true branch: use {{ $json.outputs[0].url }} as the output URL
- On false branch: inspect status and error fields for troubleshooting
Evidence
This walkthrough uses the FFHub community node to do that in n8n. FFmpeg runs on FFHub's infrastructure, so you don't need to install it on your n8n server.
Add a second FFHub node and choose Wait for Completion. Set Task ID to this n8n expression: {{ $json.task_id }}
- Record date: 2026-09-21T12:45:23.739Z