Zencoder launched in 2010 and was acquired by Brightcove in 2012. It's a mature video encoding API favored by media companies and broadcasters — job-based async processing, HLS/DASH packaging, S3/GCS input and output, and detailed encoding configuration. It's part of the Brightcove ecosystem.

ChangeThisFile is built for a different use case: a developer who needs to convert a file and get back a result without building an async job pipeline. POST a file, receive the converted file in the response. Works with curl, requests, or fetch. No SDK required.

The honest comparison: if you're a media company encoding video at scale, Zencoder's depth is appropriate. If you're a developer normalizing user uploads or doing occasional format conversion, ChangeThisFile is far simpler.

Quick verdict

Broadcasting or OTT platform that needs HLS/DASH, DRM, and multi-CDN delivery? Zencoder is built for this use case. ChangeThisFile is not.

Need to convert MP4 to WebM, extract audio, or normalize camera uploads? ChangeThisFile — fewer than 10 lines of code, no async pipeline, no storage buckets to configure.

Already in the Brightcove ecosystem? Zencoder integrates tightly with Brightcove's video platform. If you're already there, staying in the ecosystem makes sense.

Starting fresh and need to convert video files? ChangeThisFile's free tier (1,000/mo, no card) lets you test immediately with zero commitment.

Pricing comparison

PlanChangeThisFileZencoder
Free tier1,000 conversions/month (no card)No free tier — pay-per-minute from start
Entry paid$29/mo — 10,000 conversionsUsage-based encoding minutes (~$0.04–0.05/min)
$99/mo equiv.$99 Startup — 50,000 conversions~2,000–2,500 encoding minutes
High volume$499 Scale / $1,999 GrowthVolume discounts for large contracts
Billing modelPer conversion (flat, any duration)Per encoding minute (longer files cost more)

Zencoder's per-minute billing means a 10-minute video costs 10x more to encode than a 1-minute video. ChangeThisFile charges per conversion regardless of file length — a 2-minute and a 20-minute video both consume one conversion credit. For variable-length content, ChangeThisFile's billing is significantly more predictable.

Zencoder also charges for output storage and egress on top of encoding minutes. ChangeThisFile returns the file directly — no storage billing.

Feature comparison

FeatureChangeThisFileZencoder
Free API tierYes — 1,000/mo, no cardNo
HLS/DASH outputNoYes
Webhook callbacksNoYes
S3/GCS input and outputNoYes
Advanced encoding settings (bitrate, codec, profile)NoYes
Multi-output per jobNoYes
Format conversion (MP4↔WebM, etc.)Yes — FFmpeg, full codec supportYes
Audio extractionYes (video→MP3/WAV/FLAC/AAC etc.)Yes (audio output)
Synchronous APIYes — file returned immediatelyNo — async job system
SDK requiredNo — curl/fetch/requests work directlySDKs for Ruby, Python, PHP, Java, .NET
Non-video conversionsYes — 530+ routes for images, docs, etc.No — video/audio only
Brightcove platform integrationNoYes — native integration

API and developer experience

ChangeThisFile is a single endpoint. No SDK. Source format auto-detected from filename. Target format is the only required parameter beyond your API key.

curl -X POST https://changethisfile.com/v1/convert \
  -H "Authorization: Bearer ctf_sk_your_key" \
  -F "file=@video.avi" \
  -F "target=webm" \
  --output video.webm

Same call in Python: `requests.post(..., files={"file": open(...)}, data={"target": "webm"})`. Same in Node fetch. No library to install, no job ID to track.

Zencoder uses an async job API. You submit a job with an input URL, output specifications (format, codec, bitrate, size), and a notification URL. Zencoder encodes and posts a webhook when done. SDKs for Ruby, Python, PHP, Java, and .NET wrap the HTTP calls. This model is well-suited for high-volume media pipelines where you need precise encoding control and cloud storage integration. For a simple format conversion use case, it's heavier than necessary.

Format and codec coverage

Both use FFmpeg-class codec coverage for common video formats. ChangeThisFile supports 690 routes across video (MP4, WebM, MKV, AVI, MOV, 3GP, FLV, WMV, and more), audio (MP3, WAV, FLAC, AAC, M4A, OGG, OPUS), images, documents, spreadsheets, ebooks, archives, and fonts.

Zencoder focuses on video and audio encoding with more fine-grained control: H.264 profiles, H.265/HEVC, VP9, AV1, bitrate ladders, frame rate control, watermarking, and HLS/DASH segmentation. For broadcast quality control, Zencoder's encoding parameters are much more configurable.

ChangeThisFile converts to standard output profiles. You specify the target format, not the encoding parameters. For most web developer use cases, this is sufficient. For broadcasting with specific codec profiles, Zencoder's control matters.

When to choose which

Use caseRecommended
Brightcove-integrated video platformZencoder
HLS/DASH output for streamingZencoder
Input/output directly from S3 or GCSZencoder
Fine-grained encoding parametersZencoder
Async job pipeline with webhooksZencoder
Convert MP4 to WebM for the browserChangeThisFile
Extract audio track from a videoChangeThisFile
Normalize camera uploads to MP4ChangeThisFile
Free tier / no card requiredChangeThisFile
Synchronous response, no pollingChangeThisFile

Zencoder is the right choice if you're in the Brightcove ecosystem or need fine-grained encoding control for a media platform. For developers who need to convert video files without standing up an async pipeline, ChangeThisFile is faster, cheaper, and simpler. Get a free API key — 1,000 conversions/month, no credit card, working in minutes.