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

ProviderNeedsNotes
localNothingfaster-whisper, selectable model size. Runs after the meeting ends. Needs the whisper service, see below.
openaiAPI keyWhisper or gpt-4o-transcribe.
groqAPI keyHosted Whisper.
deepgramAPI keyCan also provide diarization.
assemblyaiAPI keyCan 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

ProviderNeedsNotes
noneNothingDefault.
OpenAI-compatibleBase URL, key and modelCovers OpenAI, DeepSeek, Ollama, OpenRouter and others.
anthropicAPI keyClaude 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.

Edit this page on GitHub