Zenith does not resell model access. You add your own API key, the request goes from your Mac to the provider, and the provider bills you at their prices.
Providers
| Provider | Where to add it |
|---|---|
| Anthropic | Onboarding, or Settings → AI providers |
| OpenAI | Onboarding, or Settings → AI providers |
| Google (Gemini API) | Settings → AI providers → More providers |
| OpenRouter | Settings → AI providers → More providers. OpenRouter forwards each request to the lab that runs the model you pick. |
| Local model server (Ollama or LM Studio) | Settings → AI providers → More providers, with its address on this Mac. Requests stay on your Mac. |
Some free tiers, for example the Gemini API free tier, may use your prompts to improve the provider’s products. Use a paid tier for client or confidential code.
Adding both an Anthropic and an OpenAI key prepares you for cross-lab review, where a model from the other lab checks a plan or a diff (planned for a later release).
Where keys live
Keys are verified when you add them, then stored with macOS Keychain-backed encryption. They are decrypted only in Zenith’s main process to make a request to that provider’s own host. They never appear in the interface, in logs, or on Zenith’s servers. Settings shows only the last four characters.
Choosing a model
The model picker in the composer chooses the model for the thread. Switching models mid-thread is allowed; switching provider starts a new thread from a summary, so context is never silently dropped.
What it costs
- Every turn shows its tokens and cost while it runs.
- The status bar keeps the session total, and the context meter shows how full the model’s window is.
- Set a budget per thread. When a turn would pass it, Zenith stops and asks before continuing.
Zenith caches the stable parts of each prompt (the Creator knowledge pack, your project rules and the app index), so follow-up turns in a thread cost less than the first.
Secrets
Before code is sent to a model, Zenith replaces API keys, tokens and passwords it finds in Deluge with placeholders. The real values are restored only when code goes back into Creator. See Security.