Supported Providers
Manifest supports the following providers:| Provider | Models | Authentication |
|---|---|---|
| OpenAI | GPT-4o, GPT-4o-mini, o1, o1-mini, o3-mini | API key (starts with sk-) |
| Anthropic | Claude 3.5 Sonnet, Claude 3.5 Haiku, Claude 3 Opus | API key (starts with sk-ant-) |
| Gemini 2.0 Flash, Gemini 1.5 Pro, Gemini 1.5 Flash | API key | |
| DeepSeek | DeepSeek V3, DeepSeek Chat | API key |
| OpenRouter | All OpenRouter models | API key (starts with sk-or-) |
| Ollama | Local models (Llama, Mistral, etc.) | None (local) |
Adding a Provider
Navigate to Routing settings
In the Manifest dashboard:
- Cloud mode: Sign in at app.manifest.build → Select agent → Routing
- Local mode: Go to
http://127.0.0.1:2099→ Routing
Enter your API key
Paste your API key in the input field:The key is encrypted using AES-256-GCM before storage.
Provider-Specific Setup
OpenAI
Get an API key
Go to platform.openai.com/api-keys and create a new key.Key format:
sk-proj-... (newer format) or sk-... (legacy format)Anthropic
Get an API key
Go to console.anthropic.com/settings/keys and create a new key.Key format:
sk-ant-api03-...Get an API key
Go to aistudio.google.com/apikey and create a new key.
DeepSeek
Get an API key
Sign up at platform.deepseek.com and create an API key.
OpenRouter
Get an API key
Go to openrouter.ai/keys and create a new key.Key format:
sk-or-v1-...Ollama (Local)
Install Ollama
Download Ollama from ollama.com and install it.
Automatic Model Discovery
When you add a provider, Manifest automatically:- Fetches the model list from the provider’s API
- Syncs pricing data from the
model_pricingtable - Enables models for routing based on tier compatibility
- Recalculates tier assignments to optimize cost and quality
Tier Auto-Assignment
Manifest assigns models to tiers automatically based on:- Cost — Cheaper models preferred when quality is sufficient
- Capability — Complex tasks get more powerful models
- Provider availability — Only uses models from active providers
| Tier | Auto-Assigned Model | Reason |
|---|---|---|
| Simple | gpt-4o-mini | Cheapest, fast, good for simple queries |
| Standard | claude-3-5-haiku-20241022 | Balanced cost and quality |
| Complex | gpt-4o | High capability, reasonable cost |
| Reasoning | o1-mini | Best reasoning quality |
Removing a Provider
Confirm
A warning will appear if any tier overrides use models from this provider:Overrides are cleared automatically, and the tier falls back to auto-assignment.
Provider Aliases
Manifest recognizes common provider aliases:| Canonical Name | Aliases |
|---|---|
| OpenAI | openai, OpenAI |
| Anthropic | anthropic, Anthropic |
google, Google, gemini, Gemini | |
| DeepSeek | deepseek, DeepSeek |
| OpenRouter | openrouter, OpenRouter |
| Ollama | ollama, Ollama |
expandProviderNames function (packages/backend/src/routing/provider-aliases.ts:7).
API Key Security
Encryption
API keys are encrypted before storage using AES-256-GCM:BETTER_AUTH_SECRET environment variable. Keys are never stored in plaintext.
Key Prefix Display
The UI shows only the first 8 characters of your key (e.g.,sk-proj-...) for verification. The full key is never displayed after initial entry.
Key Rotation
To rotate an API key:- Get a new key from the provider
- Update the provider in Manifest:
- Delete the old key from the provider’s dashboard
Rate Limiting
Manifest respects provider rate limits:- 429 Too Many Requests — Manifest backs off exponentially
- 503 Service Unavailable — Manifest retries with jitter
Cost Optimization
To minimize costs:- Add multiple providers — Manifest chooses the cheapest model for each tier
- Use tier overrides sparingly — Auto-assignment optimizes cost automatically
- Monitor usage — Set up notification rules for cost thresholds
- Remove expensive providers — If you don’t need reasoning models, skip OpenAI o1
Troubleshooting
Provider not appearing after adding
Check the browser console for errors. Common causes:- Invalid API key format
- Network error communicating with Manifest backend
- Provider API is down
Models not available for routing
Verify the provider is active:Routing not using my preferred model
Manifest automatically selects models based on cost and capability. To force a specific model:gpt-4o regardless of cost.
API key validation errors
If you see “Auth invalid” in the logs:- Verify the key is correct (copy from provider dashboard)
- Check the key hasn’t expired (some providers expire keys after inactivity)
- Test the key manually:
Next Steps
Routing
Learn how Manifest routes requests across models
Costs
Track and optimize your LLM spending