Local setup3 min read
Run Whisper locally for NotebookLM captions (no API key, no upload)
Bring your own key is the default in LM Subs, but the key does not have to be somebody else's API. Any server that speaks the OpenAI audio transcription protocol can sit behind a localhost URL, and LM Subs will use it exactly like a hosted provider, with zero audio leaving your machine.
Why run it locally
- Nothing is uploaded. The extracted audio never leaves the computer, which matters for unpublished research and internal material.
- There is no rate limit and no daily quota, so a long Audio Overview costs the same as a short one.
- It works offline, on a plane or behind a firewall.
What you need
- A machine with Docker installed, or Python if you prefer installing the server directly.
- A few gigabytes of free disk space for the model weights, more if you want the large models.
- Patience on the first run, because the model downloads before the first transcription.
A dedicated GPU makes large models feel instant. On a laptop CPU you will want a small or medium model, and you should expect a ten minute overview to take a couple of minutes rather than a few seconds. Exact times depend heavily on your hardware.
Start a local transcription server
Any OpenAI compatible server works. Speaches is the shortest path, because it ships as a single container and exposes the same endpoint shape the hosted providers use.
docker run -p 8000:8000 ghcr.io/speaches-ai/speaches:latest-cpu
# then check it answers:
curl http://localhost:8000/v1/models
Faster Whisper server, whisper.cpp with its HTTP layer, and LocalAI are all valid alternatives if you already run one of them for other work.
Point LM Subs at it
- Open the settings pageRight click the LM Subs icon in the toolbar and choose Options.
- Enable the local providerFind Local / Custom Whisper URL in the provider list and turn it on.
- Set the base URLEnter http://localhost:8000/v1, exactly the address your server listens on.
- Leave the key blankA local server normally needs no API key. Leave the field empty unless yours requires a token.
- Drag it to the topPut the local provider first in the queue so every request stays on your machine.
When the cloud is still the better answer
If you want captions in a few seconds rather than a couple of minutes, hosted providers win, and the free tiers cover far more than most people use. A sensible setup keeps Groq first for speed, Mistral second as a fallback, and the local server last so a long batch finishes overnight with no cost.
Frequently asked questions
Does local transcription cost anything?
No money, only electricity and disk space. There is no quota and no account, and the audio stays on your machine.
Which model should I download?
Start with a small model, which fits comfortably in a few gigabytes of memory and is fast enough for regular use. Move to a larger model only if you need better accuracy on technical vocabulary or accented speech.
Will captions still highlight the current word?
Yes, as long as the server returns timing information. Word level highlighting depends on the timestamps coming back with the transcript, so pick a server and model that return them.