// AI NEWS · OPEN SOURCE

Overtone, an Open-Source Caption Tool, Transcribes and Recuts Subtitles for Every Screen Shape From One File

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

What happened

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.

Why it matters for creators

  • Reformatting captions for a different aspect ratio is normally manual rework — you re-wrap the lines by hand for vertical after cutting them for horizontal. Overtone makes the vertical track a derived output from the same words, not a second editing pass.
  • It is a developer tool, not a polished app. It is a CLI and a set of libraries on Node 22.12+, with no GUI editor — so a non-technical creator will not run it directly, even though the output quality is the point.
  • Transcription is not free: it is metered by whoever provides the speech engine (roughly $0.023–0.029 per audio minute), while the offline recut of an existing subtitle file costs nothing.
  • The design choice to let an LLM fix wording but never touch timestamps is a direct answer to a common AI-captioning failure — models that drift or hallucinate timings. Here code owns the clock and the model owns only the words.
  • It signals where the bar is heading: clean line breaks and per-shape caption cuts are becoming table stakes. The real question for a creator is whether to run a caption pipeline or have captioning and reframing already built into the tool that renders the video.

How to act on this with Kompozy

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).

Quick takeaways

  • Overtone is an open-source (MIT), developer-facing caption toolkit that stores each spoken word once and cuts separate subtitle tracks for 16:9, 9:16, or any aspect you name.
  • It offers an offline recut of existing SRT/WebVTT files (no API key, no ffmpeg) and an AI transcribe path using OpenAI, Azure, ElevenLabs, or fully local whisper.cpp + Ollama.
  • An LLM corrects wording and labels speakers, but code — not the model — sets and validates every timestamp.
  • It is a CLI and libraries, not an app: no GUI editor, Node 22.12+, full line rules only for English and Dutch, media up to two hours, no translation.
  • It makes caption files, not published video — for creators who want captions burned into finished, reframed, scheduled clips, that is a job for a content engine like Kompozy.

Frequently asked questions

What is 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.

Is Overtone free?

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.

Do I need to be a developer to use Overtone?

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.

Which languages does Overtone support?

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.

Related news

← All AI news · Get started →