Cloudinary alternative for video: which ones hand the file back

The cloudinary alternative that replaces a single video transformation is a processing API: you submit a job that points at a file you already own, it runs one operation, and it hands the output file back. That is a different product from the image CDNs and video hosting platforms that fill most alternative lists, because both of those keep your media in their library and bill delivery for as long as it lives there. FFmpeg Micro sits in the processing group, billed per second of input, failed jobs never billed, your files staying in your own bucket.
Search for a replacement and you get the same ten logos: ImageKit, imgix, Bytescale, Uploadcare, Cloudflare Images, Pixelbin, plus a tier of digital asset managers aimed at brand teams. Those lists are usually written by one of the vendors inside them, and nearly every entry answers "where should my media library live?" If you use Cloudinary for one video step inside an n8n or Make pipeline, that is not your question. Your question is which service will resize, caption or watermark a file and give it back.
You can do that step yourself. ffmpeg -i master.mp4 -vf scale=1080:1920 -c:a copy out.mp4 is thirty seconds of typing and zero dollars, and it is the right answer if you already run a worker that stays patched. The moment that worker is a Lambda with a timeout, an n8n Cloud instance with no shell, or a Docker image whose FFmpeg layer nobody owns, the job belongs somewhere else.
Four kinds of product are mixed into one list
Sorting the field by what it bills and who ends up holding the file separates four products that comparison grids treat as interchangeable.
| Kind | What it bills | Who holds the file | Question it answers |
|---|---|---|---|
| Image/media CDN | Bandwidth and storage, forever, with processing as a side meter | Them | Where should my media library live and get served from? |
| Streaming platform | Encode, storage, delivery as three separate meters | Them | How do I stream video to viewers with a player? |
| Composition renderer | Per minute of output video it builds from your template | Them, then you download | How do I generate a video that doesn't exist yet? |
| Processing API | Per unit of input you send through one operation | You, start to finish | How do I transform a file I already own? |
Image and media CDNs transform in a URL
Image and media CDNs work the way Cloudinary does, which is why they dominate those lists: you upload an asset, then you request variants by editing the path.
https://res.cloudinary.com/demo/video/upload/w_1080,h_1920,c_fill/sample.mp4
The deliverable is that URL, not a file. The variant becomes a stored derived asset, and every byte served afterward is a delivery charge, so a one-time transform turns into a recurring line item. Our read of what one pooled credit buys for video is in Cloudinary pricing in 2026, and the short version is that processing seconds, storage and bandwidth all draw from the same pool at rates that depend on resolution. Swapping to a different URL-transform CDN keeps that shape and only changes the logo.
Streaming platforms bill three meters
Streaming platforms such as Mux and api.video are built for an audience watching through a player, and they price accordingly. Encoding is often cheap or free because the margin lives in stored minutes and delivered minutes. We counted all three on one invoice in Mux pricing in 2026, and getting a plain MP4 back out of that model has its own price, which we priced in static renditions. Moving a video transformation here replaces one hosting bill with another.
Composition renderers bill the output they build
Composition renderers like Shotstack and Creatomate take a JSON timeline or a template and render a video that did not exist before, metering the minutes of output they produce. If your job is "assemble a slideshow from three product photos and a music bed," that unit makes sense. If your job is "take this 4K master and give me a 1080x1920 crop," you are paying a per-output-minute rate for an operation that has no creative output at all.
Processing APIs give the file back
Processing APIs are the category page one never names. You point one at a URL, it runs the operation, and you download the result to wherever your pipeline already keeps files. Nothing is added to a library, nothing accrues storage, and the billing stops when the job stops. Self-hosting is the other member of this class, including AGPL projects like Openinary that put a URL transformer in front of your own S3 or MinIO bucket with FFmpeg underneath. That option is genuinely cheaper on paper, and its real cost is whoever has to re-test the binary after every CVE, which we worked through in who patches your FFmpeg layer.
Only the processing kind leaves your storage alone
A processing API is the only one of the four that lets your files stay in the bucket you already pay for. On FFmpeg Micro the input is a URL you own, the output is a signed download, and the request is one call:
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": "https://my-bucket.s3.amazonaws.com/master.mp4"}],
"outputFormat": "mp4"
}'
That returns a job ID. You poll it until it reports completed, then download the output and push it to S3, R2, TikTok, or back into your app. The docs have the full option set, including crop, watermark, subtitle burn-in and thumbnail extraction.
The meter matches the shape of the work. One token covers 10 seconds of input, metered per second with no rounding up to the minute, so a 10-second clip costs 10 seconds. Trim 30 seconds out of a one-hour recording and you are billed for 30 seconds. Status checks and downloads cost nothing, and a failed job is never billed. In money: a $25 top-up buys 3,000 tokens, which is 8.3 hours of input, enough for 1,000 thirty-second clips. A new account gets 200 tokens, about 33 minutes, with no credit card. Subscriptions are $19.99 a month for 2,500 tokens and $49.99 for 7,000, with input file caps of 100 MB on Free, 1,024 MB on Starter and 2,048 MB on Pro.
Two columns the comparison grids skip
Where the job is callable from matters more than any feature checkbox, and no roundup has a column for it.
Cloudinary's video operations in n8n (Crop, Optimize, Resize, Thumbnail, Trim) are all described on n8n's own integration page as building a delivery URL rather than returning a file into the workflow. Make's app exposes Upload, Transform, Get, Delete, Search and a raw API call, each scoped to assets held in your Cloudinary account. Zapier's Transform Resource action takes a transformation string and generates a shareable URL. In all three, a no-code builder ends up holding a link to an asset in someone else's library, which breaks the next step if that step is an upload to a platform that wants bytes. More than 300 builders already run FFmpeg Micro from Make or n8n, 151 of them on Make, and the n8n community node has passed 1,800 downloads, counted as downloads because npm totals include mirrors and CI.
The agent column needs an honest note. Cloudinary shipped its own MCP server, announced on 17 June 2025 and available on every plan including Free, so "an agent can call it" is not a differentiator in 2026. What the tool call returns still is. The FFmpeg Micro MCP server hands Claude, Cursor or Windsurf a job ID and then a signed file. One more piece of honesty: FFmpeg Micro callers poll for job status, and there are no completion webhooks. If your architecture depends on a callback, you build the poll loop instead, and why your transcode job failed covers what to handle inside it.
Run these five checks against your own usage
Before you pick anything, work out which of the four kinds you are actually buying, using your current invoice as the evidence.
- Open your last bill and split it into processing, storage and bandwidth. If storage and bandwidth are the majority, you are paying for a library, not a transform.
- Count what fraction of your assets are video. Teams who keep thousands of images and run a dozen video jobs a month usually want to keep images where they are and move only the video step.
- Check what your next pipeline step consumes. If it needs bytes to upload somewhere, a delivery URL is the wrong output.
- Decide whether anyone watches these files from the vendor's CDN. If delivery happens on TikTok, YouTube or your own CDN, every delivery meter you are quoted is priced for a use case you don't have.
- Price your own maintenance honestly. A self-hosted transformer is cheapest until the week a CVE lands with no patch and the re-test is yours.
Cloudinary is correctly priced for the buyer who wants images, video, storage, transformation and delivery on one bill, and that buyer should stay. We checked what its free plan covers for video in is the Cloudinary free tier enough. FFmpeg Micro has no player, no CDN, no image transformations and no asset manager, so it is the wrong answer for anyone whose actual job is hosting a media library. It is the right answer for the narrow version: replace the video transformation, keep everything else.
FAQ about Cloudinary alternatives for video
Can I keep Cloudinary for images and move only the video?
Splitting the two is usually the cheapest move, because image transformations in a URL are what a media CDN is genuinely good at, and video processing is the part that drags storage and delivery charges behind it. Point your video step at a processing API, leave your image library where it is, and your Cloudinary credits stop being spent on video seconds and derived video assets.
Which Cloudinary alternatives hand back an actual file?
Processing APIs hand back a downloadable file, and composition renderers hand back a rendered output you download. Image CDNs and streaming platforms hand back a URL into their own storage, which is a different deliverable even when the underlying operation is identical.
Can my files stay in my own S3 or R2 bucket?
A processing API takes your bucket URL as input and returns a signed download, so your storage never moves. FFmpeg Micro works this way: the input is a URL you control, and the output goes wherever your pipeline puts it.
Is a self-hosted alternative cheaper once you count patching?
Self-hosting is cheaper per job and more expensive per month once an engineer's time is on the ledger, because FFmpeg security advisories arrive faster than most teams re-test their build. The break-even depends on volume, and under a few thousand jobs a month a managed per-second meter usually wins.
Which video alternative has a free tier with no credit card?
FFmpeg Micro gives a new account 200 tokens, about 33 minutes of input video, with API access, unlimited API keys and no card required. What the free tier leaves out is customer support, automatic top-up and token banking, which start on the $19.99 Starter plan.
Run step one of that checklist against last month's invoice, then compare what the same jobs cost at 1 token per 10 seconds of input: the line-by-line version is in FFmpeg Micro vs Cloudinary Video. Sign up free and those 200 starter tokens will process about 33 minutes of your real footage before you decide anything, with no encoder to host and no FFmpeg build to keep current, called from your own code, from n8n, Make and Zapier, or from your AI agents.
About Javid Jamae
Founder & CEO at FFmpeg Micro
Javid is a software engineer, author, and entrepreneur with over 25 years of professional software development experience across enterprise, startup, and consulting environments. He founded FFmpeg Micro to make video processing accessible to developers through a simple, automation-first REST API.
You might also like

Cloudinary pricing in 2026: what a credit actually buys for video
Cloudinary pricing in 2026, priced in videos instead of credits: the live plans, what a credit buys, and one 90-second 1080p job through all three meters.

Google Cloud Transcoder API: what it costs and when it's overkill
Google Cloud Transcoder API pricing is $0.015 to $0.060 per output minute, billed per rendition. Here is what the quickstart costs you before the first job.

Is the Cloudinary free tier enough for video? 104 HD minutes
Is the Cloudinary free tier enough for video? 25 credits is about 104 minutes of 1080p output, measured, and only if you store and deliver nothing else.
Ready to process videos at scale?
Start using FFmpeg Micro's simple API today. No infrastructure required.
Get Started Free