Very Good FFmpeg
How it worksPricingDocsBlog
Documentation
API Reference
Documentation
Documentation
Getting Started
Fundamentals
Advanced Topics
Integrations
TypeScript SDKPython SDKMCP ServerMaken8n
Integrations
  1. Integrations
  2. 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.

Setup

The node currently requires a self-hosted n8n instance. It has been submitted for n8n verification and will be available to n8n Cloud users once approved.

  1. Create an API key in the Very Good FFmpeg dashboard.
  2. In n8n, go to Settings > Community Nodes > Install and enter @verygoodffmpeg/n8n-nodes-verygoodffmpeg.
  3. 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).

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

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

Reference inputs and outputs in commands by their placeholder names in double braces. 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:

  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 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.

Running Commands

Learn request shape, file templates, and output files.

Webhooks

Receive job completion and failure events.

Make

Build Make scenarios with the Very Good FFmpeg app.

On this page

SetupOperationsExample: trim a video to 5 secondsLong jobs without blockingWorking with binary dataUse with AI Agents and MCPErrors