← All guides

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 included.

How to Add FFmpeg Micro to a Zap

Step 1: Get Your API Key

  1. Sign up at FFmpeg Micro (free tier, no credit card required)
  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 included)
  • Works in any Zap as a Webhooks by Zapier step
  • Same FFmpeg command-line power available in n8n and Make

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