# xAI, Mistral, DeepSeek, Groq and Cerebras

> Five hosted providers that speak the OpenAI chat API, each with its own tile, key and base URL, and prices from models.dev.

Five providers that serve models over the OpenAI chat API and bill per token to your account with them. Each has a tile; they work the same way, so they share this page. For a local server see [llama.cpp](llama-cpp.md); for your own proxy see [LiteLLM](litellm.md).

## Set it up

1. Make an API key in the provider's console.
2. In **Settings → Model Hub → Providers**, select the provider's tile and paste the key into **API key**.
3. Select **Test**. The dialog says *Connected* and how many models were found.

| Provider | Base URL | Key name in the keychain |
|---|---|---|
| **xAI** | `https://api.x.ai/v1` | `model-hub-xai` |
| **Mistral** | `https://api.mistral.ai/v1` | `model-hub-mistral` |
| **DeepSeek** | `https://api.deepseek.com` | `model-hub-deepseek` |
| **Groq** | `https://api.groq.com/openai/v1` | `model-hub-groq` |
| **Cerebras** | `https://api.cerebras.ai/v1` | `model-hub-cerebras` |

The base URLs were checked against each provider's documentation on 2026-10-09. The key is kept in Obsidian's keychain under the name in the table, never in the settings file.

## Models and prices

The models are the ones the provider lists for your key. Their prices come from models.dev, an open list of model prices, kept only for the providers you have added. See [Where prices come from](../usage-and-costs.md#where-prices-come-from). The provider reports no cost per call, so the ledger's cost is the listed price and **Billed** stays empty. A model models.dev does not list has no price, and a call on it stays unpriced, and a call on it is refused, until models.dev lists it; **Refresh prices** on the Providers page picks it up.

## Reasoning

There is no reasoning field of its own. The **Reasoning** option on a model's row is sent as `reasoning_effort`, as for any OpenAI-compatible endpoint. See [Set up tiers and limits](../tiers-and-limits.md).

## If you already have a custom endpoint with the same name

An endpoint you added under **Other endpoint** with one of these names (`xai`, `mistral`, `deepseek`, `groq`, `cerebras`) wins, because your tiers and roles already point at it. The preset's dialog says so and offers no fields until you remove the endpoint.

## Related

- [Add a provider](../add-a-provider.md)
- [Privacy and costs](../privacy-and-costs.md)
