Documentation

Everything about Speakeys

From the first download to custom models and dictionary rules. Most people are set up in five minutes.

Quick start

  1. Download and install Speakeys — see Installation.
  2. Create a Groq API key (free) — see Groq account and API key.
  3. Paste the key when Speakeys asks for it on first launch.
  4. Allow microphone and Accessibility access — see Permissions.
  5. Put the cursor in any text field, hold right ⌘, speak, and let go.

Your 7-day trial starts on first launch. Every feature is available during the trial.

Requirements

  • macOS 14 Sonoma or later, on Apple Silicon (M1 and newer) or Intel.
  • An internet connection — speech recognition and AI editing run on Groq.
  • A Groq API key. Groq has a free tier that is enough to get started.

Installation

  1. Download Speakeys.dmg and open it.
  2. Drag Speakeys into the Applications folder.
  3. Open Speakeys from Applications. A waveform icon appears in the menu bar at the top of the screen — that’s Speakeys. It has no window and no Dock icon.

“Speakeys can’t be opened because Apple cannot check it”? Open System Settings → Privacy & Security, scroll down and click Open Anyway next to Speakeys. Alternatively, double-click Open Speakeys.command in the downloaded disk image. You only need to do this once.

Permissions

Speakeys needs two permissions. Both are requested on first launch.

  • Microphone — to hear you. Click Allow when macOS asks.
  • Accessibility — to notice when you hold right ⌘ or left ⌥, and to paste text into the app you’re using. Choose Grant permissions… in the Speakeys menu; it opens System Settings → Privacy & Security → Accessibility, where you switch Speakeys on.

Speakeys never reads what you type. It only reads the text you have selected at the moment you hold left ⌥.

Groq account and API key

Speakeys sends your audio to Groq, which runs the speech model (Whisper) and the AI model very fast. You use your own Groq key, so your usage is between you and Groq, and we never see it.

  1. Go to console.groq.com and sign up (Google, GitHub or e-mail).
  2. Open API Keys and click Create API Key. Give it a name, e.g. “Speakeys”.
  3. Copy the key — it starts with gsk_. Groq shows it only once.
  4. In Speakeys, paste it into the dialog shown on first launch, or choose Groq API key… from the menu later.

The key is stored in your macOS Keychain. To replace it, choose Groq API key… again.

Costs. Groq’s free tier has usage limits that are enough for everyday dictation for many people. If you need more, add billing in the Groq console; Groq charges you directly at its API rates. Your limits are shown under Settings → Limits in the Groq console.

Recommended: in the Groq console open Settings → Data Controls and turn on Zero Data Retention, so Groq keeps no logs of your requests. See Privacy and EU.

Dictation

  1. Click into any text field — an e-mail, a chat, a document, a code editor.
  2. Hold right ⌘. A small “Dictating” panel appears at the bottom of the screen.
  3. Speak, then let go. The text is pasted where your cursor is.
  • Cancel: press Esc — or any other key — while holding. Normal shortcuts like ⌘ C keep working.
  • Taps shorter than 0.3 s are ignored. Silent recordings are never pasted.
  • Your clipboard is restored right after pasting.
  • Speakeys adds a space after dictated text, so you can keep talking in chunks. To turn this off, see Advanced settings.

Editing with AI

  1. Select text in any app.
  2. Hold left ⌥ and say what to do with it.
  3. Let go. The selection is replaced with the result.

With nothing selected, Speakeys writes new text from your instruction and inserts it at the cursor. The result keeps the language of your text unless you ask for another one.

Instructions that work well:

  • “Make it shorter and more formal.”
  • “Fix grammar and punctuation, don’t change the wording.”
  • “Translate into German.”
  • “Turn this into three bullet points.”
  • “Write a polite reply declining the meeting.”

Right ⌥ is left alone, so accented characters (é, ü, ą) still work as usual.

Language

Choose Language in the menu: Polski, English or Automatic. A fixed language gives the most accurate results; Automatic detects the language of each recording and also handles other languages supported by Whisper.

Microphone

By default Speakeys records from your Mac’s built-in microphone, even when headphones are connected. Bluetooth headphones (including AirPods) switch to a low-quality call mode when recording starts, which cuts off your first words and lowers accuracy.

To change it, open Microphone in the menu and pick Built-in (recommended), System default or any connected device. If the chosen device is disconnected, Speakeys falls back to the built-in mic.

History

History in the menu lists your latest results. Click one to copy it to the clipboard again. History is stored only on your Mac.

Personal dictionary

Teach Speakeys names, brands and jargon it should spell correctly. Choose Edit dictionary… in the menu — a plain text file opens:

~/Library/Application Support/Speakeys/dictionary.txt

Put one entry per line. Lines starting with # are comments.

# Terms — names, products, jargon
Kubernetes
Finarena
PostgreSQL

# Correction rules — wrong => right
Postgres => PostgreSQL
Jon Smyth => Jon Smith

