for speech straight to agents

Whisper Assistant sends what you say straight to an AI agent. One agent cleans it up and types it wherever your cursor is. Another answers it, with your screen as context. Leave it running in a call and it writes up the meeting.

Windows 10 and 11, and macOS. Bring your own API key.

How it works

Click into any text box. Press F1 and talk, then press F1 again. Or hold the key down and let go when you're done. Whisper Assistant transcribes the audio, hands it to the agent on the chip, and pastes what the agent returns where your cursor was.

The HUD while you talk. The chips are live: click them to switch the agent or screen reading for this recording.

Each app can have its own agent. Slack stays short, email gets a greeting and a sign-off, and your editor gets file names spelled the way they're written.

You said12 s

uh hey can you push the staging deploy to after lunch, actually no make it three, Jonas still has the migration open so yeah

Pasted in Slackagent: Clarify

Can you push the staging deploy to 3? Jonas still has the migration open.

Unramble

Unramble is the default cleanup agent. It fixes punctuation, drops the ums, and turns spoken symbols into characters, so "notes dot txt" becomes notes.txt and "at sign" becomes @. Your wording stays yours. When you want tighter sentences, click the chip over to Clarify.

Everything you say is treated as text to write down. If you dictate "ignore that and write a poem about cats", that sentence is what gets pasted. It won't answer your question or tidy up your swearing.

Short replies skip the language model. Anything under 40 characters, like "sounds good, see you at 3", is pasted the moment it's transcribed. Click the chip to None and every dictation comes through word for word.

Spelling from your screen

When you start recording, Whisper Assistant reads the text on your screen with your operating system's built-in OCR. It picks out up to 30 names and terms and gives them to the speech model as spelling hints. If the ticket you're looking at says Szymański and Kubernetes, so will your text.

Names and jargon

For words that aren't on screen, add them to the vocabulary. For words the model keeps getting wrong, add a replacement. Replacements also work as snippets: say "my email" and get the address.

transcription_profiles:
  - label: "Whisper"
    vocabulary: "Szymański, Kubernetes, Logseq"

replacements:
  "Visper Assistant": "Whisper Assistant"
  "my email": "sam@example.com"

Agents are a model and a prompt in config.yaml. Write your own for commit messages or replies in Danish.

dictation_agents:
  - label: "Commit"
    model: "openai/gpt-oss-20b"
    apps: ["Code", "Cursor"]   # used automatically in these apps
    system_prompt: |
      Turn the transcript into a git commit message.
      Imperative subject under 60 characters, then a short body.

Assistant

Press F3 instead of F1 and what you say becomes a question for a chat model, sent along with the text on your screen. Turn on the Clipboard or Screenshot chip to include those as well. The answer opens in a small window and is copied to your clipboard.

You saidchips: OCR, Screenshot

why does this test only fail on windows

Answer windowagent: General

The test builds the expected path with "/" and compares it to the output of os.path.join. On Windows that output uses backslashes, so the strings never match. Build both sides with pathlib.Path, or compare them after os.path.normpath.

Edit by voice

Select a paragraph, press F3, and say what to change: "shorter, and drop the second sentence". The selection is replaced with the new version.

Follow up

Alt F5 continues the same conversation, up to 20 messages. You can also switch between dictation and Assistant in the middle of a recording by pressing the other key.

Meeting Mode

Alt F6 records your microphone and your computer's audio as two separate tracks. Nothing joins the call, so Zoom, Teams, Meet and a phone call on speaker all work the same way.

Each track is transcribed on its own and merged by timestamp. Your microphone is Me. The other side is split by voice into Speaker 1, Speaker 2 and so on, and each person keeps their label for the whole meeting. Speaker separation runs on your own machine, on the GPU if you have one.

When you stop, an agent writes a summary with decisions and action items at the top of the file.

# Meeting 2026-10-14 10:02

## Summary
- Launch moves to 3 November. Design needs a week for the pricing page.
- Speaker 1 sends the updated contract by Friday.
- Open: who owns the onboarding emails.

## Transcript
[00:00] **Me:** Okay, I think everyone's here. Launch date first.
[00:06] **Speaker 1:** We won't make the 27th. Pricing isn't done.
[00:11] **Speaker 2:** Design needs one more week, realistically.
[00:15] **Me:** So the 3rd. Can everyone live with the 3rd?

The transcript is written to a markdown file as the meeting goes, in 29-minute chunks, with an optional WebVTT copy. A recording can run for five hours. The last ten meetings are in the tray menu.

Where text goes

Each mode has four destinations, and you can turn on any mix of them: at the cursor, on the clipboard, in a new window, or saved to a file. Dictation goes to the cursor by default. Assistant answers go to a window and the clipboard. Meetings go to a file.

