Shotstack lets you build video editing into your app via API. You describe a video using a JSON timeline — clips, text, music, transitions — and Shotstack renders it. It's for automated video generation: personalized marketing videos, social media clips, real estate tours, e-learning segments.
ChangeThisFile doesn't edit video. It converts files between formats. If you have a video in MOV format and you need MP4, or you want to extract the audio as an MP3 — that's ChangeThisFile's job. One endpoint, one POST, synchronous response, no SDK needed.
These products are aimed at different problems. This comparison explains which one you need.
Quick verdict
Need to programmatically compose or edit video (add text, combine clips, apply transitions)? Shotstack. ChangeThisFile doesn't do video editing.
Need to convert a video file from one format to another? ChangeThisFile. Shotstack is an editor, not a converter — you can't simply send it a file and get a different format back.
Need to process user-uploaded videos for compatibility? ChangeThisFile — normalize MOV or AVI uploads to MP4 with a single API call.
No budget for experimentation? ChangeThisFile's free tier is 1,000 conversions/month with no credit card. Shotstack has a free tier of limited renders/month.
Pricing comparison
| Plan | ChangeThisFile | Shotstack |
|---|---|---|
| Free tier | 1,000 conversions/month (no card) | Free tier — limited renders/month |
| Entry paid | $29/mo — 10,000 conversions | ~$49/mo (pay-as-you-go from ~$0.05/render) |
| $99/mo equiv. | $99 Startup — 50,000 conversions | Studio plan — higher render quota |
| High volume | $499 Scale / $1,999 Growth | Enterprise plans |
| Billing model | Per conversion | Per render (video editing output) |
Shotstack's billing is per rendered video, which makes sense for an editing API — each render is a compute-intensive composition job. ChangeThisFile bills per conversion. Neither is directly comparable because they're doing different things, but for pure format conversion, ChangeThisFile is significantly cheaper per operation.
Feature comparison
| Feature | ChangeThisFile | Shotstack |
|---|---|---|
| Free API tier | Yes — 1,000/mo, no card | Yes — limited renders/mo |
| Video timeline editing | No | Yes — core feature |
| Text overlays and titles | No | Yes |
| Transitions and effects | No | Yes |
| Audio track mixing | No | Yes |
| Format conversion (MP4↔WebM, etc.) | Yes — 690 routes | Not directly |
| Audio extraction from video | Yes | No |
| Synchronous API | Yes — file returned in response | No — async render jobs |
| SDK required | No — curl/fetch/requests work directly | SDKs for Node, PHP, Python |
| Non-video file conversion | Yes — images, docs, audio, archives | No |
| Template-based video generation | No | Yes |
API and developer experience
ChangeThisFile is a direct HTTP call — no SDK, no timeline JSON, no render job to track. Source format is auto-detected from your filename.
curl -X POST https://changethisfile.com/v1/convert \
-H "Authorization: Bearer ctf_sk_your_key" \
-F "file=@upload.mov" \
-F "target=mp4" \
--output upload.mp4
Shotstack uses a declarative JSON timeline API. You describe the edit you want — which clips go where, what text appears when, which audio track plays — and Shotstack renders it. This is powerful for programmatic video creation but requires you to model your edit as a timeline structure. Simple use case example:
{"timeline": {"tracks": [{"clips": [{"asset": {"type": "video", "src": "..."}...}]}]}, "output": {"format": "mp4", "resolution": "hd"}}
Shotstack's model is well-designed for what it does, but if your task is "convert this MOV to MP4," the timeline abstraction adds unnecessary complexity.
When to choose which
| Use case | Recommended |
|---|---|
| Generate personalized videos at scale | Shotstack |
| Add text overlays or watermarks to video | Shotstack |
| Combine multiple video clips into one | Shotstack |
| Add music or voiceover to a video | Shotstack |
| Automate social media video production | Shotstack |
| Convert MOV to MP4 for web compatibility | ChangeThisFile |
| Extract audio from a video file | ChangeThisFile |
| Transcode user uploads to a standard format | ChangeThisFile |
| Convert video to GIF for previews | ChangeThisFile |
| Fast, sync conversion with zero library dependencies | ChangeThisFile |
If your use case involves creating or editing video content programmatically, Shotstack is the right tool. If you need to convert a video file between formats — format normalization, audio extraction, web compatibility — ChangeThisFile handles it with a single POST. Get a free API key and test your first conversion immediately — no proprietary client library needed.