Models
How Oxagen chooses which language model powers each request, and how to bring your own provider key.
Every Oxagen workspace ships with three model tiers — Oxagen, Oxagen+, and Oxagen+ Pro — that map to a small, mid, and flagship language model. You can let Oxagen manage which provider runs each tier, or bring your own API key from a supported provider and route any tier through it.
This page covers the three tiers, the providers Oxagen supports, the four places a model choice can be set, and how a request resolves to a final model.
The three tiers
| Tier | When it runs | Default model |
|---|---|---|
| Oxagen | The default for every request unless overridden. Fast, accurate for retrieval and most agent steps. | Claude Haiku 4.5 |
| Oxagen+ | Opt-in for steps that benefit from richer reasoning — multi-hop traversals, schema inference, longer plans. | Claude Sonnet 4.6 |
| Oxagen+ Pro | For the rare step that needs flagship reasoning — typically only invoked when an agent or connector explicitly asks for it. | Claude Opus 4.7 |
The tier names are stable. The model behind each tier can be changed in workspace settings, either by re-pinning to a different Oxagen-managed model or by routing the tier through your own key.
Providers
Oxagen supports five providers for chat models:
- Anthropic — Claude Haiku, Sonnet, Opus
- OpenAI — GPT-5, GPT-5 Mini, GPT-5 Nano
- Google — Gemini 2.5 Flash Lite, Flash, Pro
- xAI — Grok 4 Mini, Grok 4, Grok 4 Heavy
- Mistral — Mistral Small, Large, Pixtral Large
The same five providers cover embeddings and vision where the provider offers them. Voyage AI is the default embedding provider.
Where models get selected
A request can pick its model at four levels. The most specific level wins.
1. Workspace defaults
The base setting. Open Settings → Models in any workspace to see three rows — one per tier — and one dropdown for embeddings. Each dropdown is either set to Oxagen-managed (the platform-pinned model for that tier) or to a model from a provider you've connected.
This is the right place to set the model that everything in the workspace uses unless something more specific overrides it.
2. Per-conversation
In the chat composer, the pill to the left of the send button shows the active model for that conversation. Click it to pick a different tier or a specific model from your connected providers. The choice persists on the conversation, not the workspace — new conversations start at the workspace default.
3. Per-agent
Agent definitions carry their own preferred tier and, optionally, an explicit model. An agent that always needs flagship reasoning can be pinned to Oxagen+ Pro or to a specific model. This is set in the agent's configuration page; the chat composer's picker respects the agent's choice unless the user overrides it in that conversation.
4. Per-connector
Connectors that infer edges with a language model (for example, the Gmail connector classifying a message as a Deal or a Conversation) can pin their own tier or model. This is useful when one source needs richer extraction than the workspace baseline.
Bring your own key
You can route any tier through your own provider key.
Adding a key
In Settings → Models, the top section lists every supported provider. Click Add key next to a provider, paste an API key, and save. Oxagen validates the key against the provider before storing it — invalid keys are rejected immediately. The key is encrypted at rest and never shown again after save.
Once a provider is connected, its models appear in every tier dropdown in the same workspace, and in the conversation composer's "My models" group.
Choosing which models power each tier
After connecting a key, open the tier you want to route through it (Oxagen, Oxagen+, or Oxagen+ Pro) and pick the provider's model from the dropdown. Save. The next request that resolves to that tier in this workspace will use your key and your chosen model.
You can mix providers across tiers. One workspace might run Oxagen through Anthropic Haiku (managed), Oxagen+ through GPT-5 Mini on your OpenAI key, and Oxagen+ Pro through Gemini 2.5 Pro on your Google key.
When your key fails
If a request resolves to one of your BYOK models and the provider returns an authentication or quota error, the request surfaces the error rather than silently substituting a different model. This is intentional: a workspace that has chosen BYOK should not have its data sent to a different provider without an explicit choice.
To recover, either fix the key (rotate, top up the account) or change the affected tier back to Oxagen-managed.
Embeddings
Embeddings are workspace-wide — there is no per-conversation embedding override, because changing the embedding model requires reindexing the workspace's vector store. The default is voyage-3-large (Voyage AI, managed).
If you switch the embedding model — to OpenAI, Google, or Mistral via BYOK — the workspace surfaces a reindex prompt. Until the reindex completes, semantic search runs against whichever vectors are already on disk; results may degrade until the new vectors replace them.
Plan requirements
| Plan | Tiers available (managed) | BYOK |
|---|---|---|
| Free | Oxagen | All tiers, any supported provider |
| Pro and above | Oxagen, Oxagen+, Oxagen+ Pro | All tiers, any supported provider |
Free plans can still use Oxagen+ and Oxagen+ Pro by connecting their own provider key — paying the provider directly. The plan gate only applies to Oxagen-managed inference, which is billed against your Oxagen plan.
How a request resolves to a model
When the API or an agent needs a language model, the resolver walks the chain from most-specific to least-specific until it finds a setting:
- An explicit model on the request body, if present
- The connector's pinned model, if a connector is involved
- The agent's pinned model, if an agent is running
- The conversation's saved selection, if one was made in the composer
- The workspace's setting for the requested tier
- The Oxagen-managed default for the tier
The first match wins. If the resolved model is Oxagen-managed and the workspace's plan does not include that tier, the request returns an upgrade prompt — except for background work (connector ingestion, scheduled agents), which transparently falls back to Oxagen so jobs never fail on a plan boundary.
Notes on tool use and vision
- Tool calling works on all five providers. The platform translates between each provider's native tool-call shape and the canonical schema your agents see, so an agent written against one provider runs unchanged against another.
- Vision is supported on Anthropic, OpenAI, and Google models. xAI and Mistral have partial or model-specific vision support; the tier dropdown surfaces only vision-capable models when a request needs them.
- Streaming is supported on every provider.
Where to set this in the UI
| Goal | Where |
|---|---|
| Connect a provider key | Settings → Models → API keys |
| Set a workspace default per tier | Settings → Models → Models |
| Change embeddings | Settings → Models → Embeddings |
| Override a single conversation | The pill in the chat composer |
| Pin a model on an agent | The agent's configuration page |
| Pin a model on a connector's refiner | The connector's configuration page |
Related
- Web App Walkthrough — where the chat composer and settings pages live
- Agent Overview — how agents pick which tier they need
- Security — how API keys are stored, what is logged, and what is not
- Cheaper models with Oxagen — why the typed graph lets smaller models hold accuracy
Ontology (Knowledge Graph)
How Oxagen's self-evolving knowledge graph works — nodes, edges, types, hybrid search, importance scoring, merge queue, prompt-run audit, and the credit model that meters every call.
Workspace Memory
How memory works inside an Oxagen workspace — the four layers (semantic, episodic, telemetry, working set), the master toggle, what each layer retains, and how the chat path reads them on every turn.