The MIT-licensed project stores each spoken word once, then cuts separate caption tracks for 16:9 and 9:16 — letting an LLM fix names and terms while code, not the model, keeps every timestamp.
2026-10-29 · by Moe Ameen
Overtone (lonthq/overtone-captions) is an open-source, MIT-licensed caption toolkit made by Lont (lont.ai). Its idea is in the tagline — "captions cut for every screen shape, from one file." Instead of storing finished subtitle cues the way SRT or WebVTT do, Overtone stores each spoken word once, with its time and speaker, and then derives separate caption tracks for each picture shape. The defaults are 16:9 and 9:16, and you can name any aspect ratio. It ships as three npm packages — a command-line tool, a video.js plugin with five style packs, and a format package that defines the `.overtone.json` file plus WebVTT, SRT, and text exporters — along with an agent skill for Claude Code and Codex.
There are two main workflows. `recut` runs offline with no API key and no ffmpeg: point it at an existing SRT or WebVTT file and it rebuilds the line breaks for each shape, estimating word times from the cues. `transcribe` needs ffmpeg and provider API keys; OpenAI's gpt-transcribe and Azure AI Speech are the defaults, ElevenLabs Scribe is optional, and `--local` runs it fully offline with whisper.cpp and Ollama. A `--dry-run` flag estimates the provider cost before anything is sent.
The engineering is the interesting part. Several engines hear the audio — one returns text, another returns word timing and speakers — and where they disagree an LLM picks the words. A second LLM step corrects terms and names against your glossary, labels speakers, marks key words, and sends uncertain edits to a review list. A versioned rule set does the line-breaking: it avoids breaking after weak words, keeps names and numbers together, separates speakers, and turns pauses into breaks. Crucially, the LLM never sets a timestamp — code validates only the structure of its edits. A small public benchmark reports 0.3% of line breaks falling on a weak word, against 28.8% for filling to a character limit and 16.1% for ElevenLabs' SRT export, at a transcription cost of roughly $0.023–0.029 per audio minute. Stated limits: media up to two hours, no translation, no sound tags like `[music]`, no GUI editor, and full line-cutting rules only for English and Dutch.
Overtone is a genuinely smart answer to a developer's problem: produce high-quality caption files, cut correctly for both a wide and a vertical frame, from one transcript. But read the limits honestly and you can see who it is for. It is a CLI on Node 22.12 with no GUI, it outputs caption files rather than finished video, and it stops at the subtitle — it does not render, reframe, or publish anything. Most creators do not want to run a transcription pipeline; they want captioned video that is already shipped. That is the gap [Kompozy](/) closes by baking captioning into the render itself.
When Kompozy generates a [Persona Short](/glossary/persona-shorts) or a Clipped Short, auto-captions are burned into the actual video, styled on-brand, and the clip is reframed to each platform's aspect ratio in the same pass — the "one source, every screen shape" idea Overtone applies to text files, applied to the finished video a feed actually plays. From there [Autopilot](/glossary/autopilot) schedules and publishes the captioned clips across the eight social platforms plus blog and email, with a per-post review where you add your AI-disclosure line. If you are a developer who wants raw, provider-grade caption files you control, Overtone is a strong offline option; if you want captioned, reframed, published video without touching a terminal, that is Kompozy. For the platform-native side of this, see our coverage of [iOS 27 generated subtitles](/ai-tools/ios-27-generated-subtitles), and the full tool breakdown at [Overtone](/ai-tools/overtone).
Overtone (lonthq/overtone-captions) is an open-source, MIT-licensed caption toolkit. It transcribes or re-cuts captions and stores each spoken word once, then derives separate subtitle tracks for each screen shape — 16:9 and 9:16 by default, or any aspect ratio you name — from that single source.
The software is free and open-source under the MIT license, and the offline recut of an existing SRT or WebVTT file costs nothing. The AI transcribe workflow uses third-party speech providers (OpenAI, Azure, or optionally ElevenLabs), which charge roughly $0.023–0.029 per audio minute, or you can run it locally with whisper.cpp and Ollama.
Effectively yes. Overtone is a command-line tool and a set of libraries that run on Node.js 22.12 or newer, with no graphical editor. A non-technical creator who just wants captioned video is better served by a tool that builds captioning into the render, such as Kompozy.
Full line-cutting and number rules exist for English and Dutch. German, French, Spanish, Italian, and Portuguese get language detection with neutral rules, and other languages fall back to neutral rules. Space-less scripts like Chinese, Japanese, and Thai are cut by phrase rather than by word. Overtone does not translate.