Self-hosting conversion tools feels like it should be the obvious choice — FFmpeg is free, LibreOffice is free, a VPS is $20/month. Why pay $99–$499/month for a managed API?
The answer: the tools are free, but the infrastructure, maintenance, uptime, and on-call burden are not. This guide does the full math — infrastructure costs, setup time, maintenance hours, and the volume at which self-hosting actually wins. All dollar estimates use April 2026 pricing for typical cloud infrastructure and engineering rates.
TL;DR — when does self-hosting win?
Quick break-even analysis at common volume tiers:
| Volume/month | Self-hosted TCO (est.) | CTF API cost | Verdict |
|---|---|---|---|
| 1,500 conversions | $170–$650 (infra + eng time) | $29 (Hobby) | API wins by far |
| 6,000 conversions | $170–$650 | $99 (Startup) | API wins clearly |
| 10,000–40,000 conversions | $170–$650 | $499 (Scale) | Roughly even; the API wins only if engineering time is expensive |
| 50,000–200,000 conversions | $170–$650 | $1,999 (Growth) | Self-hosting wins |
| 500,000+ conversions | $200–$900 (scaled infra) | Enterprise (custom pricing) | Self-hosting wins clearly |
ChangeThisFile prices checked 2026-10-10 on changethisfile.com/pricing; plans hard-stop at quota (no overage). Self-hosted TCO is this guide's estimate (VPS plus 2–6 hours/month at $75/hour).
Self-hosted TCO = VPS cost + (maintenance hours × engineering rate). At $75/hour for 2 hours/month minimum, you're paying $150/month in hidden cost before touching infrastructure.
What self-hosted FFmpeg/LibreOffice actually costs
Infrastructure (April 2026 Hetzner/DigitalOcean/Linode estimates):
| VPS tier | CPU | RAM | Est. capacity | Monthly cost |
|---|---|---|---|---|
| Entry (Hetzner CX23) | 2 vCPU | 4 GB | ~20K–50K simple conversions | ~€6* |
| Standard (Hetzner CX33) | 4 vCPU | 8 GB | ~50K–150K simple conversions | ~€9* |
| Production (Hetzner CX43) | 8 vCPU | 16 GB | ~150K–500K simple conversions | ~€16.50* |
| High-volume (dedicated) | 16+ vCPU | 32 GB+ | 500K+ conversions | unverified as of 2026-10-10 |
*Hetzner renamed CX22/32/42 to CX23/33/43 and raised cloud prices on 2026-04-01. These figures (incl. IPv4, excl. VAT) come from a third-party report (vincentschmalbach.com) and are unverified on hetzner.com as of 2026-10-10, which shows no prices without a browser session.
Capacity estimates assume a mix of image conversions (~5s each) and document conversions (~30s each). Video transcodes are CPU-intensive — a 4 vCPU server handles roughly 20–40 concurrent short video transcodes before queuing. LibreOffice headless is single-instance — only one document converts at a time unless you run multiple instances with a load balancer.
Setup time (one-time):
- VPS provisioning + OS configuration: 1 hour
- FFmpeg install + verify codecs: 1 hour
- LibreOffice headless + xvfb setup: 2 hours
- Calibre + 7-Zip + Ghostscript: 1 hour
- Express/Node.js API wrapper: 2–4 hours
- Systemd service + monitoring: 1 hour
- Testing and debugging: 2–4 hours
- Total: 10–14 hours
At $75/hour senior engineer rate: $750–$1,050 one-time setup cost.
The hidden maintenance burden
Monthly maintenance work (realistic estimate for a production server):
- Security patches (FFmpeg CVEs are common): 0.5–1 hour/month
- Investigating stuck or zombie FFmpeg processes: 0.5 hour/month average
- LibreOffice headless crashes and restarts: 0.5 hour/month average
- Disk cleanup (temp files from failed conversions): 0.25 hour/month
- Monitoring and alerts review: 0.25 hour/month
- Total: 2–3 hours/month baseline
At $75/hour: $150–$225/month in hidden engineering cost. This is the number most self-hosting TCO analyses omit entirely.
On-call incidents (sporadic but real):
- Server goes down on a Saturday night: 1–3 hours to diagnose and restore
- FFmpeg version update breaks a codec: 2–4 hours to roll back or fix
- LibreOffice OOM kills during batch: 1–2 hours to tune memory limits
A conservative estimate of 1 incident per month × 2 hours = $150/month in additional hidden cost. More aggressively managed servers with good monitoring can reduce this.
Other costs often missed:
- Backups: $2–$5/month for VPS snapshots
- Monitoring tools: $0 (Netdata/Prometheus) to $20/month (Datadog free tier)
- CDN/bandwidth if your server serves large output files directly: $5–$20/month
What managed APIs provide that self-hosting doesn't
1. Zero setup time. ChangeThisFile API: get a key, make one POST request. CloudConvert: create an account, read the docs, integrate the async client. Neither requires a VPS, a systemd service, or debugging LibreOffice headless display issues.
2. Automatic scaling. A managed API handles traffic spikes without pre-provisioning. Your product launches to 10,000 users in one day — the API scales. Self-hosted LibreOffice doesn't scale horizontally without significant engineering effort (load balancing, job queuing, horizontal pod autoscaling).
3. No CVE management. FFmpeg, LibreOffice, and Calibre have histories of high-severity CVEs triggered by malicious files. Managing updates, testing regressions, and maintaining a patching schedule is real work. Managed APIs absorb this responsibility.
4. Uptime SLA. Managed APIs typically offer 99.9%+ uptime SLAs with support. Self-hosted uptime is whatever you make it — if the server goes down at 2am and conversions are part of your critical path, you're the on-call engineer.
5. Format breadth without the complexity. Supporting 10+ conversion tools on one server (FFmpeg, LibreOffice, Calibre, 7-Zip, Ghostscript, Poppler, Sharp, FontTools) creates dependency hell. Different tools conflict on shared libraries, and each has separate version management needs.
When self-hosting genuinely wins
Self-hosting makes financial sense when:
- Volume exceeds about 40,000 conversions/month — past ChangeThisFile's Scale quota the next plan is $1,999/month, while a VPS plus maintenance typically runs $170–$650
- You already have dedicated devops capacity — a team with a platform engineer who manages servers anyway absorbs the maintenance cost into existing work
- You need custom FFmpeg flags or codecs — managed APIs don't let you pass arbitrary FFmpeg arguments. If you need NVENC hardware encoding, specific codec libraries, or custom presets, self-hosting is necessary
- Your files must never leave your infrastructure — for healthcare (HIPAA), legal, or classified data where files cannot be transmitted to third-party services, self-hosting is a compliance requirement, not just a cost choice
- You already use Kubernetes — teams running containerized infrastructure can add an FFmpeg + LibreOffice container to their existing cluster at near-zero additional operational cost
When managed APIs win (most teams, most of the time)
Stick with a managed API when:
- Monthly volume is under about 10,000–40,000 conversions
- Your team is small (under 10 engineers) and server maintenance isn't a core competency
- You need multiple format types — maintaining FFmpeg + LibreOffice + Calibre + 7-Zip on one server is fragile
- Conversion is not your core product — it's a supporting feature. Operational risk on a non-core component isn't worth the savings
- You don't have existing devops infrastructure to absorb the maintenance
Complete TCO comparison over 12 months
| Option | Setup cost (one-time) | Monthly infra | Monthly eng | Annual TCO |
|---|---|---|---|---|
| Self-hosted (VPS only) | $750–$1,050 | $25–$40 | $150–$300 | $3,000–$5,310 (at 100K/mo) |
| ChangeThisFile Growth ($1,999) | $0 | $0 | $0 | $23,988 (covers 100K/mo) |
| ChangeThisFile Scale ($499) | $0 | $0 | $0 | $5,988 (covers up to 40K/mo) |
| CloudConvert | $0 | $0 | $0 | unverified as of 2026-10-10 (cloudconvert.com/pricing shows no prices without a browser session) |
At 100K/mo: self-hosted is $3K–$5K/year vs ChangeThisFile Growth at $24K/year — self-hosting wins clearly. Up to 40K/mo, ChangeThisFile Scale is $6K/year against $3K–$5K self-hosted: close, and the API wins if you would rather not run servers. Below 6K/mo, Startup at $1,188/year is the cheaper option.
Self-hosting FFmpeg and LibreOffice is a legitimate cost optimization at high volume with existing devops capacity. Against ChangeThisFile's published plans, the API wins clearly below about 6,000 conversions/month and is roughly even up to 40,000; above that, self-hosting is cheaper even after engineering time. ChangeThisFile's free tier is a good starting point: 25 conversions/month with no card, no server to manage, and a synchronous API that takes 10 minutes to integrate. Scale to paid when you know your actual volume.