model field on a chatbot picks which AI model handles its conversations. Each model has its own quality/speed/cost trade-off — the table below is the source of truth for what you can send.
Picking a model
- Set
modelonPOST /chatbotsorPATCH /chatbots/{id}to one of the IDs below. - Leave
modelasnull(or omit it) to use the org default. The default isgpt-5.4-minitoday. - Pass
"auto"to let us route per-message: short, simple turns go to a cheap model; long or complex turns go to a stronger one. - Unknown or disabled IDs fall back to the default — they won’t error.
Available models
| Model ID | Provider | Credits / message | What it’s good for |
|---|---|---|---|
gpt-5.4-nano | OpenAI | 1 | Fastest and cheapest. Good for short FAQ-style Q&A. |
gpt-5.4-mini | OpenAI | 3 | Default. Balanced reasoning that handles most use cases. |
gemini-3.1-flash-lite | 1 | Snappy replies with broad general knowledge. | |
claude-haiku-4-5 | Anthropic | 5 | Sharper reasoning for nuanced, multi-turn conversations. |
claude-sonnet-4-6 | Anthropic | 10 | Top-tier reasoning for complex problems. |
Credit cost is per assistant message. A conversation is the sum of its messages — a 10-turn chat on a 3-credit model spends roughly 30 credits. Tooling and retrieval can adjust the total slightly; the dashboard’s usage view is authoritative.
Auto-routing
cURL
auto:
- Short, simple incoming messages → cheapest tier.
- Long messages, lots of context, or many turns → strongest enabled tier.
- Everything else → the default.
Changing models on a live chatbot
PATCH /chatbots/{id} with a new model takes effect on the next conversation turn. Existing in-flight conversations stay on whatever model handled their last message until that turn completes.
