LLM Providers

Configure AI providers for post-processing

Post-processing runs your matching Custom Prompts rule over the transcribed text with an LLM. The default provider is configured in Settings → Post-Processing; a rule can also pick its own provider and model (Step 4 in the rule) and then runs on those. Without a usable model for the rule — none downloaded, no key saved, or the stage switched Off while the rule has no provider of its own — rules and transforms are skipped, the dictation is pasted as transcribed and the pill says why.

Three options

  • Local Model (Built-in) — download a model inside Speakly and run it offline, without installing Ollama.
  • Ollama (Local) — badged 100% Offline: "Private local LLM processing on your device".
  • Your API Key — badged BYOK: you supply a key for one of the cloud providers below.

Built-in local models

Open Settings → Post-Processing → Local Model (Built-in). Under Available Models, download a model and select its radio button. Qwen3 4B (Qwen3-4B-Instruct-2507) remains the recommended default; Speakly may recommend the lighter model for your hardware. Existing selections are kept. Downloads resume the same way as Whisper models: an interrupted one continues from what it already received, also after restarting the app, a download that stops receiving data for 60 seconds is retried, and each file is checked against the SHA-256 checksum Hugging Face publishes before it is used. Cancelling discards the download.

  • Qwen3 4B — Q4_K_M: the recommended option for everyday use; approximately 2.50 GB to download.
  • Qwen3 1.7B — Q4_K_M: the lighter option for modest machines; approximately 1.11 GB to download.
  • GPT-OSS 20B — MXFP4: the existing option for machines with more memory; approximately 12.11 GB to download.
  • Qwen3.5 4B — Q4_K_M: Experimental, approximately 2.74 GB to download.
  • Gemma 4 E2B — QAT Q4_0: Experimental, approximately 3.35 GB to download.
Trying an experimental model
Experimental models are optional. Compare their output with your usual model on your own dictations, translations and summaries; quality and speed depend on the task and your hardware. The sizes above are downloads in decimal GB, not RAM requirements. Check the memory guidance and hardware warnings shown in the app before downloading. These text models do not change your transcription engine.

BYOK providers

Pick one under Provider:

  • Groq — Ultra-fast inference
  • OpenAI — GPT models
  • Anthropic — Claude models
  • Google Gemini — Fast & cheap
  • Mistral — European, GDPR
  • OpenRouter — 100+ models
  • Cerebras — Ultra-fast

Cloud model lists are fetched from each provider

For BYOK, paste a valid key and Speakly asks the provider which models your account can use, then fills the dropdown from that answer. That list never replaces the model you saved: a saved model the provider does not list stays selected, as a row of its own, until you pick another — if the provider has really withdrawn it, pick a new one from the list. (Anthropic lists older models under a dated id, so a saved claude-haiku-4-5 selects the claude-haiku-4-5-20251001 row.) Retired models Speakly knows about are replaced at startup: Groq's former Llama, Mixtral and Gemma models move to openai/gpt-oss-120b or openai/gpt-oss-20b, Mistral Large to mistral-medium-latest, and Gemini 2.0 Flash to gemini-3.6-flash. A Gemini model that Google has since closed to your account falls back to gemini-3.6-flash when it is used. The built-in local models use the catalog described above.

Until a valid key is present the field shows a message instead of a dropdown:

  • Add a valid API key to load available models. — no key yet
  • Loading models… — the fetch is in flight
  • No models found — check that your API key is valid. — the provider rejected the key

Defaults on a fresh install

  • Ollama Endpoint: http://127.0.0.1:11434
  • Model Name (Ollama): llama3
  • OpenAI model: gpt-5.6-luna
  • Groq model: openai/gpt-oss-120b
  • Google Gemini model: gemini-3.6-flash
  • Anthropic model: claude-haiku-4-5
  • Mistral model: mistral-small-latest
  • Cerebras model: gpt-oss-120b

OpenRouter has no default: pick its model from the fetched list once your key is in — until one is selected, the dropdown reads Choose a model… and post-processing through OpenRouter cannot run. Choosing OpenRouter during onboarding starts you on openai/gpt-4o-mini.

Google Gemini takes a Google AI Studio key (aistudio.google.com/api-keys) — the same key the Google transcription engine uses; saving it in either place fills in the other. The dropdown lists Gemini text models only (no TTS, transcription, image or robotics models). Gemini 3 models think before they answer; Speakly asks for low reasoning effort so a rewrite stays quick, and a saved model that Google has since closed to your account falls back to gemini-3.6-flash.

Using Ollama

  1. Install Ollama from ollama.com.
  2. Run ollama serve, then ollama pull llama3.
  3. In Settings → Post-Processing, pick Ollama (Local).
  4. Leave Ollama Endpoint at http://127.0.0.1:11434 and set Model Name to the model you pulled.
  5. Click Test Connection. It reports Connected or Connection failed.
Use 127.0.0.1, not localhost
The app's own setup note says to use 127.0.0.1 instead of localhost to avoid connection issues, and it rewrites a stored localhost endpoint to 127.0.0.1 on load.
LLM Providers — Speakly