Oxagen Docs

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

TierWhen it runsDefault model
OxagenThe 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+ ProFor 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

PlanTiers available (managed)BYOK
FreeOxagenAll tiers, any supported provider
Pro and aboveOxagen, Oxagen+, Oxagen+ ProAll 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:

  1. An explicit model on the request body, if present
  2. The connector's pinned model, if a connector is involved
  3. The agent's pinned model, if an agent is running
  4. The conversation's saved selection, if one was made in the composer
  5. The workspace's setting for the requested tier
  6. 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

GoalWhere
Connect a provider keySettings → Models → API keys
Set a workspace default per tierSettings → Models → Models
Change embeddingsSettings → Models → Embeddings
Override a single conversationThe pill in the chat composer
Pin a model on an agentThe agent's configuration page
Pin a model on a connector's refinerThe connector's configuration page

On this page