ffmpeg for serverless,
as an API.
Watermark, trim, extract audio, and generate thumbnails with a single API call. No 250MB bundle limit, no child_process, no timeout wall — the heavy encoding never touches your function at all.
curl -X POST https://api.fotovid.co/v1/video/watermark \
-H "Authorization: Bearer p6_YOUR_KEY_ID:YOUR_SECRET" \
-H "Content-Type: application/json" \
-d '{
"source_url": "https://cdn.yoursite.com/clip.mp4",
"params": {
"type": "image",
"watermark_image_url": "https://cdn.yoursite.com/logo.png",
"position": "bottom-right",
"opacity": 0.7,
"scale": 0.2
}
}'Drop it into any serverless runtime
Serverless was never built to process media
Bundling ffmpeg and its codecs blows past the serverless function size limit before you've written a line of logic.
Serverless runtimes don't give you a shell. You can't spawn ffmpeg, and the WASM builds are slow and memory-hungry.
Even if it ran, encoding a video blows past the function timeout. Fotovid runs the heavy work off-platform and hands you back a URL.
Everything you'd reach for ffmpeg to do
Overlay text or a logo image on any video. Position, opacity, scale, and padding — all controllable.
POST /v1/video/watermarkImage watermarkThe same watermark engine for images. Text, image, or combo overlays.
POST /v1/image/watermarkExtract audioPull the audio track out of any video and get it back as an MP3.
POST /v1/video/extract-audioTrim videoCut a frame-accurate clip between two timestamps.
POST /v1/video/trimTrim audioSlice an audio file to a start/end window, output as MP3.
POST /v1/audio/trimThumbnail / coverGrab a frame at any timestamp for a video thumbnail.
POST /v1/video/extract-coverTranscode between formats (MP4, WebM, MOV, GIF).
Shrink file size with quality-aware presets.
Concatenate multiple clips into one.
What people build with Fotovid
Stamp your brand or a per-user tag on every video and image your users upload — inline in the request that handles the upload.
Trim long recordings into shareable segments and pull a thumbnail for the preview card, all from your API route.
Strip the audio track off uploaded video and hand the MP3 to your transcription or AI pipeline.
Generate cover frames on demand so your gallery and feed load fast without shipping ffmpeg.
Serverless-native from the first request
Small jobs return the finished file synchronously in the same request. Long jobs run async and call your webhook when they're done — no polling required.
No ffmpeg binary in your bundle and no cold-start layer. The same HTTPS call works from Vercel, Cloudflare Workers, Lambda, or Deno.
Every job returns a presigned URL to the finished file — stream it, store it, or pull the bytes. Nothing to write to your function's read-only disk.
Pay for what you process
Start free — no card required. Then buy credits and spend them per operation. $1 = 100 credits, flat — no subscriptions, no seat fees.
Häufig gestellte Fragen
Ship media processing this afternoon
Grab a free API key and make your first watermark call in under five minutes.
