Same local network

Set up recognition: models and engines

The program that turns speech into words runs on the computer, not on the phone. The phone only listens and stays connected.

On the official cloud relay, recognition is handled on the cloud side — you do not need this page. What follows is for the same Wi-Fi, when you want hold-to-talk.

First: a speech model for your language

On the same-LAN path, speech turns into words on your own computer, so the computer needs a voice model once. The desktop app ships a catalogue of downloadable models, listed per spoken language — nothing downloads until you ask for it.

  1. On the PC: FlowMic → SettingsSpeech recognition. The card is called Built-in speech model.
  2. Under Speaking language, pick the language you actually speak. Each language lists its own downloadable models.
  3. Tap Download the model (one time). The card shows the progress, and an interrupted download can be resumed.
  4. Optional: the same card has a Download folder you can change when the system drive is short of space. Changing it does not move files you already downloaded.
PC · Settings · Speech recognition
Built-in speech model
Speaking languageEnglish
RecommendedNot downloaded
sherpa-onnx-zipformer-en-2023-06-26
Download the model (one time)
Download folderD:\FlowMic\modelsChange

A UI diagram: the Built-in speech model card with the language picker, one downloadable model row, and the download folder. Trust the card in your app — the model list changes with releases.

Then: which engine answers each language

On the PC: FlowMic → Settings on the left → Speech recognition on the right. Changes save as you make them — there is no Save button to hunt for.

PC · Settings · Speech recognition (current UI)

Settings

Changes are saved and take effect immediatelySaved
The settings below apply to the "Local LAN" channel (this PC's self-hosted service). Configure recognition routing and models for the cloud relay in the web console — changes here have no effect on the cloud relay.
Speech recognition

Each language chooses its engine independently; a missing configuration is an explicit error — never a silent fallback.

LanguageEngine presetEndpoint
zh
Built-in Local (offline) ▾
(built-in engine — no endpoint)
🗑
*
Built-in Local (offline) ▾
(built-in engine — no endpoint)
🗑
+ Add languageTest connection
Built-in speech model ⌄
Enable AI polish
Off · saves as you type

A new install looks like this: a zh row and a * row (every other language), both on “Built-in Local (offline)”, with no address on the right.

  1. Language: the factory rows are zh and * (the * row answers every other language) — you usually leave them. Add a language only if one needs its own engine.
  2. Engine preset: which recognizer to use. The factory preset is “Built-in Local (offline)”.
  3. Endpoint: the address of the recognition service. The built-in offline row is empty and reads “(built-in engine — no endpoint)”. If you pick a home-built or a cloud API, fill in an address this computer can open.

Then tap “Test connection”. When it succeeds, go back to the phone and hold to talk.

What the preset list contains

The list is grouped: the built-in offline engine first, then engines you run yourself, then cloud services you have your own account with, and finally a Custom entry for anything else that speaks the same protocol. Picking an entry fills in the fields for you; if you pick a self-hosted one, change the Endpoint to your own address — do not copy an example from someone else’s machine.

PC · engine presets (the dropdown)
Built-in (offline)
Built-in Local (offline)Factory default. It runs on this computer and has no address field.
Self-hosted
FunASR (self-hosted, streaming)A streaming engine you run at home. Change the Endpoint to that machine’s address.
Whisper large-v3-turbo (self-hosted, batch)A home-built Whisper. Change the address to yours as well.
SenseVoice-Small (self-hosted)
FunSpeech Paraformer (self-hosted, batch)
Cloud services
DeepgramYour own cloud account key — not the official FlowMic relay.
OpenAI RealtimeSame idea: fill in your own API key.
Custom
CustomAny other service that speaks the same protocol. You fill in the address yourself.

A diagram. Trust the dropdown on your computer; the address column may show an example — change it to one you can reach.

AI polish / second-pass transcription: also on Speech recognition, further down. Leave them off until talking works.

The language model: for Translate, Organize and AI polish

Speech still becomes text without one. Translate, Organize and AI polish are the three things that need a language model — configure it once and all three use this same pane.

On the PC: FlowMic → Settings → Language model — the pane right under Speech recognition. Open the Model preset menu and pick the service you already use: it fills in the protocol, the address and a sensible model name for you. On a fresh install the menu reads “Please choose”, because nothing is set up yet.

The list of services you can pick

The menu is grouped. Under Cloud services are the providers most people already have an account with; under Self-hosted are the servers you run on your own machine; and Custom is there for any other service that speaks the same protocol.

PC · Settings · Language model · the preset menu
Cloud services
OpenAI
OpenRouter
DeepSeek
Anthropic Claude
Google Gemini
Groq
Mistral
xAI Grok
Self-hosted
vLLM (self-hosted)
Ollama (self-hosted)
LM Studio (self-hosted)
Custom
Custom
  • These are cloud providers, so the key is yours: you sign up with them, you pay them, and you paste the key here. FlowMic has no account with any of them and never supplies a key.
  • These run on your own computer or on a machine at home. Picking one fills in a local address as a starting point — change it if your server listens somewhere else, and change the model name to whichever model you actually loaded.
  • Pick Custom for anything else that speaks the OpenAI-compatible protocol, and type the address yourself. Editing any field by hand also switches the menu to Custom, so the name at the top never claims a service you have edited away from.
PC · Settings · Language model

Settings

Changes are saved and take effect immediatelySaved
The settings below apply to the "Local LAN" channel (this PC's self-hosted service). Configure recognition routing and models for the cloud relay in the web console — changes here have no effect on the cloud relay.
Language model

The large model used by Organize / Translate; “AI polish” uses this same configuration. Authentication failures or an unavailable model are reported explicitly.

Model preset
OpenAI ▾
Protocol
OpenAI-compatible ▾
Endpoint
https://api.openai.com/v1
Model
gpt-4o
API Key
sk-••••••••••••••••

A UI diagram with the OpenAI preset picked: the protocol, the address and the model name arrived with it, and the API key is the reader’s own. Trust the menu in your app — the list grows with releases.

Then tap “Test connection”. It checks the address, the key and the model on the spot, and says which of the three it did not like.

  • The API key comes from whoever runs the model — your account with a provider, or your own server if you host it yourself. FlowMic never supplies one. A self-hosted server usually needs no key at all.
  • Realtime mode never needs this pane — leave it empty and keep talking. Come back only when you want Translate, Organize or AI polish.
  • A rejected key and a model that is not there are reported separately, by name, so you can tell which of the two you are looking at.

You are changing the address this computer will open. If the engine is on another machine, open that address in a browser on this PC first. The phone being online does not mean recognition is ready.

The built-in offline engine needs a speech model on this computer. If the model is not ready, hold-to-talk fails — type and send, or switch to the official cloud relay.