- Integrations
- n8n
n8n
Run FFmpeg jobs in n8n workflows with the Very Good FFmpeg community node.
Use the Very Good FFmpeg n8n node to run FFmpeg jobs, upload files, and receive job completion events in n8n workflows. The node is published on npm as @verygoodffmpeg/n8n-nodes-verygoodffmpeg.
Setup
The node is verified by n8n and works on both n8n Cloud and self-hosted instances.
- Create an API key in the Very Good FFmpeg dashboard.
- On n8n Cloud, install the node from the nodes panel by searching for Very Good FFmpeg.
On self-hosted, go to Settings > Community Nodes > Install and enter
@verygoodffmpeg/n8n-nodes-verygoodffmpeg. - Add a Very Good FFmpeg API credential and paste your API key. Leave Base URL empty.
If Community Nodes is missing from settings, your instance has community nodes disabled.
Set the N8N_COMMUNITY_PACKAGES_ENABLED environment variable to true (it is on by default).
Credentials
- Create an account and API key at verygoodffmpeg.com.
- In n8n, add a Very Good FFmpeg API credential and paste the key. Leave Base URL empty.
Operations
The Very Good FFmpeg node provides:
- Job > Run: submit an FFmpeg job with named input URLs, output filenames, and FFmpeg command lines.
- Job > Get: fetch one job by ID, including status and output file URLs.
- Job > List: list recent jobs with limit and offset paging.
- Job > Cancel: cancel a queued or running job.
- File > Upload: upload binary data from the workflow and get back a URL usable as a job input.
The Very Good FFmpeg Trigger node is a webhook trigger that fires when a job finishes.
Example: trim a video to 5 seconds
- Add a Very Good FFmpeg node, Job > Run:
- Input Files: key
input.mp4, URLhttps://storage.verygoodffmpeg.com/sample.mp4 - Output Files:
output.mp4 - FFmpeg Commands:
-i inputs/input.mp4 -t 5 outputs/output.mp4 - Wait for Completion: on (fine for short jobs)
- Input Files: key
- Execute. The output item contains
status: "succeeded"andoutput_files["output.mp4"], a download URL for the result.
Reference inputs as inputs/<name> and outputs as outputs/<name>, using the names you
set in Input Files and Output Files. Multiple commands run in order in the same workspace.
Long jobs without blocking
n8n executions time out on long transcodes, so run anything substantial asynchronously:
- Add a Very Good FFmpeg Trigger to a workflow and copy its production webhook URL.
- In Job > Run, paste that URL into Webhook URL and leave Wait for Completion off.
- The run node returns immediately with the queued job. When the job completes, the trigger workflow receives the full job object, including output URLs.
Working with binary data
Files already in your workflow (from HTTP Request, Google Drive, etc.) can be sent through
File > Upload. It uploads the item's binary property to temporary storage and returns a
download_url to use as a Job > Run input.
Use with AI Agents and MCP
Both nodes are marked usableAsTool. Attach the Very Good FFmpeg node to an AI Agent
node as a tool, or expose it to external MCP clients via n8n's MCP Server Trigger. Each
operation surfaces as a callable tool.
Errors
API failures surface as standard n8n node errors with the HTTP status and the API's message
(e.g. 402: Add credit before submitting another job). Use n8n's On Error node settings
for retry and continue behavior.