Terms

Terms are passed to the speech model as hints, so it recognises them more reliably. The hints are limited to 800 characters in total — put the most important terms first.

Correction rules

A rule wrong => right fixes a word the model keeps getting wrong. Rules:

  • ignore letter case in what was recognised and insert the right side exactly as written;
  • match from the beginning of a word and also fix inflected forms (in Polish, Tankowicz => Tonkowicz also turns “Tankowicza” into “Tonkowicza”);
  • never change the middle of a word;
  • apply to dictation and to AI results; the right side is also added to the hints.

Speakeys reads the file on every recording, so changes apply immediately — no restart needed.

Speech and AI models

Speakeys uses two Groq models:

SettingDefaultUsed for
sttModelwhisper-large-v3Speech recognition
llmModelopenai/gpt-oss-120bEditing with AI

You can switch to any compatible model available in your Groq account. Open Terminal and run, for example:

# faster, slightly less accurate speech recognition
defaults write app.speakeys.mac sttModel whisper-large-v3-turbo

# a smaller, faster AI model
defaults write app.speakeys.mac llmModel openai/gpt-oss-20b

The change applies to the next recording. To go back to the default:

defaults delete app.speakeys.mac sttModel
defaults delete app.speakeys.mac llmModel

Model names change over time — check the current list at console.groq.com/docs/models. Speech models must support audio transcription; AI models must support chat completions.

Advanced settings

Launch at login: choose Launch at login in the menu.

No space after dictated text:

defaults write app.speakeys.mac trailingSpace -bool false

Use a Groq key from an environment variable instead of the Keychain (for managed setups): set GROQ_API_KEY. A key saved in the Keychain takes precedence.

Trial and license

Speakeys is free for 7 days from the first launch, with every feature. The menu shows how many days are left.

After the trial, holding the keys shows “Trial ended — enter a license key”. Your settings, dictionary and history are kept.

  1. Choose a plan on the pricing page. You get a license key by email.
  2. In Speakeys choose Enter license key…, paste the key and confirm.
  • One key works on up to 3 Macs. To move it to another Mac, choose License… → Deactivate on this Mac first.
  • Speakeys checks the license about once a week and keeps working offline for up to two weeks.
  • Monthly keys stop working when the subscription ends. Lifetime keys never expire.

Privacy and EU

Audio and text never touch our servers: they go from your Mac directly to Groq, using your own API key; we never receive or store them. Your settings, dictionary and history stay on your Mac. License checks send only your license key, an activation ID and your Mac’s name to our license server, hosted in the EU.

Speakeys is made by Finarena Sp. z o.o. (Poland, EU). Your use of Groq is covered by Groq’s terms:

  • Groq offers a Data Processing Addendum with EU Standard Contractual Clauses. Customers in the EEA contract with Groq UK Limited.
  • Groq may not use API inputs or outputs to train models (Services Agreement).
  • By default Groq doesn’t retain inference data but may keep logs for up to 30 days for abuse monitoring. Turn on Zero Data Retention in Settings → Data Controls to disable that (details).
  • Groq runs data centres in Europe, including Helsinki, Finland. For standard API accounts Groq does not guarantee EU-only processing, and data it retains is stored in the United States. If you need guaranteed EU-only processing, ask Groq about an enterprise agreement.

Troubleshooting

Nothing happens when I hold right ⌘.
Speakeys is missing the Accessibility permission. Choose Grant permissions… and switch Speakeys on. If it is already on, remove Speakeys from the list with “–”, add it again with “+”, and restart Speakeys.
Speakeys says the text is in the clipboard.
Speakeys couldn’t paste into the current app — usually the same Accessibility issue. Paste manually with ⌘ V and check the permission.
“Groq HTTP 401”.
The API key is wrong or was revoked. Create a new key and paste it via Groq API key….
“Groq HTTP 429”.
You hit Groq’s rate limit. Wait a moment, or raise your limits by adding billing in the Groq console.
The beginning of my sentence is missing.
You are probably recording with Bluetooth headphones. Switch Microphone to Built-in (recommended).
A name keeps being misspelled.
Add it to your dictionary, or add a correction rule.

Updating from MOVA

Speakeys was previously called MOVA. On first launch Speakeys copies your Groq key, settings, dictionary and history from MOVA automatically. macOS may ask once whether Speakeys may use the key saved by MOVA — click Always Allow.

Because the app has a new name, grant the Accessibility permission again, then delete the old MOVA app.

Uninstall

  1. Choose Quit Speakeys in the menu. If you want to use your license on another Mac, deactivate it first (License…).
  2. Move Speakeys from Applications to the Trash.
  3. Optionally remove your data:
    rm -r ~/Library/Application\ Support/Speakeys
    defaults delete app.speakeys.mac
    and delete the saved Groq key in Keychain Access (search for app.speakeys.mac).

Didn’t find an answer? Write to [email protected] — we usually reply within one business day.