Mistral()

Mistral models direct from Mistral, with your own API key. Costs go direct to the vendor at their rates — no markup, nothing on your Axon balance.

export default defineProfile({
    providers: [Mistral()],
})

Serves mistralai/*.

Credentials

Set the environment variable, or pass key on the declaration:

MISTRAL_API_KEY=...
providers: [Mistral({ key: process.env.MY_OWN_VAR })]

Unlike OpenRouter() and Codex(), direct providers are not vaulted yet: the credential comes from the agent's environment. A deployed agent needs it set as a runtime secret, or should use a vaulted route instead.

Declaring this provider without the variable set is not an error. The failure comes when something tries to use it, and names the variable you need.

Options

Mistral(options?: ProviderOptions)
OptionDefaultDescription
keyMISTRAL_API_KEYYour own credential, passed directly
urlthe provider's APIEndpoint override
slotsunboundedCeiling on concurrent calls a fanned-out role may spend here

Model ids

Bare Mistral slugs:

export default defineAgent({ model: "mistral:mistral-large-2512" })

Mistral also publishes -latest aliases (mistral-large-latest) which track the newest release. Those resolve at Mistral's end, so what you get can change without your config changing.