Originally published at ffmpeg-micro.com
The Problem With Manual FFmpeg Commands
You've got a working FFmpeg command. Maybe it converts uploads to MP4, or generates thumbnails for a video library. It works great when you run it by hand.
But then your app needs to process 50 videos overnight. Or your client wants watermarks added to every upload automatically. Or your marketing team needs 20 social clips cut from a webinar recording by Monday morning.
Running FFmpeg commands manually doesn't scale. And building your own queue, worker infrastructure, and error handling around FFmpeg is a multi-week project that has nothing to do with your actual product.
Replace CLI Commands With API Calls
The simplest form of FFmpeg automation is swapping a local CLI command for an HTTP request. Instead of running ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4 on your machine, you send a POST request and get the result back.
With FFmpeg Micro, that looks like this:
curl -X POST https://api.ffmpeg-micro.com/v1/transcodes \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputs": [{"url": "https://storage.example.com/video.mp4"}],
"outputFormat": "mp4",
"preset": {"quality": "medium", "resolution": "1080p"}
}'
No server to maintain, no FFmpeg binary to install, no dependency conflicts. The API accepts your input URL, processes the video in the cloud, and gives you a download link when it's done.
Upload, Process, Download: The Full Flow
For files that aren't already hosted somewhere, FFmpeg Micro uses a 3-step upload process:
- Request a presigned upload URL via
POST /v1/upload/presigned-url - PUT your file directly to cloud storage using that URL
- Confirm the upload via
POST /v1/upload/confirmto get your permanentfileUrl
Once you have the fileUrl, pass it as the input to your transcode job. The response includes a job ID you can poll for status or wait for a webhook callback.
Automation Patterns That Actually Work
Webhook-Driven Processing
Most real automation doesn't poll for results. You set up a webhook URL, and FFmpeg Micro POSTs the result back when the job finishes. Your app receives the completed file URL and continues its workflow without blocking.
This pattern works especially well with n8n or Make.com. Your automation platform receives the webhook, then routes the output wherever it needs to go.
Batch Processing With Simple Loops
Need to convert 200 videos from MOV to MP4? Loop through your file list, fire off a transcode request for each one, and collect results via webhooks. FFmpeg Micro handles the scaling. Whether you send 5 jobs or 500, the infrastructure auto-scales to match.
n8n and Make.com Integration
Both n8n and Make.com can call the FFmpeg Micro API directly using HTTP request nodes. No custom code required. The entire automation lives in a visual workflow builder.
Scaling From 1 to 1000 Videos
The difference between processing 1 video and 1000 videos should be zero code changes. With an API-driven approach, scaling means sending more requests. That's it.
FFmpeg Micro runs on auto-scaling Cloud Run infrastructure. Each job gets its own compute resources. You only pay for actual processing time, not idle servers.
FAQ
Can I use any FFmpeg command through the API?
Yes. The options array in the transcode request accepts any valid FFmpeg flags. If it works in your terminal, it works through the API.
Does it work with Make.com and n8n?
Both platforms can call FFmpeg Micro using their built-in HTTP request modules. No custom plugins needed. Send a POST, receive a webhook when it's done.
What video formats are supported?
Input and output: MP4, WebM, AVI, MOV, MKV, FLV for video. MP3, M4A, AAC, WAV, OGG, Opus, FLAC for audio. JPEG, PNG, GIF, WebP for images.








