Coming soon

Scripting dictation on a Mac

Mynato exposes a local HTTP endpoint, so your own tools can start a dictation or transcribe a file.

Every dictation app on the Mac is a closed box. You press its key, it types, and that is the whole surface. If you wanted a Shortcut to start a dictation, or a script to transcribe a voice memo, or a hotkey in Raycast to open a session — you could not, in any of them.

Mynato runs a small HTTP server on your own machine so you can. This page is the whole of it.

Turning it on

It is off by default, and stays off until you switch it on in Settings. When you do, Mynato generates a token and shows it to you.

Two properties worth stating plainly, because a dictation tool listening on a network would be a genuinely bad idea:

  • It binds to 127.0.0.1 only. Not 0.0.0.0. Nothing outside your Mac can reach it — not another machine on your Wi-Fi, not your router, not us.
  • Every endpoint that does anything requires the token. There is no "no auth" mode to forget to turn off.

Default port is 8756. Your token lives in Mynato's settings file; treat it like any other secret and keep it out of anything you commit.

The endpoints

GET /healthIs it running. The only one that needs no token.
POST /dictateToggles recording. Returns whether it is now recording.
POST /transcribeBody is raw audio bytes. Returns the text.
GET /historyYour recent dictations.

Authenticate with either header:

Authorization: Bearer YOUR_TOKEN X-API-Token: YOUR_TOKEN

Is it running?

curl http://127.0.0.1:8756/health

Returns {"ok":true,"app":"Mynato"}. No token needed, so it is safe to poll from a status bar script or a health check.

Start and stop a dictation

curl -X POST http://127.0.0.1:8756/dictate -H "Authorization: Bearer YOUR_TOKEN"

This is the same thing your hotkey does. It toggles: call it once to start, once again to stop. The response tells you which state you are now in, so a script can check rather than assume.

The text lands wherever your cursor is, exactly as it would if you had pressed the key yourself — because it is the same code path, not a special API mode.

Transcribe a file

curl -X POST http://127.0.0.1:8756/transcribe -H "Authorization: Bearer YOUR_TOKEN" --data-binary @memo.wav

Send audio, get back {"text":"…"}. Nothing is typed anywhere and nothing is uploaded — the model runs on your Mac, so this works with the network off and there is no per-minute charge, because there is nobody to charge you.

The recorder works in 16 kHz mono WAV, which is what the speech model expects. Feeding it something else may work and may not; convert first if you care about the result.

Things people build with it

  • A Shortcut on the menu bar or the Touch Bar that starts dictation without a keyboard at all — useful if pressing keys is the thing you are avoiding.
  • A Raycast or Alfred command, so dictation starts from the same place as everything else you launch.
  • A foot pedal. Map a cheap USB pedal to a script that calls /dictate. Hands entirely out of the loop.
  • Batch transcription. A folder of voice memos, a loop, and /transcribe. No API bill, no upload, no rate limit.
  • A watched folder — anything dropped in gets transcribed and the text written next to it.
  • n8n or Make, running locally. An HTTP node pointed at 127.0.0.1 puts dictation inside a workflow you already have.

What it will not do

It cannot be reached from another machine, by design, and we are not going to add that. If you want dictation on your phone triggering something on your Mac, the honest architecture is a tunnel you control, not us opening a port.

There are no webhooks and nothing calls out. Mynato never makes an outbound request to a third-party service — no cloud model, no transcription API, nothing with a meter running. It is a hard rule rather than a current limitation: a feature with a per-call bill attached is a feature that gets withdrawn later, and we would rather not build those.

It is not a general-purpose speech service. It is your dictation app, with a door in the back.


The local API is part of the paid tier. Basic dictation is free and stays free. Apple silicon Mac, macOS 13 or later — pricing, or write to us if you are building something with it and something is in your way.

If you build something good with this, we would genuinely like to see it. [email protected].