You need to process video. What does it actually cost?
Pricing pages are designed to confuse you. They show per-minute rates without explaining what counts as a minute. They hide the real cost behind usage-based tiers. They don't mention the engineering time.
This post gives you the actual numbers. Three options compared at three volume levels. With the math shown.
The contenders
RenderIO: FFmpeg API on Cloudflare Workers. You send FFmpeg commands via REST, get processed files back. Plans start at $9/month.
Rendi: FFmpeg API service. Similar model. Free tier available, Pro plan at $25/month.
Self-hosted on AWS: EC2 instances running FFmpeg with SQS for queuing, S3 for storage. You build and maintain everything.
Pricing at a glance
| RenderIO | Rendi | Self-Hosted (AWS) | |
| Free tier | None | Yes (50GB, 1 min runtime) | N/A |
| Entry plan | $9/mo (500 commands) | Free or Pro $25/mo (100GB+) | ~$400/mo minimum |
| Mid plan | $29/mo (1,000 commands) | - | - |
| High plan | $49/mo (5,000 commands) | - | - |
| Top plan | $99/mo (20,000 commands) | - | - |
| Overage | $0.02-0.08/cmd | Per-GB | ~$0.02/min* |
| Setup time | 30 minutes | 30 minutes | 20-40 hours |
| Maintenance | None | None | 4-8 hrs/month |
*Self-hosted per-minute cost assumes c5.xlarge at 70% utilization. RenderIO prices by command count, not processing minutes.
Scenario 1: 200 videos per month
A SaaS app that lets users upload and convert video. 200 commands per month.
RenderIO: Growth plan at 29/month**
Rendi: Pro plan at 25/month**
Self-hosted: Even a small setup needs a t3.medium (5/month), and SQS (75/hour engineering cost: 150/month in labor = $187/month
At low volume, self-hosting doesn't make sense. The infrastructure alone costs more than an API, and that's before counting engineering time.
Scenario 2: 2,000 videos per month
A content platform processing user uploads at scale. 2,000 commands per month.
RenderIO: Pro plan at 49/month**
Rendi: Pro plan at 25-Custom/month**
Self-hosted: Two c5.xlarge instances (50/month), SQS (15/month). Engineering: 4 hours/month at 318/month in infra + 618/month**.
The API is still cheaper. Even ignoring engineering time, the raw infrastructure cost of self-hosting exceeds the API price.
Scenario 3: 10,000 videos per month
High-volume processing. TikTok content factory, media company, or video SaaS platform. 10,000 commands per month.
RenderIO: Business plan at 99/month**
Rendi: 10,000 videos at 80MB = 800GB, well above Pro tier. Enterprise pricing (custom). = Custom/month
Self-hosted: Four c5.2xlarge instances (100/month), SQS (50/month). Engineering: 8 hours/month. 600/month in labor = $1,550/month.
At this volume, RenderIO's Business plan at 950/month) is nearly 10x the API price.
The break-even analysis
Self-hosting becomes cheaper (in pure compute cost) somewhere around 30,000-50,000 commands per month. At that point, the Business plan (0.02/cmd starts to exceed bare metal costs.
But "cheaper" only counts if you value engineering time at 75-150/hour and spend 4-8 hours/month on video infrastructure, add $300-1,200/month to the self-hosted column.
The real break-even including engineering time is closer to 50,000-100,000 commands per month.
What the pricing pages don't tell you
Rendi's model: Rendi prices by data transfer (GB of input + output). Their pricing page states "No egress or ingress fees" and no special cost units per encoding, duration, or resolution. The Free tier has a 1-minute command runtime limit; Pro unlocks longer runtimes and more vCPUs.
Self-hosted hidden costs: The AWS bill is just the start. Factor in:
Engineering time for initial setup (20-40 hours)
Ongoing maintenance (4-8 hours/month)
Incident response (variable, but plan for 2-4 hours/month)
Security patching (FFmpeg CVEs, OS updates)
Scaling events (when traffic spikes, someone debugs the autoscaler)
RenderIO's approach: You pay per command. One API call = one command, regardless of file size or processing duration. No egress fees. Predictable billing.
Feature comparison
Beyond pricing, features matter:
| Feature | RenderIO | Rendi | Self-Hosted |
| Any FFmpeg command | Yes | Yes | Yes |
| Custom codecs | Standard build | Standard build | Full control |
| Webhook notifications | Yes | Yes | You build it |
| API key management | Dashboard | Dashboard | You build it |
| Usage analytics | Dashboard | Dashboard | CloudWatch |
| Concurrent jobs | Unlimited* | Queue-based | Limited by instances |
| File size limit | 5GB | 2GB | Disk space |
| Job isolation | Container per job | Shared | Shared |
*Subject to rate limits on your plan.
Making the decision
Here's a simple framework:
Choose RenderIO if:
You process under 20,000 commands/month (or more with usage-based overage)
You want the lowest total cost (including engineering time)
You value simplicity and fast integration
You need container-level isolation per job
Choose Rendi if:
You're already using Rendi and migration cost exceeds savings
You need specific features only they offer
Choose self-hosted if:
You process over 50,000 commands/month consistently
You need custom FFmpeg builds
You have dedicated DevOps engineers with available capacity
Regulatory requirements mandate on-premises processing
Getting started
RenderIO has no free tier, but the Starter plan at $9/month gives you 500 commands to validate the service with real workloads before scaling up.
Try it yourself
The best way to compare is to try both. Sign up at renderio.dev. Run your actual FFmpeg commands against the API. Do the math with your real numbers.
Plans start at $9/mo. See the FFmpeg API details or generate your API key and start processing video.