API keys2 min read

Free speech-to-text API keys that actually work for captioning in 2026

Captions are only as good as the transcription behind them. Here is the honest comparison of the twelve speech-to-text providers LM Subs supports, ordered by how far the free tier actually goes.

Why bring your own key

A hosted captioning service has to charge for compute. If you supply your own key, you get the wholesale rate, which for most providers is free at student volumes. LM Subs never sees your key in plaintext outside your browser, and the key is encrypted with AES-256-GCM before it ever reaches a database.

The providers, ranked by free tier

Provider Free tier Card required Key page
Groq About 8 hours per day No console.groq.com/keys
Mistral (Voxtral) Free Studio tier No console.mistral.ai/api-keys
Google Gemini Free daily tier No aistudio.google.com/apikey
Deepgram $200 credit No console.deepgram.com
AssemblyAI $50 credit No assemblyai.com/app/account
Cloudflare Workers AI 10k Neurons daily No dash.cloudflare.com
Hugging Face Monthly inference credits No huggingface.co/settings/tokens
ElevenLabs 10k credits monthly No elevenlabs.io/app/settings/api-keys
Local Whisper server Unlimited No speaches-ai/speaches

Which one should you pick

  • Start with Groq. The free tier is the most generous, the endpoint is fast, and word-level timestamps are reliable for karaoke-style highlighting.
  • Add Mistral as the second entry in your queue. If Groq returns HTTP 429 during a busy hour, LM Subs fails over automatically and you never notice.
  • Use Google Gemini if you want subtitles translated in a single pass instead of transcribing first and translating later.
  • Run a local Whisper server if you handle confidential research material and want zero audio leaving your machine.

Common key mistakes

  • Copying the key name instead of the key value. The value starts with a provider prefix such as gsk_ or sk-.
  • Using a ChatGPT Plus subscription as if it were API credit. OpenAI API keys are billed separately from ChatGPT plans.
  • Forgetting the colon in Cloudflare credentials. Cloudflare needs account_id:api_token, not just the token.
  • Leaving a trailing space when pasting. LM Subs trims whitespace, but a pasted newline inside the key will still fail the test.

Frequently asked questions

Is a free API key really enough for a semester of lectures?

For most students, yes. Groq's free tier allows roughly eight hours of audio per day, which covers several Video Overviews daily. If you exceed it, LM Subs fails over to the next configured provider.

What happens when a provider rate limits me?

LM Subs catches the HTTP 429, moves to the next provider in your queue, and keeps the transcript. Failovers are counted in your statistics page so you can see how often it happens.

Can I run everything offline?

Yes. Point LM Subs at a local OpenAI-compatible server such as speaches or faster-whisper-server at http://localhost:8000/v1, leave the API key field empty, and nothing leaves your computer.

Related reading

Sarang (@sarang-cmd)

Computer science student and agentic engineer in Germany. Builds LM Subs, an open source captioning extension for Google NotebookLM, and writes these guides from the same code base the extension ships from.