voice | pipesDownload
Setup

set up your keys.

Voice Pipes runs its fast path on your Mac with no account at all. Two optional keys open up the cloud blocks: OpenRouter for cloud transcription, language and speech models, and TypeSafe for Jev, which picks routes and judges the words you train. You paste each key into the app, never into this website.

What needs a key

ride without one

Start with no keys; add one when a track you want uses a cloud block.

No key
  • Fast dictation: Parakeet on your Mac, Fix words, Paste
  • Read aloud with Pocket TTS, Supertonic-3 or macOS voices (text is read as it is)
  • Train a word (without Jev, likely mishearings are pre-ticked by a simpler rule)
  • History, Vocabulary, the HUD and read-along card, Template, HTTP request, Copy
OpenRouter key
  • Clean dictation (MAI-Transcribe-2, then a Claude Haiku 4.5 cleanup)
  • Any LLM step, and the models Route · Jev sends a question to
  • Read aloud's medium and hard branches, which rewrite figures, code and links for the ear
  • Cloud transcription models and OpenRouter voices
TypeSafe (Jev) key
  • Route · Jev picking the route for each question (without it, the first route answers)
  • Branch · Jev picking the path, such as how hard text is to read aloud (without it, the first branch runs)
  • Judging which mishearings are safe to replace when you train a word
OpenRouter

get an OpenRouter key

OpenRouter is prepaid: you add credits, and each request's cost is taken from them. Prices differ by model. New accounts get a small free allowance, but the cloud models Voice Pipes uses by default are paid ones.

Fees, the free allowance and limits: OpenRouter's FAQ.

From a terminal, vp auth login openrouter signs in through your browser and saves the key for you (CLI reference).

  1. Create an OpenRouter account.
  2. Add credits on the Credits page.
  3. Create a key on the Keys page and copy it. OpenRouter keys start with sk-or-.
  4. In the menu bar, open Voice Pipes and choose Open Voice Pipes…, then Setup. On a new install, the first-run Set up Voice Pipes window has the same field in its API keys (optional) step; Setup → Run setup again… reopens it.
  5. Under Connections → OpenRouter, click the field and paste. It's saved to your Mac's Keychain at once; there's no Save button.
  6. Check the status beside OpenRouter: key valid means you're set. OpenRouter rejected it means the key wasn't accepted (mistyped or revoked); can't reach openrouter.ai means the app couldn't connect, so check your network. ↻ Reload models refreshes the model list.
TypeSafe · Jev

get a TypeSafe key for Jev

Jev is charged per input token; output tokens are free. A route pick sends about 450 input tokens (our measurement), so routing costs very little.

Current price and limits: TypeSafe's Models page.

From a terminal, copy the key and run pbpaste | vp auth set typesafe (CLI reference).

  1. Sign in to the TypeSafe console, or create an account there.
  2. Create a key on the console's Keys page and copy it.
  3. In Voice Pipes, open Open Voice Pipes… → Setup (or use the first-run window's API keys (optional) step).
  4. Under Connections → TypeSafe · Jev, click the field and paste. The status changes from not set to saved.
  5. The app doesn't test this key when you save it. Run a track with a Route · Jev or Branch · Jev step: the line under the HUD shows Jev's pick, for example quick → claude-haiku-4.5 · Jev 262 ms 100%, and the run's log in History shows it too.
Where the keys go
A diagram of Setup → Connections, drawn from the app's own labels. Not a screenshot.
Keeping keys safe

keys stay in the Keychain

  • Voice Pipes keeps both keys in your Mac's login Keychain, not in a file, and shows a saved key masked: its first characters and its last four.
  • This website never asks for a key. Paste keys only into the app, or give them to vp auth, which saves them to the same Keychain and never prints them in full.
  • Remove key deletes a key from the Keychain.
  • If a key may have leaked, create a new one in the provider's dashboard, paste it into the app, and remove the old one there.