Back to Nodes

Very Good FFmpeg

Last updated Aug 30, 2026

n8n community node for the Very Good FFmpeg transcoding API

225 Weekly Downloads
314 Monthly Downloads

Included Nodes

Very Good FFmpeg
Very Good FFmpeg Trigger

Description

@verygoodffmpeg/n8n-nodes-verygoodffmpeg

Run FFmpeg jobs in the cloud from your n8n workflows, using the Very Good FFmpeg API. Transcode, trim, resize, and convert video and audio without hosting FFmpeg yourself, on CPU or NVIDIA GPU machines.

This package is an officially verified n8n community node. See its n8n integration page for more information.

Installation

n8n Cloud / verified: search for “Very Good FFmpeg” in the nodes panel and install from there.

Self-hosted: go to Settings > Community Nodes > Install and enter @verygoodffmpeg/n8n-nodes-verygoodffmpeg.

Credentials

1. Create an account and API key at verygoodffmpeg.com.
2. In n8n, add a Very Good FFmpeg API credential and paste the key. Leave Base URL empty.

Operations

Very Good FFmpeg

| Resource | Operation | Description |
|—|—|—|
| Job | Run | Submit an FFmpeg job: named input URLs, output filenames, and FFmpeg command lines |
| Job | Get | Fetch a job by ID (status, output file URLs) |
| Job | List | List recent jobs with limit/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 |

Very Good FFmpeg Trigger

A webhook trigger that fires when a job finishes. Copy the trigger’s webhook URL into the Webhook URL field of a Job > Run operation. When the job completes, the full job object will arrive as the trigger output.

Referencing files in commands

Inputs are downloaded into an inputs directory and outputs are collected from an outputs
directory, so commands reference files by plain path: an input keyed input.mp4 is
inputs/input.mp4, and an output named output.wav is outputs/output.wav.

-i inputs/input.mp4 -vn outputs/output.wav

See File Reference Styles for more.

Example: trim a video to 5 seconds

1. Add a Very Good FFmpeg node, Job > Run:
Input Files: key input.mp4, URL https://storage.verygoodffmpeg.com/sample.mp4 (any public URL works)
Output Files: output.mp4
FFmpeg Commands: -i inputs/input.mp4 -t 5 outputs/output.mp4
Wait for Completion: on (fine for short jobs)
2. Execute. The output item will contain status: "succeeded" and output_files["output.mp4"], a download URL for the result.

Multiple commands run in order in the same workspace, so a later command can read a file an
earlier one wrote.

Example: long jobs without blocking

n8n executions time out on long transcodes, so run anything substantial asynchronously:

1. Add a Very Good FFmpeg Trigger to a workflow and copy its production webhook URL.
2. In Job > Run, paste that URL into Webhook URL and leave Wait for Completion off.
3. The run node will return immediately with the queued job. When the job completes, the trigger workflow will receive 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 (Claude, Cursor, etc.) via n8n’s MCP Server Trigger. Each operation will surface 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/continue behavior.

Development

Contributions welcome. See DEVELOPMENT.md for local setup and the test suites.

License

MIT