> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stateset.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Models

> The five model providers ResponseCX routes to, the default model per provider, and how to pick per agent.

# Models

ResponseCX is **provider-agnostic**: every agent carries a `model` field, and the platform routes the
request to the matching provider. Leave it unset and the provider's default applies.

## Providers and defaults

| Provider         | Default model                | Character                                                                                        |
| ---------------- | ---------------------------- | ------------------------------------------------------------------------------------------------ |
| **Anthropic**    | `claude-sonnet-4-5-20250929` | The default choice for customer-facing agents — strong instruction-following under long policies |
| **OpenAI**       | `gpt-4o`                     | General-purpose; also the family behind realtime voice                                           |
| **Google**       | `gemini-2.0-flash`           | Fast and inexpensive for high-volume, low-stakes turns                                           |
| **Groq (Llama)** | `llama-3.1-8b-instant`       | Lowest latency; good for classification and routing steps                                        |
| **xAI**          | `grok-4-latest`              | Alternative frontier model                                                                       |

## Setting the model on an agent

```bash theme={null}
curl -X PUT https://api.stateset.com/v1/agents/{id} \
  -H "Authorization: Bearer $STATESET_API_KEY" \
  -H 'content-type: application/json' \
  -d '{ "model": "claude-sonnet-4-5-20250929" }'
```

Any model identifier the provider accepts is passed through, so a newer model is available the day
the provider ships it — no platform release needed.

<Tip>
  Match the model to the step, not the agent fleet. A common shape: a fast, cheap model
  (`llama-3.1-8b-instant` or `gemini-2.0-flash`) for intent classification, and a stronger model for
  the customer-facing reply. The classification step runs on every message; the strong model only on
  the ones that need it.
</Tip>

## What the model does not decide

Model choice affects fluency, latency, and cost. It does **not** decide what the agent is allowed to
do — that is [Settings](/response-api-reference/settings), [Rules](/response-api-reference/rules),
and, for consequential actions, the [decision gate](/stateset-nsr-decisions).

<Warning>
  Upgrading a model is a behaviour change. A stronger model follows your policies *differently* — often
  better, occasionally in a new wrong way. Run your
  [evaluations](/guides/evaluations-guide) against the new model before switching production traffic.
</Warning>

## Related

* [Agents](/response-api-reference/agents) — where `model` lives
* [Settings](/response-api-reference/settings) — the constraints that bound any model
* [Voice](/stateset-voice/overview) — realtime voice models are configured separately, per voice agent
