Use the FFmpeg API in Go
Add FFmpeg video processing to your Go services over HTTP, with no cgo or FFmpeg binaries to ship.
What you can build
- Transcode and convert video between MP4, WebM, and MOV
- Generate thumbnails and extract still frames
- Pull audio tracks out of video for podcasts and transcription
- Resize, crop, watermark, and run custom FFmpeg options
- Batch-process at scale without managing servers or a queue
Why not install FFmpeg in Go?
Running FFmpeg yourself (for example, os/exec calls into a bundled ffmpeg binary) means shipping binaries, keeping codec builds in sync across environments, and giving video encoding its own CPU and scaling story. With the API you send an HTTP request, the job runs on dedicated hardware, and you pay only for the processing time you use. Nothing to install.
Quickstart
Grab a free API key from the dashboard (100 minutes, no card), then submit a job. It's one HTTP call, so it works from any Go HTTP client.
curl -X POST https://api.ffmpeg-micro.com/v1/transcodes \
-H "Authorization: Bearer $FFMPEG_MICRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"inputs":[{"url":"gs://your-bucket/input.mp4"}],"outputFormat":"mp4"}'The API returns a job id. Poll GET /v1/transcodes/{id} until the status is completed, then fetch a signed download URL from /download. See the quickstart for the full upload, process, and download flow.
Go guides
In-depth, code-first walkthroughs for Go.