Back to Nodes

FFHub

Last updated Oct 25, 2026

n8n node for FFHub - Cloud FFmpeg transcoding service

21 Weekly Downloads
313 Monthly Downloads

Included Nodes

FFHub

Description

@ffhub/n8n-nodes-ffhub

> npm package name: @ffhub/n8n-nodes-ffhub (scoped — enter it exactly like this in n8n)

English | 中文

This is an n8n community node for FFHub – a cloud-based FFmpeg transcoding service.

FFHub lets you run FFmpeg commands in the cloud without managing servers. Simply submit your FFmpeg command and get the output files via URL.

n8n is a fair-code licensed workflow automation platform.

Installation

Follow the installation guide in the n8n community nodes documentation.

In n8n, go to Settings → Community Nodes → Install and enter the full scoped package name:

@ffhub/n8n-nodes-ffhub

Or install it manually:

npm install @ffhub/n8n-nodes-ffhub

Operations

This node supports the following operations:

| Operation | Description |
|———–|————-|
| Create Task | Submit a new FFmpeg transcoding task |
| Get Task | Get status and result of a specific task |
| List Tasks | List all your tasks with optional filters |
| Wait for Completion | Poll until a task completes or fails |

Create Task Options

Create Task has an Options collection (click Add Option) with two entries:

| Option | Sent as | Description |
|——–|———|————-|
| Webhook URL | webhook | URL that receives a callback when the task finishes. This is the only way to skip polling. |
| Include Metadata | with_metadata | Include ffprobe metadata for each output file |

#### Webhook callback body

When the task reaches a terminal state, FFHub sends a POST with a JSON body to your Webhook URL.
The task fields live under data, not at the top level:

{
  "event_id": "01J8X...",
  "type": "task.succeeded",
  "created_at": "2026-01-01T12:00:05Z",
  "data": {
    "task_id": "01J8X...",
    "status": "succeeded",
    "progress": 100,
    "outputs": [
      { "url": "https://storage.ffhub.io/...", "filename": "output.mp4", "size": 1048576 }
    ],
    "error": "",
    "created_at": "2026-01-01T12:00:00Z",
    "finished_at": "2026-01-01T12:00:05Z"
  }
}
  • type is either task.succeeded or task.failed
  • On failure, data.error holds the reason and data.outputs is []
  • In n8n, read the output URL with an expression like {{ $json.body.data.outputs[0].url }}
  • Credentials

    To use this node, you need an FFHub API key:

    1. Sign up at ffhub.io
    2. Go to Dashboard → API Keys
    3. Create a new API key
    4. Use this key in your n8n credentials

    Usage Examples

    Basic Video Compression

    FFmpeg Command:
    ffmpeg -i https://example.com/input.mp4 -c:v libx264 -crf 23 output.mp4
    

    Convert to Different Format

    FFmpeg Command:
    ffmpeg -i https://example.com/input.mov -c:v libx264 -c:a aac output.mp4
    

    Extract Audio

    FFmpeg Command:
    ffmpeg -i https://example.com/video.mp4 -vn -c:a libmp3lame audio.mp3
    

    Create Thumbnail

    FFmpeg Command:
    ffmpeg -i https://example.com/video.mp4 -ss 00:00:05 -vframes 1 thumbnail.jpg
    

    Typical Workflow

    #### A. Polling (single workflow)

    1. Create Task – Submit your FFmpeg command
    2. Wait for Completion – Wait until the task finishes
    3. Use Output – The output contains URLs to your processed files

    The workflow execution stays alive while polling, so this is best for short jobs.

    #### B. Webhook (no polling)

    Long jobs are better split into two workflows, so nothing sits and waits:

    1. Workflow B: add a Webhook node (n8n core, method POST) and copy its Production URL
    2. Workflow A: FFHub → Create Task, set Options → Webhook URL to that URL — the
    workflow ends right away, no waiting
    3. Workflow B runs when FFHub calls back: branch on {{ $json.body.type }}
    (task.succeeded / task.failed) and read the files from {{ $json.body.data.outputs }}

    Note that the n8n Webhook URL must be reachable from the public internet.

    Compatibility

  • n8n version: 1.0.0+
  • Node.js version: 18.0.0+
  • Resources

  • FFHub Documentation
  • FFHub n8n Integration Guide
  • n8n Community Nodes

License

MIT

From our network Other tools and sites we build