Appearance
AI Providers & Models
FeynmanLM is bring-your-own-key: you pick an API provider and model for each AI capability in Settings, paste your own API key, and pay the provider directly. Keys are stored in the macOS Keychain on your device — never on FeynmanLM servers.
You do not need any API key to use FeynmanLM. Without one, the app runs in MCP-only mode: sources, Schedule, and semantic search all work locally, and you learn through an external assistant (Claude, ChatGPT, Gemini, Grok) connected via MCP. API keys only unlock the built-in AI features below.
Chat and reviews (text models)
In-app Chat, Feynman reviews, and background tasks (like paper metadata extraction) use the text provider and model selected in Settings → AI Provider. The default is Anthropic with Claude Sonnet 5.
| Provider | Models | Default |
|---|---|---|
| Anthropic | Claude Sonnet 5, Claude Fable 5, Claude Opus 4.8, Claude Opus 4.7, Claude Sonnet 4.6, Claude Haiku 4.5 | Claude Sonnet 5 |
| OpenAI | GPT-5.6, GPT-5.6 Terra, GPT-5.6 Luna, GPT-5.5 | GPT-5.5 |
| Google (Gemini) | Gemini 3.5 Flash, Gemini 3 Pro Preview, Gemini 3 Flash Preview, Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite | Gemini 3.5 Flash |
| xAI (Grok) | Grok 3, Grok 3 Mini, Grok 3 Mini Fast | Grok 3 Mini Fast |
| Meta | Muse Spark 1.1 | Muse Spark 1.1 |
| Groq | GPT OSS 120B, GPT OSS 20B, Qwen3 32B | GPT OSS 120B |
| Cerebras | GPT OSS 120B, Llama 3.1 8B, GLM 4.7, Qwen3 235B | GPT OSS 120B |
| Together AI | Inkling | Inkling |
| Fireworks | Inkling | Inkling |
| NVIDIA | Nemotron 3 Ultra, Nemotron 3 Super, Nemotron 3 Nano | Nemotron 3 Ultra |
Notes:
- The model picker shows a curated list per provider; you can hide models you never use. You can also type any model ID your provider supports.
- Each provider remembers its own model choice, so switching providers doesn't reset your selection.
- Meta's consumer chat app doesn't support MCP connectors, so Meta is available here as an API provider only.
Read Aloud (text-to-speech)
Read Aloud generates audio with the provider selected in Settings → Text-to-Speech. The default is OpenAI.
| Provider | Models | Voices |
|---|---|---|
| OpenAI (default) | GPT-4o mini TTS (default), TTS-1, TTS-1 HD | 13 voices (default: Sage) |
| Google (Gemini) | Gemini 3.1 Flash TTS (default), Gemini 2.5 Flash TTS, Gemini 2.5 Pro TTS | 30 voices (default: Kore) |
| Groq | Orpheus | 6 English voices |
| Together AI | Orpheus (default), Kokoro, Cartesia Sonic 3.5/3/2 | Orpheus, Kokoro, Cartesia, Rime, and Minimax voice banks |
| Deepgram | Aura-2 | 13 voices |
| ElevenLabs | Multilingual v2 (default), Flash v2.5, Turbo v2.5, v3 | 10 preset voices |
| xAI | Grok TTS | 5 voices |
| Local | Qwen3-TTS on your own local server | Free, no API key |
| On Device | macOS speech synthesis | Free, no API key, fully offline |
Gemini also supports overnight batch audio: queue a source in the evening and FeynmanLM generates the audio through Gemini's Batch API at half the live-request price.
Voice input (speech-to-text)
Voice dictation in Chat uses the provider selected in Settings → Speech-to-Text:
- Groq (default): Whisper Large v3 Turbo
- OpenAI: GPT-4o mini Transcribe
Audio is sent only to your configured provider and is not persisted after transcription.
Image generation
- Apple Image Playground (default): on-device, free, no API key
- Google (Gemini): Gemini 3.1 Flash Image
- OpenAI: GPT Image 2
Semantic search
Semantic source search runs entirely on-device using Apple's NaturalLanguage contextual embeddings. It needs no API key and sends nothing over the network.
API keys, syncing, and costs
- Keys are stored in the macOS Keychain and stay on the device where you entered them. Only the OpenAI key syncs across your Macs via iCloud Keychain (it is also used by the iPhone companion's voice features).
- A Together AI key covers both text and TTS; other providers use one key each.
- Settings → AI Usage tracks every request with a cost estimate based on the provider's list prices, so you can see exactly what your learning costs. Models without a published rate are shown as unpriced rather than guessed.
- If a provider or model can't complete a request, FeynmanLM surfaces the error — it never silently falls back to a different model or to heuristic grading.