← All guides

Automate video processing workflows with n8n

Use n8n to automate FFmpeg-powered media workflows without running your own video processing infrastructure. Trigger jobs from uploads, forms, CMS updates, or storage events, then send the output into the next step of your automation.

Video walkthroughs

What this integration enables

Combine n8n's workflow automation with FFmpeg Micro's video processing API to build end-to-end media pipelines. No need to manage FFmpeg servers, install codecs, or handle scaling—just trigger jobs from any n8n node and handle the results downstream.

  • Convert videos uploaded to cloud storage into web-ready formats automatically
  • Generate thumbnail images whenever new video content is published
  • Extract audio from video files for podcast feeds or transcription workflows
  • Resize and reformat videos for different platforms (Instagram Reels, YouTube Shorts, TikTok)
  • Trigger batch processing jobs from spreadsheet updates or CMS webhooks

Typical n8n workflow

  1. 1Trigger: A webhook fires when a new video is uploaded to your storage bucket, form submission, or CMS
  2. 2Submit job: An HTTP Request node calls the FFmpeg Micro API with the video URL and processing parameters
  3. 3Wait for completion: FFmpeg Micro processes the video and sends a webhook to your n8n workflow when done
  4. 4Handle result: The completion webhook includes the output URL—download it, upload to final storage, or pass to the next workflow step

Example n8n video workflow

Here's a real workflow: when a podcast episode uploads to Google Drive, automatically extract the audio track, convert it to MP3, and save it to a podcast hosting folder.

Node 1: Google Drive Trigger

Watches a specific folder for new video files

Node 2: HTTP Request to FFmpeg Micro

Submits an audio extraction job with the video file URL

Node 3: Webhook (receives job completion)

FFmpeg Micro calls this webhook when the MP3 is ready

Node 4: Download processed file

Fetches the MP3 from the output URL provided in the webhook payload

Node 5: Upload to podcast hosting

Saves the MP3 to your podcast host via their API or to an S3 bucket

Learn more about audio extraction in our FFmpeg audio extraction recipe.

Request example for n8n HTTP node

In your n8n HTTP Request node, configure it to call the FFmpeg Micro API. Here's a copy-paste example that submits a transcode job:

{
  "method": "POST",
  "url": "https://api.ffmpeg-micro.com/v1/transcodes",
  "headers": {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  "body": {
    "inputs": [{ "url": "https://example.com/video.mp4" }],
    "outputFormat": "mp4"
  }
}

The response includes an id and status: "pending". Use that id to poll for completion in the next n8n step. See the API documentation for the full request and response shape, including how to specify FFmpeg options for thumbnails, audio extraction, and other operations.

Handling async jobs in n8n

Transcode jobs run asynchronously. When you submit a job, the API returns immediately with an id and status: "pending". Processing happens in the background and the job moves through processing to completed (or failed).

To wait for completion in n8n, poll GET /v1/transcodes/{id} with a Wait node between each check. A 5–10 second interval works well for most workloads. Loop until the status is completed or failed, then branch on the status field with an IF node: on success, fetch the output URL; on failure, send a notification or retry.

Tip: For most jobs the response status flips to completed within a minute or two. If your typical input takes longer, increase the Wait node interval to keep n8n execution counts low.

Learn more

Ready to automate your video workflows?

Start with 100 free processing minutes. No credit card required.

Want to learn more about what you can build? Explore the FFmpeg API for complete documentation, code examples, and workflows.