Providers
Which transcription and summary providers Minutd supports and what each needs.
Providers are small modules behind one interface, so adding one is a single file.
Transcription
| Provider | Needs | Notes |
|---|---|---|
local | Nothing | faster-whisper, selectable model size. Runs after the meeting ends. Needs the whisper service, see below. |
openai | API key | Whisper or gpt-4o-transcribe. |
groq | API key | Hosted Whisper. |
deepgram | API key | Can also provide diarization. |
assemblyai | API key | Can also provide diarization. |
Pick the provider on the Settings page. Keys and tokens are stored encrypted with MINUTD_SECRET and are never shown again after saving: leave the field blank to keep the stored value. The Test button checks the values currently in the form, saved or not, without spending tokens.
The default is local. Each provider keeps its own saved settings, so switching back does not lose them.
Local whisper service
The local provider talks to the whisper service from services/whisper. In the compose file it sits behind the local profile:
docker compose --profile local up -d
The model downloads on first use into the models volume. Set WHISPER_MODEL (tiny to large-v3, default small) in .env to change the default. The provider uses http://whisper:8000 unless you change the base URL in Settings.
After a meeting
When the bot leaves, the worker merges the recorded segments into one audio file, sends it to the provider and stores the transcript. Files over 24 MiB are re-encoded and split for providers with an upload limit, and the timestamps are put back together. If the provider fails, the meeting shows the error and keeps its audio and any earlier transcript. Fix the setting and press Re-run transcription on the meeting page.
Speaker names normally come from the meeting page, not from the transcription provider. If that is unavailable, provider diarization is mapped to names by overlap with the page events.
Summary
| Provider | Needs | Notes |
|---|---|---|
none | Nothing | Default. |
| OpenAI-compatible | Base URL, key and model | Covers OpenAI, DeepSeek, Ollama, OpenRouter and others. |
anthropic | API key | Claude models. |
DeepSeek is text only, so it works for summaries but not transcription.
Privacy
With the local provider and no summary, audio and text never leave your machine. With a hosted provider, the audio or transcript is sent to that provider under its terms. Pick accordingly for sensitive meetings.
Each provider has a Test button in Settings that checks the key before you rely on it.