Hotkey-driven voice-to-text for Windows. Press a hotkey, talk, press another — the transcript lands at the cursor in whatever app is active, as if you had typed it.

Optimized for German, built first and foremost for one job: talking to AI.

free or a few dollars a month no subscription good enough to send unread one press to your AI

View on GitHub Get started

Open source MIT Windows bring your own API keys

Why it exists

Most of the maintainer's workday is talking to LLMs — and the keyboard is the bottleneck. Some version of this tool has been his daily driver since 2023; commercial tools have caught up since, but he still maintains his own because none of them gets all of the essentials right at once:

  1. Free — or a few dollars. No subscription: the free path costs nothing, and even heavy daily dictation runs about $3 a month on the paid default.
  2. Optimized for German. The lineup follows whatever tests best for German in hands-on use, re-evaluated every few months — regardless of vendor.
  3. Send it unread. The quality bar behind every model choice: transcripts reliable enough to go straight to an LLM, no proofreading pass.
  4. One press to your AI. A dedicated hotkey transcribes, inserts at the cursor, and presses Enter for you — dictation straight into a running AI chat.
  5. Two styles, four APIs. Verbatim or polished, switchable at runtime — plus recognition vocabulary for your terms and hallucination filters for German artifacts.
  6. Your data stays yours. Not training data — audio goes only to the API you chose; recordings and transcripts are archived on your disk, nowhere else.

The loop

  1. Ctrl+Alt+W Start recording, and talk.
  2. Ctrl+Alt+A Stop: the transcript lands at the cursor.
  3. Ctrl+Alt+H Or insert and press Enter — entire AI conversations without touching the keyboard.

Prefer to hold a key instead? Optional push-to-talk: hold, talk, release.

The quality bar

“Everything the tool outputs must be good enough to send to an LLM unread.”

No proofreading pass — that would hand back the very time voice input buys. Transcripts have to be reliable at the level of meaning; that standard is what every model choice is measured against.

VISION.md, the standard behind every decision

Different engines, different strengths

No one engine is best at everything. Thoughtborne keeps four APIs side by side, switchable at runtime with Ctrl+Alt+L; they differ mainly along one axis — speed versus tidiness: some are ready the instant you stop and stay close to how you spoke, others take a little longer and read a bit more cleanly.

APIIn shortKey & cost
Soniox Liveverbatim · instant (default)Soniox (prepaid)
Sonioxpolished · takes longerSoniox (prepaid)
Groq Whisper Large v3accurate · freeGroq (free tier)
Groq Whisper Turbo v3fast · freeGroq (free tier)

What it costs

There is no subscription anywhere in this stack. You bring your own API keys and pay the providers' usage prices — a fraction of the $12–15 a month that subscription dictation tools charge.

$0 the Groq path
A real free tier, not a trial. Both Groq engines run on Groq's generous free tier — 2,000 requests and up to about eight hours of audio a day, enough for daily use.
$0.12 per hour of audio
The Soniox default. No free tier: top up a small prepaid balance and pay as you go from the first minute — only for what you actually transcribe.
~$3 per month, heavy use
Measured, not estimated. The maintainer dictates about 25 hours of audio a month, averaged over the last six months. Lighter regular use lands around a dollar.

One honest note: the quality bar above — German good enough to send unread — is anchored by the paid Soniox default. The free Groq engines are capable; the bar is measured against Soniox.

Beyond the loop

The loop is the product. Around it, the details that make daily dictation dependable:

Recognition vocabulary
Your names and special terms are handed to the speech model as context, so they come back spelled right (Soniox engines).
Hallucination filters
Speech models produce well-known artifacts; Thoughtborne ships model-specific filters for German ones, built from three years of annotated transcriptions.
Push-to-talk
Optional: hold a key, talk, release. Off by default.
Parallel dictation
Start the next recording while the previous one is still transcribing — inserts stay in order.
Local archive
Every recording and its transcript, paired on your disk.
Never lose a recording
A retry hotkey plus a safety net for crashes, exits, and device loss.
Built-in self-test
One hotkey checks the whole pipeline end to end.
Built to be changed
A single, readable Python script — small enough to hand to an AI coding agent with a feature request.

Your data is not training data.

Audio goes to the transcription API you chose, and nowhere beyond that. Recordings and transcripts are archived locally, nowhere else — no cloud storage.

Every integrated API must offer at least an opt-out from training on user data; APIs that can't are not integrated.

Get started

Windows, a microphone, and at least one API key — Groq's free tier works. Setup lives in the repo: a standard path via uv, a guided setup for AI coding agents (llms-install.md), and a classic pip fallback.

Thoughtborne is a single Python script, not an installed product — lean, readable end to end, easy to modify. The trade-off: it runs from a terminal window, not behind a GUI.

Installation (README) Agent-guided setup

Built for people who think technically — comfortable launching a script in a terminal and pasting an API key into a .env file.