Coconut has been processing video encoding jobs since 2010. It's a reliable async API with webhook notifications, support for S3/GCS/FTP output, and HLS packaging. It's built for video-heavy products that need to encode uploads at scale.
ChangeThisFile takes a different approach: synchronous conversion, no pipeline configuration, no storage integration required. POST a file, get a converted file back in the same response. Works with curl, fetch, or requests — no SDK, no job polling.
Both support video conversion. The difference is workflow complexity and what you need beyond the conversion itself.
Quick verdict
Need async video encoding with webhook callbacks and S3/GCS output? Coconut is built for this. ChangeThisFile is synchronous and doesn't integrate with cloud storage directly.
Need to convert a video file to a different format and get it back immediately? ChangeThisFile — POST and receive. No webhooks, no storage buckets, no job IDs.
Need HLS packaging for video streaming? Coconut supports HLS output. ChangeThisFile converts between file formats only — not adaptive streaming formats.
Want to try before you pay? ChangeThisFile has 1,000 free conversions/month with no credit card. Coconut offers trial minutes but requires signup.
Pricing comparison
| Plan | ChangeThisFile | Coconut |
|---|---|---|
| Free tier | 1,000 conversions/month (no card) | Trial minutes on signup (limited) |
| Entry paid | $29/mo — 10,000 conversions | Usage-based — per encoding minute |
| $99/mo equiv. | $99 Startup — 50,000 conversions | Varies by encoding minutes used |
| High volume | $499 Scale / $1,999 Growth | Volume plans available |
| Billing model | Per conversion (flat, any file length) | Per encoding minute (longer files cost more) |
Coconut bills per encoding minute, so a 30-minute video costs 30x more to encode than a 1-minute video. ChangeThisFile charges per conversion regardless of length — a 30-second clip and a 30-minute video both consume one conversion. For workflows with variable-length files, ChangeThisFile's flat billing is more predictable.
Feature comparison
| Feature | ChangeThisFile | Coconut |
|---|---|---|
| Free API tier | Yes — 1,000/mo, no card | Trial only |
| HLS output | No | Yes |
| Webhook callbacks | No | Yes |
| S3/GCS/FTP input+output | No | Yes |
| Synchronous API | Yes — file returned in response | No — async job system |
| SDK required | No — curl/fetch/requests work directly | Client libraries available |
| Format conversion (MP4↔WebM, etc.) | Yes — 690 routes, FFmpeg-backed | Yes — common video formats |
| Audio extraction | Yes (video→MP3/WAV/FLAC/AAC etc.) | Yes (audio output formats) |
| Non-video conversions | Yes — images, documents, audio, etc. | No — video/audio only |
| Thumbnail generation | No (but MP4→GIF available) | Yes |
| Multi-output per job | No — one input → one output | Yes |
API and developer experience
ChangeThisFile has no SDK to install. POST a file with a target format and the converted file comes back immediately. Source is auto-detected from the filename.
curl -X POST https://changethisfile.com/v1/convert \
-H "Authorization: Bearer ctf_sk_your_key" \
-F "file=@video.avi" \
-F "target=mp4" \
--output video.mp4
The same call works in Python requests, Node fetch, PHP curl, or any HTTP client. Zero setup beyond an API key.
Coconut uses a job-based API. You submit a job with input URL, output specifications, and a webhook URL. When encoding completes, Coconut POSTs to your webhook with results. This is the right model for production video pipelines where you need to: process multiple output formats per video, store outputs to S3, send thumbnails somewhere else, and notify your app when everything is ready.
If you need any of that pipeline complexity, Coconut's design pays off. If you just need a file in a different format, ChangeThisFile skips all of it.
Format coverage
ChangeThisFile covers 690 total routes. Video routes via FFmpeg: MP4, WebM, MKV, AVI, MOV, 3GP, FLV, WMV, OGV, M4V, TS, MPEG. Audio output: MP3, WAV, FLAC, AAC, M4A, OGG, OPUS. Plus 530+ non-video routes covering images, documents, spreadsheets, ebooks, archives, and fonts.
Coconut focuses on video and audio encoding. It supports major container formats and H.264, H.265, VP8, VP9 codecs. Coverage for mainstream web video formats is solid. Coconut also supports thumbnail extraction and HLS packaging — things ChangeThisFile doesn't do.
For multi-type workflows (your app handles video and documents and images), ChangeThisFile's single API covers everything. Coconut is video-specific.
When to choose which
| Use case | Recommended |
|---|---|
| Async video encoding with webhook notification | Coconut |
| Output directly to S3, GCS, or FTP | Coconut |
| HLS packaging for streaming | Coconut |
| Multiple output renditions per video | Coconut |
| Thumbnail/poster image extraction | Coconut |
| Simple MP4/WebM/AVI format conversion | ChangeThisFile |
| Extract audio from video files | ChangeThisFile |
| Mix of video + document + image conversion | ChangeThisFile |
| Free tier, no card required | ChangeThisFile |
| Sync response, zero library dependencies | ChangeThisFile |
Coconut wins on pipeline features: webhooks, cloud storage output, HLS, multi-output jobs. ChangeThisFile wins on simplicity and cost: synchronous response, free tier, no client library to install. If your use case is straightforward video format conversion — especially alongside other file types — get a free API key and test it in under a minute. No card, no webhook setup, just a POST.