The agent builder shows three live estimates in the Agent Details strip under the agent name: Cost per minute, Latency range and prompt Tokens. They update as you change the model, voice, transcription mode or prompt, before you place a single call. Hover each value for its breakdown.
The same numbers come from the shared function estimateAgent in packages/shared/src/pricing.ts, and from the API at GET /agent-estimates/:agent_id (optional version).
These are estimates from fixed tables, not measurements. Real calls also include network time, the end-of-turn wait and the phone network. Use Actual latency to see what calls measured.
How latency is estimated#
min = TTS + LLM.min + STT.min
max = TTS + LLM.max + STT.maxTTS (time to first audio)#
| Voice model | ms |
|---|---|
sonic-turbo |
120 |
sonic-3 |
150 |
eleven_flash_v2_5 (Standard) |
180 |
eleven_turbo_v2_5, eleven_v4_turbo (Premium) |
190 |
aura-2, inworld-tts-1.5-max |
200 |
speech-2.8-turbo, inworld-tts-2 |
250 |
gpt-4o-mini-tts, s2.1-pro |
300 |
tts-1 |
350 |
eleven_multilingual_v2, speech-2.8-hd |
400 |
Unknown voice models count as 180 ms.
LLM (time to first token)#
| Model | ms |
|---|---|
gpt-5.6-luna |
300-500 |
gemini-2.5-flash |
300-550 |
gpt-5.4-mini, claude-haiku-5-5, gemini-3.5-flash |
350-600 |
gpt-4.1-mini |
350-550 |
gemini-3-flash-preview |
350-650 |
claude-haiku-4-5 |
400-700 |
gpt-4.1 |
450-700 |
gpt-5.6-terra (default) |
500-800 |
gpt-5.5 |
600-900 |
claude-sonnet-4-6 |
600-1000 |
claude-sonnet-5-5 |
700-1100 |
claude-opus-5-5 |
900-1500 |
Unknown models count as 500-800 ms.
Transcription (stt_mode)#
| Mode | ms |
|---|---|
fast (default) |
130-300 |
accurate |
300-500 |
custom |
200-450 |
Example#
Premium voice (190) + gpt-5.6-terra (500-800) + fast (130-300) gives 820-1290ms, the default agent. With a Standard voice (180) it is 810-1280ms.
Speech-to-speech#
With a speech-to-speech engine there are no separate STT and TTS stages. The estimate is the engine's own range: gpt-realtime 500-900 ms, gpt-realtime-mini 400-700 ms.
Adjustments shown in the popover#
| Setting | Effect on the popover |
|---|---|
High priority (model_high_priority on) |
LLM range multiplied by 0.75 |
responsiveness below 1 |
An extra row, Response wait time, of +(1 - responsiveness) x 5,500 ms |
| Pause Before Speaking | An extra row, Pause before speaking (1st turn), of +the delay |
The extra rows are shown for information and are not added to the range.
How cost is estimated#
The Cost popover lists each line and the total:
| Line | $/min |
|---|---|
| Voice infra | 0.08 |
| LLM (model) | per model, see Billing |
| Voice (tier) | per voice tier, see Billing |
| Knowledge base | 0.01, when the agent has a knowledge base |
| STT (provider) | only for stt_mode: custom with a non-Deepgram provider: AssemblyAI 0.004, Soniox 0.003, Azure 0.025, OpenAI 0.009 |
With high priority on, the LLM line is shown 50% higher. With a speech-to-speech engine, the LLM and TTS lines are replaced by one line: gpt-realtime $0.45, gpt-realtime-mini $0.15.
Prices are AUD, excluding GST. The default agent (gpt-5.6-terra, Premium voice, no knowledge base) estimates $0.30/min, or $0.24/min with a Standard voice. There is no telephony line: your own carrier bills the phone line. Billed amounts can include further lines such as prompt length scaling or guardrails; see Billing.
How tokens are estimated#
min = ceil(prompt characters / 4)
max = min + 2,100The minimum covers the system prompt, tools and knowledge base context. The maximum adds about 2.1k tokens of conversation history. Prompts over 4,000 tokens increase the billed LLM cost (the llm_prompt_length line), so the token estimate is also a cost signal.
API#
curl https://api.tried.com.au/agent-estimates/agent_1a2b3c4d5e6f7a8b9c0d1e2f \
-H "Authorization: Bearer $TRIED_API_KEY"{
"cost_per_min": 0.3,
"cost_breakdown": [
{ "product": "Voice infra", "per_min": 0.08 },
{ "product": "LLM (gpt-5.6-terra)", "per_min": 0.1 },
{ "product": "Voice (Premium)", "per_min": 0.12 }
],
"latency_ms": { "min": 820, "max": 1290, "breakdown": { "tts": 190, "llm": [500, 800], "stt": [130, 300] } },
"prompt_tokens": { "min": 76, "max": 2176 }
}The API response does not apply the high priority adjustments; the builder applies them on screen.