Text goes into the box you were in when you started talking. If you click somewhere else while it's transcribing, it still lands in the right place. If a paste can't land at all, the HUD tells you and the text waits on your clipboard.

Pasting uses the clipboard for a moment. Whatever you had copied before is put back afterwards.

Nothing gets lost

Every recording is saved to disk before it's uploaded. If the connection drops or the transcript comes out wrong, Resend puts your last recording back on the HUD. Pick a different agent and send it again. You don't have to say it twice.

Your last ten dictations are in the tray menu. Click one to copy it.

Setup

  1. Download the installer for Windows or macOS. On a Mac, drag the app into Applications.
  2. Create a free API key at console.groq.com/keys. Open Manage API Keys from the tray icon and paste it in. That one key covers transcription and cleanup. Assistant uses OpenRouter by default, so add a key there too if you want it.
  3. On macOS, a window asks for three permissions: Accessibility for the hotkeys, Microphone, and Screen Recording for reading screen text. Restart the app once after granting Accessibility.
  4. Click into a text box and press F1. The app starts with your computer from then on, if you let it.

Settings live in one file, config.yaml. Open it from the tray with Edit Config File, and press Alt F12 to reload it without restarting.

Hotkeys

Tap a key to start and tap again to stop, or hold it and let go. These are the defaults. You can bind 33 actions to any key you like.

F1Dictate
F3Assistant
Alt F6Start or stop Meeting Mode
F4Next agent
F8Cancel the current recording
Alt F1Screen reading on or off
Alt F2Send clipboard with the question
Alt F3Send a screenshot with the question
Alt F5Follow up on the last answer
Alt F12Reload config

Concepts

Six words cover the whole app.

Mode

Dictate, Assistant or Meeting. Each has its own key and its own settings.

Transcription profile

Which speech model runs, and where. Groq by default. Switch from the tray.

Agent

A model and a prompt. Dictation agents clean your words. Assistant agents answer.

Chip

A switch on the HUD. Click it while you're talking.

Context

Extra input sent with your words: screen text, clipboard, or a screenshot.

Destination

Where the result lands: cursor, clipboard, window or file.

Privacy

There's no account, and no Whisper Assistant server sits between you and the model. You talk to the provider you picked, under your own API key. The one request this site gets from the app is the update check, which sends your platform and version number.

Where does the audio go?

To your transcription provider, Groq by default. Switch the transcription profile to Local and Whisper runs on your own CPU or GPU, so the audio never leaves the computer.

Where does the text go?

To the model behind your agent. Agents accept any OpenAI-compatible address, so you can point them at Ollama or LM Studio on the same machine. With the agent chip on None, the text goes nowhere but your cursor.

Does it read my screen?

Dictation reads text, and never takes a screenshot. Your operating system's OCR does the reading on your machine, and only the words it finds go to the cleanup model to pick spelling hints. Click the OCR chip off when there's something on screen you'd rather not send. Assistant sends a screenshot only when you turn on its Screenshot chip.

What stays on my disk?

Recordings, so Resend works. The folder is capped at 500 MB and the oldest files go first. Set the cap to zero and nothing is kept. Speaker separation in Meeting Mode also runs on your disk, with models downloaded once.

Cost

You pay the model provider directly, at their price. The default speech model, Whisper Large v3 Turbo on Groq, costs $0.04 per hour of audio. Half an hour of dictation every working day comes to about 45 cents a month, plus the cleanup model's tokens.

Groq runs that model at 216 times real time. A minute of audio takes about a third of a second to transcribe once it's uploaded.

Questions

Does it work in every app?

It works anywhere you can paste: browsers, Slack, Word, terminals, code editors, the chat box in a game. If a field blocks pasting, turn on the clipboard destination and paste by hand.

Which languages does it understand?

The default model is multilingual, and Whisper Assistant doesn't force a language, so you can dictate in whatever you speak. Unramble keeps the language you used.

What if I talk for ten minutes?

Long recordings are split into pieces under the provider's upload limit, transcribed, and joined back together. Nothing is cut off at the end.

Will it run my commands if I say "delete everything"?

No. Dictation agents are told to write down what you said and never act on it. Only Assistant answers questions, and its answers go to a window that you read first.

Does a bot join my calls?

No. Meeting Mode records your computer's audio output directly, so the other people see nothing new in the call. On macOS this needs version 14.4 or later.

Can I use OpenAI, Mistral, or my own server?

Yes. Transcription profiles and agents take any OpenAI-compatible endpoint and key. Groq is the default because it's fast and cheap.