Managing API Keys
FeynmanLM uses your own API keys to power AI features — flashcard evaluation, image generation, voice input, and voice output. You choose which providers to use and bring your own keys. All keys are stored securely in your device's Keychain.
Where to Add Keys
Go to Settings → AI Providers & Models → API Keys.
Keys are organized by category:
Chat Providers
These power the AI tutor that evaluates your flashcard answers, asks follow-up questions, and generates flashcard proposals.
| Provider | What you need | Where to get it |
|---|---|---|
| Anthropic | API key | console.anthropic.com |
| OpenAI | API key | platform.openai.com/api-keys |
| Groq | API key | console.groq.com/keys |
You only need one chat provider key. Anthropic (Claude) is the default.
Image Providers
Used to generate images for flashcards (optional).
| Provider | What you need | Where to get it |
|---|---|---|
| Gemini | API key | aistudio.google.com/apikey |
| OpenAI | API key (same as chat) | platform.openai.com/api-keys |
Speech-to-Text (Voice Input)
Powers the voice review mode where you explain flashcard answers out loud.
| Provider | What you need | Where to get it |
|---|---|---|
| Wispr Flow | API key | wispr.ai |
| OpenAI | API key (same as chat) | platform.openai.com/api-keys |
| Groq | API key (same as chat) | console.groq.com/keys |
| Deepgram | API key | console.deepgram.com |
| AssemblyAI | API key | assemblyai.com/dashboard |
| Cartesia | API key | play.cartesia.ai |
| WhisperKit | None (on-device) | Built in — no key needed |
| Apple Speech | None (on-device) | Built in — no key needed |
Text-to-Speech (Voice Output)
Reads flashcard questions and feedback aloud during voice review.
| Provider | What you need | Where to get it |
|---|---|---|
| Apple | None (on-device) | Built in — no key needed |
| OpenAI | API key (same as chat) | platform.openai.com/api-keys |
| ElevenLabs | API key | elevenlabs.io/app/settings/api-keys |
| Together AI | API key | api.together.xyz/settings/api-keys |
| Groq | API key (same as chat) | console.groq.com/keys |
| Deepgram | API key (same as STT) | console.deepgram.com |
| Cartesia | API key (same as STT) | play.cartesia.ai |
GitHub
Used to import starred repos and documentation into your knowledge base.
| Method | What you need | Where to get it |
|---|---|---|
| GitHub Sign-In | OAuth (recommended) | Click "Sign in with GitHub" in the app |
| GitHub PAT | Personal access token (fallback) | github.com/settings/tokens |
Choosing Providers
Once your keys are entered, select which provider to use for each capability in Settings → AI Providers & Models:
- Chat — pick Anthropic, OpenAI, or Groq
- Image Generation — pick Gemini or OpenAI
- Speech-to-Text — pick from any STT provider with a key configured
- Text-to-Speech — pick from any TTS provider with a key configured
The app auto-loads the available models for each provider once a valid key is entered.
Using the MCP Server Instead
If you connect an AI assistant like Claude or ChatGPT via MCP (see Connect to AI Assistants), the assistant handles the AI processing on its side. In this case, you don't need a chat provider key for flashcard generation — only for voice review evaluation, which runs locally.
Security
- All keys are stored in the Apple Keychain, encrypted at rest
- Keys never leave your device except to authenticate with the provider's API
- Keys are synced across your devices via iCloud Keychain (if enabled)
- No keys are sent to FeynmanLM servers — the app talks directly to each provider