ffmpegzapiervideo-processingautomationno-code

How to Use FFmpeg with Zapier (Video Processing Automation)

·Javid Jamae·8 min read
How to Use FFmpeg with Zapier (Video Processing Automation)

Zapier doesn't support FFmpeg. You can't install binaries, run shell commands, or execute video processing natively in a Zap. If you've tried, you've probably hit the same wall everyone else does.

But Zapier can make HTTP requests. And that's all you need.

By calling FFmpeg Micro's REST API from a Zapier webhook action, you can transcode, compress, convert, and manipulate video as part of any Zap. No server. No FFmpeg installation. No custom code beyond a simple HTTP call.

This guide shows you how to build a complete Zapier video processing workflow from scratch.

Why Zapier Can't Run FFmpeg Natively

Zapier runs your automations on managed infrastructure you don't control. There's no terminal, no filesystem access, and no way to install packages. FFmpeg is a compiled binary that needs to run on a machine with access to the file system.

This is different from tools like n8n (self-hosted) where you could technically install FFmpeg on the host machine and use an Execute Command node. Zapier is fully managed, so you're limited to what their built-in actions and HTTP modules can reach.

Competitors like Creatomate and Rendi solve this by offering native Zapier integrations (pre-built actions in the Zapier marketplace). FFmpeg Micro takes a different approach: a simple REST API that works with Zapier's built-in Webhooks action. No marketplace dependency, no waiting for app approvals, and full control over every parameter.

What You Need

  • A Zapier account (free tier works for testing)
  • An FFmpeg Micro API key (sign up at ffmpeg-micro.com)
  • A video URL to process (any publicly accessible URL works)

Building a Video Processing Zap

The core pattern is simple: trigger fires, Zapier calls FFmpeg Micro's API, video gets processed. The trigger can be anything: a new file in Google Drive, a row in a spreadsheet, a form submission, a Slack message.

We'll build a Zap that processes a video whenever a new file appears in a Google Drive folder.

Step 1: Set Up the Trigger

Add a Google Drive > New File in Folder trigger. Pick the folder where you'll drop videos. Zapier will fire the Zap whenever a new file lands there.

The trigger gives you the file's direct download URL. You'll pass this to FFmpeg Micro.

Step 2: Transcode the Video

Add a Webhooks by Zapier > Custom Request action with these settings:

  • Method: POST
  • URL: https://api.ffmpeg-micro.com/v1/transcodes
  • Headers:
  • Body:
{
  "inputs": [{"url": "{{Google Drive file URL}}"}],
  "outputFormat": "mp4",
  "preset": {
    "quality": "high",
    "resolution": "1080p"
  }
}

The inputs field takes an array of objects, each with a url property. For single-video operations, you'll pass one URL. The API also supports up to 10 inputs for concatenation workflows.

The preset field controls output quality. Valid quality values are low, medium, and high (mapping to CRF 28, 23, and 18). Resolution options are 480p, 720p, 1080p, and 4k.

This returns a job object with an id and status of queued.

Step 3: Wait for Processing

Add a Delay by Zapier step. Set it to wait 30-60 seconds depending on your typical video length. Short clips (under 2 minutes) usually finish in 10-20 seconds. Longer videos take more time.

Then add another Webhooks by Zapier > Custom Request to check the job status:

  • Method: GET
  • URL: https://api.ffmpeg-micro.com/v1/transcodes/{{job id from Step 2}}
  • Headers:

The response includes a status field. When it reads completed, the video is ready.

Step 4: Download the Result

Add one more Webhooks by Zapier > Custom Request:

  • Method: GET
  • URL: https://api.ffmpeg-micro.com/v1/transcodes/{{job id}}/download
  • Headers:

This returns a signed download URL for the processed video. You can pass it to another Zapier step to upload the file to S3, send it via email, post it to Slack, or store it back in Google Drive.

Example Zap: Convert Video and Upload to S3

A practical Zap for content teams:

  1. Trigger: New file in Google Drive /raw-videos/ folder
  2. Action 1: POST to FFmpeg Micro /v1/transcodes to convert to MP4 at 720p
  3. Action 2: Delay 45 seconds
  4. Action 3: GET job status from /v1/transcodes/{{id}}
  5. Action 4: GET download URL from /v1/transcodes/{{id}}/download
  6. Action 5: Upload to Amazon S3 using the download URL

The whole Zap runs without any code, servers, or manual intervention.

