Why free caption tools watermark, cap minutes or ask for a card
Updated
A hosted tool pays for every minute you transcribe, somewhere between a fraction of a cent and a cent or so depending on the provider, plus the much larger cost of rendering video. A free tier that did not bound that would be an open invoice, so it gets bounded three ways: a watermark, a cap on minutes, or an account. Which lever a tool pulls tells you what it is worried about. A tool that runs on your own hardware pays none of it and so needs none of them.
The cost that forces the limit
Speech recognition on a server is cheap per minute and expensive in aggregate. The arithmetic is unforgiving in the same way free hosting is: a thousand visitors transcribing ten minutes each is ten thousand minutes a day, and none of those visitors have paid anything.
Rendering is worse. Burning captions into a video means decoding every frame, drawing on it, and encoding it again, and that is CPU time measured in minutes per video rather than fractions of a cent per minute. This is why so many free tiers stop exactly at the point where the output stops being a text file.
None of this makes those tools dishonest. It makes their free tier an advertising budget, which has to be capped the way any budget is.
The three levers, and what each one is really for
They are not interchangeable. A tool picks the lever that matches the problem it has, so the lever tells you something:
- A watermark is advertising plus upgrade pressure. It costs the service nothing and it is the only lever that makes your output carry their name
- A minutes cap is direct cost control. It is the honest lever, and it is the one that makes the free tier useless for a long recording
- An account is abuse control first and a mailing list second. It stops one person consuming the free tier a thousand times, and it is also the only lever that gets them something durable
- A free trial is none of the above. It is the paid product with an expiry date, and it usually wants a card up front so the expiry converts quietly
What this looks like in practice, checked on 2026-10-10
Three examples, read off their own pricing and product pages on that date. These change often and the dates matter more than the numbers, so treat them as a shape rather than a current quote:
- Kapwing: free exports carry a watermark, capped at 4 minutes per export and 30 minutes a month, 720p maximum, account required. Cheapest paid plan $16 a month billed annually
- Otter: 300 transcription minutes a month, 30 minutes per conversation, 3 file imports for the lifetime of the account, account required. Cheapest paid plan $8.33 a month billed annually
- CaptionX: free web exports carry a watermark and the subtitle file does not, 10 minute cap, audio sent to their servers, 5 caption generations on the free tier. Cheapest paid plan $139 a year
What changes when the compute is yours
All three levers exist to bound a cost. Move the work onto the machine the visitor already owns and the cost is not reduced, it is somebody else's: a minute of audio transcribed in your browser costs this site nothing at all, no matter how many minutes you do.
So there is nothing to meter. That phrase is doing precise work and it is worth separating from the word unlimited, which usually means a sales promise and occasionally means a lie. There is no monthly allowance and no per-file quota because there is no invoice for either to protect.
The limits this one has instead, stated plainly
A tool with no metering still has limits, and they come from the browser tab rather than from a price list. Pretending otherwise would be the same trick in a different costume:
- Length: 2 hours per recording. It is a memory limit, not a policy. The decoded audio, the speech model and the video all have to be resident at once
- Burn-in stops sooner than that, and how much sooner depends on the output size, because the whole file is assembled in one allocation. The limits page gives the figure per resolution
- Speed depends entirely on your hardware. Around 8.6x faster than realtime on a GPU that supports WebGPU, roughly realtime or worse on a CPU fallback, and 7.1x end to end once decoding and the model download are counted
- Accuracy is a smaller whisper model than a paid service runs. Proper nouns, jargon, overlapping speakers and strong accents are where it misses
- No speaker labels, and a deliberately short language list rather than a hundred, because accuracy falls away outside the best-represented languages
- Desktop-first. A phone browser may not have the GPU access or the memory, and it will say so rather than failing halfway