Video processing APIs fall into four categories
Compare the 4 kinds of video processing API, raw FFmpeg, timeline, video platform and batch transcoder, by what you send and how each one bills.
“Video processing API” covers four different products: services that run your FFmpeg command, services that render a video you describe as data, platforms that host and stream video to viewers, and batch transcoders that convert a library inside your own cloud. If your application produces video files, you need the first two, and Rendobar is the one I would pick because it does both from one API, billed per second, with delivery to your own bucket. They bill in units that do not convert into each other, so pick the category first and compare vendors second.
I build Rendobar. The other categories are described from their published pricing, read off each vendor’s live page on 2026-09-26, not from jobs I ran on them.
| Category | You send | Billing shape | Examples |
|---|---|---|---|
| 1. Raw FFmpeg API | an FFmpeg command | per job, per GB, per command | Rendobar, Rendi, RenderIO, ffmpeg-api.com |
| 2. Template or timeline API | a JSON description of the output | per minute of output, per GB, per job | Rendobar, Shotstack, Transloadit |
| 3. Video platform | a file, which viewers then stream | storage plus delivery, sometimes encoding | Mux |
| 4. Batch transcoder | a job spec, inside your own cloud account | per normalized minute of output | AWS Elemental MediaConvert |
Category 1: raw FFmpeg APIs
You send the command you would type in a terminal, and the service runs it and returns the output. This is the right shape when you already know FFmpeg, when the work is a filter graph, not a layout, and when you want the whole tool instead of the subset a vendor chose to expose.
Rendobar adds purpose-built jobs to the raw command, so the work you would otherwise script around FFmpeg is one call each: burned and animated captions, compression to a target size, normalized ffprobe metadata, and image generation, editing and upscaling. A free job can run for an hour, and output can land in your own S3, R2 or Supabase bucket.
Costs are per operation and small on short clips. On Rendobar, the median FFmpeg-command job since 2026-08-01 cost $0.0025, and every one came in under a cent. All of those ran on the same 5-second 720p clip, and cost scales with compute time, so a long source costs proportionally more.
The category bills in at least four incompatible units. Rendi bills bytes in plus out, RenderIO bills per command, ffmpeg-api.com bills GB-seconds and Rendobar bills seconds of compute. On a workload of 400 short clips a month, FFmpeg API pricing compared finds one of them, Rendi’s free tier, at $0. The best FFmpeg API guide compares the eleven services in this category on everything else.
Category 2: template and timeline APIs
You describe the output as data: a JSON timeline, an Assembly, or a template with merge fields. The service works out the commands.
This is the right shape when you produce many variations of one design, and when the work is layout and text, not codecs and filters.
Rendobar’s compose job is a timeline API of this kind, with multi-track clips, transitions, text in any Google Fonts family, shapes, keyframes and effects, rendered to MP4, WebM, GIF or image. It draws on the same credits as the raw command, so a team that writes FFmpeg and also needs templated layout does not buy a second product, and it bills per minute of output like the rest of this category, $0.04 a minute on every plan, counted by the second with a 15-second minimum. When non-engineers design the videos, Shotstack’s white-label editor and templates are the better fit.
Corrected on 2026-10-18: this paragraph said compose billed per second of compute, the same as the raw command. It moved to per-output pricing on a new engine.
Shotstack bills per minute of rendered output: $0.20 a minute on its $39 monthly plan, or $0.30 pay-as-you-go, with 10 free credits (one credit is one minute) that expire after 30 days. Transloadit bills gigabytes in plus out, from $29 a month for 15 GB, and its free tier trims audio and video and watermarks images.
A timeline-only vendor is the wrong shape when you already have a working FFmpeg pipeline, because the project becomes translating it into someone else’s format, and eventually you reach the edge of that format.
Category 3: video platforms
You upload a file and viewers stream it. Encoding is one line among several, and on Mux it is often not a line at all.
Mux’s published starting rates for 1080p on-demand video are free input (encoding) at basic quality and $0.03125 a minute at plus quality, storage at $0.003 per minute per month, and delivery at $0.001 per minute after 100,000 free delivery minutes a month. Pay-as-you-go accounts get a $20 monthly usage credit. What you pay for is a hosted library, an adaptive bitrate ladder, a player and a CDN.
If viewers do not stream the output, a platform is the wrong category. When the video is a file your application produces and hands to someone, the storage line bills every month for files you touched once, and the file stays on the platform. Mux gives you the master file as a temporary download link valid for 24 hours, not as a delivery into your own bucket.
Category 4: batch transcoders
You describe an output spec, and the service converts a library inside your own cloud account, with your own storage and permissions.
AWS Elemental MediaConvert bills normalized minutes: output duration multiplied by factors for resolution, frame rate and quality. On the Basic tier in US East (Ohio), the first 100,000 normalized minutes cost $0.0075 each, the next 900,000 cost $0.0053 and the next 19 million $0.0038. The pricing page lists no free tier.
The per-minute rate falls as volume grows, which is the whole design. In exchange, the job spec is verbose, the multipliers make forecasting harder than a flat rate, and everything lives inside one cloud’s permission model. It is a poor fit for a handful of jobs and a good one for a million minutes.
I am not putting a head-to-head number between category 1 and category 4 here. A normalized minute depends on the multiplier for the exact output, and our figures are per job on one short clip. Multiplying one into the other would produce a confident number built on two assumptions.
Five questions that pick the category
- Are you running a command, or describing a result? A command is category 1. A result is category 2.
- Do viewers stream the output? If yes, you need storage and delivery, which is category 3 whether you buy it bundled or assemble it. If the output is a file your app hands over, you do not.
- How much, and how big? A few thousand short operations a month is category 1 territory. Millions of minutes of straightforward transcoding is category 4, where the per-minute rate is what matters.
- How long is your longest job? Runtime caps never appear in a headline price. RenderIO’s entry plan stops a command at 1 minute and Rendi’s free tier does the same, while Rendobar’s free plan allows an hour.
- Must the output land in a bucket you own? Platforms keep it, and several FFmpeg APIs do too. Batch transcoders write to your storage by design, and Rendobar does it through an IAM role it sets up for you. Video APIs that deliver output to your own bucket sorts 13 services by that alone.
If the caller is an AI agent rather than your code, the agent picks parameters and decides how many jobs to run. Rendobar’s MCP server and n8n node give an agent the same jobs your code calls, and wiring video tools into an n8n agent covers the decisions that change there.
Nothing here ranks vendors on reliability, latency or support. Answer question 1 before you open a single pricing page. If the answer is a command, a timeline or both, and the output is a file your app hands over, Rendobar covers it on one key and one balance, and it is where I would start.