Using Advanced FFmpeg Options in Zapier

The preset approach works for common operations. But if you need fine-grained control, you can pass raw FFmpeg options through the API:

{
  "inputs": [{"url": "https://your-cdn.com/video.mov"}],
  "outputFormat": "webm",
  "options": [
    {"option": "-c:v", "argument": "libvpx-vp9"},
    {"option": "-crf", "argument": "30"},
    {"option": "-b:v", "argument": "0"},
    {"option": "-c:a", "argument": "libopus"}
  ]
}

This gives you the same flexibility as running FFmpeg on the command line, but from a Zapier webhook. You can set specific codecs, bitrates, filters, and encoding parameters.

Common Pitfalls

Private video URLs won't work. The video URL you pass to FFmpeg Micro must be publicly accessible (or a presigned URL). Google Drive's default sharing links don't always work. Use the direct download format: https://drive.google.com/uc?export=download&id=FILE_ID.

Zapier's webhook timeout. Zapier webhook actions time out after 30 seconds. FFmpeg Micro's transcode endpoint returns immediately with a job ID (it doesn't wait for processing to finish), so timeouts aren't an issue for the initial request. But the status polling step needs a delay before it, or you'll get processing instead of completed.

JSON formatting. Zapier's Custom Request body field expects valid JSON. Double-check your curly braces and quotes. A common mistake is leaving template variables unquoted or missing a comma between fields.

File size limits. FFmpeg Micro accepts files up to 2GB via direct upload and has no size limit on URL-based inputs (as long as the file is downloadable). For very large files, the processing time will increase, so adjust your delay step accordingly.

FFmpeg Micro vs. Other Zapier Video Tools

FeatureFFmpeg MicroCreatomateRendi
Zapier integrationWebhooks (API)Native appNative app
Custom FFmpeg commandsYes (full control)No (templates only)Limited
PricingPay per minute processedPer-render pricingPer-minute pricing
Output formatsMP4, WebM, MOV, AVI, MKV, MP3, WAV, and moreMP4, GIF, PNGMP4, GIF
Upload supportDirect upload + URL inputURL inputURL input

Creatomate and Rendi have the convenience of native Zapier apps, which means less setup. But they also lock you into their template systems with limited control over encoding parameters. FFmpeg Micro's API approach gives you the same FFmpeg power you'd have on the command line.

FAQ

Can I use Zapier's free plan for video processing?

Yes. Zapier's free plan supports webhooks and multi-step Zaps with limitations on the number of tasks per month. The FFmpeg Micro API call counts as one Zapier task. Processing costs are billed separately through FFmpeg Micro.

How long does video processing take?

It depends on the video length and the operation. A 1-minute video typically transcodes in 3-10 seconds. Compressing a 10-minute video might take 30-60 seconds. FFmpeg Micro processes videos on auto-scaling cloud infrastructure, so multiple jobs run in parallel without queuing.

Can I chain multiple video operations in one Zap?

Yes. Each FFmpeg Micro API call is independent. You can transcode a video, then take the output URL and pass it to a second transcode call for a different operation (like adding a watermark or extracting audio). Each step is just another webhook action in your Zap.

What video formats does FFmpeg Micro support?

FFmpeg Micro supports MP4, WebM, AVI, MOV, MKV, and FLV for video. For audio: MP3, M4A, AAC, WAV, OGG, Opus, and FLAC. For images: JPEG, PNG, GIF, and WebP. You can convert between any supported formats.

Do I need to upload videos to FFmpeg Micro first?

No. If your video is already hosted somewhere with a public URL (S3, Cloudflare R2, Google Cloud Storage, any CDN), pass that URL directly in the inputs array. The three-step upload flow is only needed for local files or private sources.

FFmpeg Micro is a cloud API that lets you add video processing to any app with a single HTTP call. No FFmpeg installation, no server management. Get your free API key and start processing video from Zapier in minutes.

About Javid Jamae

Founder & CEO at FFmpeg Micro

Javid is a software engineer, author, and entrepreneur with over 25 years of professional software development experience across enterprise, startup, and consulting environments. He founded FFmpeg Micro to make video processing accessible to developers through a simple, automation-first REST API.

Software EngineeringVideo ProcessingFFmpegCloud ArchitectureAPI DesignAutomation

Ready to process videos at scale?

Start using FFmpeg Micro's simple API today. No infrastructure required.

Get Started Free