Captionshaper

Word-timed subtitles, written by a speech model on your own computer.

Platform
Mac (Apple Silicon) and Windows
Built with
Electron, whisper.cpp, Silero VAD, FFmpeg with libass
First release
November 2026 · now v1.1.2
Licence
GPL-3.0
0.7%Word error rate on the test clips
≤ 0.11 sHow far word start times land from the real ones
3.4 sTo transcribe a 38-second clip on Apple Silicon (37 s before GPU support was switched on)

The problem

Short vertical videos need captions, and the usual way to get them is a cloud editor or a subscription. The video has to be uploaded, and free tiers add watermarks or limits.

Speech models that run locally are free and accurate, but they are command-line tools that produce plain text, not styled, word-timed captions.

What it does

Drop in a video and Captionshaper writes every word with its timing, offline. Fix any word, pick one of nine caption styles, and export SRT, VTT, ASS or an MP4 with the captions burned in.

Captionshaper app window

Key decisions

  1. Mute the music before transcribing. Speech models tend to invent words over music and silence. Captionshaper finds speech first with a separate voice detector, silences everything else, and drops any word outside speech.
  2. Its own caption layout engine. Every word is measured and placed by the app, so the preview and the exported video match almost pixel for pixel, including word-by-word pop and highlight styles.
  3. Built for vertical video. Captions stay inside a safe zone, and a phone view draws TikTok-style buttons over the video so nothing ends up hidden behind them.
  4. Show words while it works. Audio is split at natural pauses into chunks of about 28 seconds, so words appear on screen as they are transcribed instead of all at the end.
  5. Download the model once, safely. Speech models download with resume, retry and a SHA-256 check. After that, the app never needs the internet.

How it was tested

What’s next