Zapier FFmpeg Integration

Add FFmpeg video processing to any Zap using the FFmpeg Micro REST API. There is no dedicated Zapier app — you call the API directly from Zapier's built-in Webhooks by Zapier action. Same power, same options, no FFmpeg installation or infrastructure to manage.

Heads up: FFmpeg Micro doesn't publish a native Zapier app. The integration runs through Webhooks by Zapier (a built-in core Zapier action) — that's the same HTTP-based pattern teams use for any REST API. Free tier includes 100 minutes.

How to Add FFmpeg Micro to a Zap

Step 1: Get Your API Key

  1. Sign up at FFmpeg Micro (free tier includes 100 minutes)
  2. Navigate to your dashboard and copy your API key
  3. Keep this key handy — you'll paste it into the Zapier Webhooks action

Step 2: Add a Webhooks by Zapier Action to Your Zap

  1. Open your Zap (or create a new one) and add an action step
  2. Search for and select Webhooks by Zapier (it's a built-in Zapier core app)
  3. Choose POST as the action event
  4. Configure the action with the settings below

Step 3: Configure the Webhook POST

URL:https://api.ffmpeg-micro.com/v1/transcodes
Payload Type: JSON
Headers:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Data (JSON body):
{
  "inputs": [
    { "url": "https://example.com/input-video.mp4" }
  ],
  "outputFormat": "mp4",
  "options": [
    { "option": "-s", "argument": "1280x720" },
    { "option": "-c:v", "argument": "libx264" },
    { "option": "-preset", "argument": "fast" }
  ]
}

Use FFmpeg options directly. Map dynamic values from earlier Zap steps (e.g., a video URL from a Google Drive trigger) into the JSON payload using Zapier's field-mapping UI.

Step 4: Map Dynamic Data

Map data from previous Zap steps (Google Drive, Airtable, Typeform, webhooks, etc.) into your request:

  • Video URL: Map inputs[0].url to a file URL from Dropbox, Google Drive, or any HTTP source
  • FFmpeg options: Use any FFmpeg flag — resize, trim, add overlays, change codecs
  • Output format: Set outputFormat to "mp4", "webm", or "mov"

Step 5: Wait for the Job, Then Download

FFmpeg Micro returns a JSON response with the job ID and status:

{
  "id": "abc123-def456",
  "status": "pending",
  "inputUrl": "https://example.com/input-video.mp4",
  "outputFormat": "mp4",
  "downloadToken": "xyz789"
}

Add a second Webhooks by Zapier step (GET) that polls GET /v1/transcodes/{id} until status is "completed". Use a Delay by Zapier step in between if your typical job runs longer than a few seconds.

Once complete, hit GET /v1/transcodes/{id}/download to get a signed download URL, then forward it to the next Zap step (Slack, email, Drive upload, etc.).

Example Zap Patterns

Typeform → Branded Video

Trigger: Typeform submission → Webhooks (POST) to FFmpeg Micro → Delay → Webhooks (GET) for download → Email the finished video

Use case: Generate a personalized video for each form respondent automatically

Google Drive → Multi-Format Export

Trigger: New file in Drive folder → FFmpeg Micro (Shorts 9:16) → FFmpeg Micro (YouTube 16:9) → Save both back to Drive

Use case: Upload one video, get every social platform variant automatically

Airtable → Caption Burner

Trigger: New Airtable record with video URL + transcript → FFmpeg Micro burns captions → Update Airtable with output URL

Use case: Captioning queue managed entirely from a spreadsheet, no code

Common FFmpeg Options

Resize: {"option": "-s", "argument": "1080x1920"}
Video codec: {"option": "-c:v", "argument": "libx264"}
Quality (CRF): {"option": "-crf", "argument": "23"}
Trim video: {"option": "-ss", "argument": "5"}, {"option": "-t", "argument": "25"}
Output format: Set outputFormat to "mp4", "webm", or "mov"

See the full API documentation for all available operations and parameters.

Tips for Zapier-Specific Quirks

  • Zapier's Webhooks action runs synchronously per step — for jobs longer than a few seconds, add a Delay by Zapier step between submit and poll, or use a multi-step polling pattern
  • Map the FFmpeg Micro id from the POST response into the GET poll URL using Zapier's field picker
  • For long-running renders, consider a Schedule by Zapier trigger that polls open jobs on a cadence rather than blocking inside one Zap
  • Free Zapier plans limit task volume — each Webhooks step counts as one task

Why Use FFmpeg Micro vs. Self-Hosting?

  • No FFmpeg installation or server maintenance
  • Automatic scaling — handles 1 video or 1,000 videos without configuration
  • Pay only for processing time used (free tier: 100 minutes)
  • Works in any Zap as a Webhooks by Zapier step
  • Same FFmpeg command-line power available in n8n and Make