npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@verygoodffmpeg/n8n-nodes-verygoodffmpeg

v0.2.1

Published

n8n community node for the Very Good FFmpeg transcoding API

Readme

@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