Choosing a model
Pick the language model for an agent, set a fallback, and save settings to reuse.
The language model decides what the agent says. You choose it with llm_provider and llm_model on the agent.
Providers and models
llm_provider is anthropic or openai. Models with their own price line:
| Model | Provider | Good for |
|---|---|---|
claude-haiku-4-5 | anthropic | The default. Fastest to start speaking. |
claude-sonnet-4-6 | anthropic | Harder reasoning and longer instructions. Slower to start. |
gpt-4o-mini | openai | Low cost, simple tasks. |
gpt-4o | openai | General use. |
llm_model accepts any model name your provider supports, so a newer model works as soon as it exists. If you use a name we do not recognise, the call is billed at our highest model rate.
Speed or quality
On a phone call, how soon the agent starts speaking matters as much as how good the answer is. In our own measurements Haiku began speaking about 700 ms sooner than Sonnet, which is a large share of the caller's wait. That is why Haiku is the default.
Start with the default. Move to a larger model only for an agent whose turns need more reasoning, and listen to a real call before you decide.
Other settings
| Field | What it does |
|---|---|
temperature | Randomness of replies. Lower is steadier. Default 0.7. |
max_tokens | Longest single reply. Default 150, which keeps spoken answers short. |
fallback_llm_provider and fallback_llm_model | A second model used if the first fails. Set both or neither. |
Save settings and reuse them
A saved LLM stores a prompt and model settings under a name, so several agents can start from the same one. It carries the system prompt, first message, provider, model, temperature, max tokens, fallback pair and default variables.
- Create one with
POST /v1/llms(Create LLM). - Attach it by sending
llm_idwhen you create or update an agent.
Attaching copies the settings. Editing or deleting the saved LLM later does not change agents that already used it. Send llm_id on its own: combining it with a field it carries is rejected.
Post-call analysis model
Analysis that runs after the call uses its own setting, post_call_analysis_model. List the choices with GET /v1/models/extraction.