How We Cut an LLM Feature's Cost 60% in Production
When our outbound AI voice agent's LLM bill started outpacing telephony, we stacked six architectural levers to reduce LLM API cost in production by 60%—without touching call quality.

If you want to reduce llm api cost production, you need to look beyond model selection and into the architecture of your LLM feature. For our AI calling agent, that meant restructuring how we routed prompts, cached context, and trimmed waste—and the payoff was a 60% cut in per-conversation LLM spend. Here's the real playbook, drawn from the AI Calling Agent project at Techpotions, where we built an outbound voice product with a full dashboard, CRM, and real-time AI pipeline.
First, measure the whole bill—LLM is often not the biggest cost
Before we optimized a single model call, we instrumented the entire voice stack: Twilio telephony, LiveKit real-time transport, STT, TTS, and the LLM inference. In many conversations, the telephony and speech services together dwarfed the LLM spend. Optimizing the model before measuring the stack is how teams save 40% of 10% of the bill. We tracked per-call costs across every component so we could see where the real leverage was. Only then did we apply the levers below.
The real levers to reduce llm api cost production (in the order they paid off)
Here’s the stacked playbook that cut our LLM API cost by 60% on the same call quality:
- Model routing The majority of turns in a call are simple—acknowledgements, intent capture, short Q&A. We routed those to a smaller, cheaper model and reserved the frontier model only for reasoning-heavy turns. This single change moved the biggest line-item.
- Prompt caching The static system prompt and tool definitions were being re-sent—and re-billed—every turn. By enabling prompt caching on the prefix, we stopped paying for the same tokens over and over across a multi-turn call. On a long conversation, this removed a ruthless recurring cost.
- Output-token discipline We capped
max_tokensand instructed the model to generate terse, spoken-length replies. Voice needs short answers anyway, so this cost us nothing in quality while slashing token consumption per turn. - Trim the system prompt Long instructions repeated every turn are pure recurring spend. We cut our system prompt hard, moving detailed logic into tools and retrieval so the prefix stayed lean.
- Push non-realtime work off the hot path Call summaries, CRM writes, and QA scoring are essential but not urgent. We shifted them to async processing after the call ends, running on a cheaper model without impacting the live conversation.
When these five moves stacked, the LLM cost per conversation dropped dramatically—with zero drop in call quality. The key insight: cost reduction isn’t about picking a cheaper model; it’s about making the model you already use burn less money per meaningful interaction.
How this played out in the AI Calling Agent
Our AI Calling Agent is an outbound voice product built on Next.js, LiveKit, OpenAI, Twilio, and a full operational dashboard. The architecture gave us a real-world testbed to reduce llm api cost production while handling thousands of calls. We applied the levers iteratively, measuring the impact after each change. Model routing alone moved the needle; prompt caching turned a multi-turn call from a token bonfire into a predictable cost; and the non-hot-path shift offloaded entire chunks of LLM work to cheaper async runs. The result was a 60% lower LLM bill per conversation, making the product economically viable at scale.
If you're building voice AI and want to control costs from day one, check our voice agent pricing guide or explore our AI services.
FAQ
What's the single biggest lever for reducing LLM API cost in production voice agents?
Model routing—splitting simple turns (acknowledgements, intent capture) to a cheaper model and reserving the frontier model for reasoning-heavy turns. On a multi-turn voice call, the majority of turns are simple, so this single change moved the biggest line-item.
Does prompt caching actually make a noticeable difference for multi-turn LLM conversations?
Yes. In a multi-turn conversation, the static system prompt and tool definitions are re-sent every turn. Prompt caching stores that prefix so you’re billed only for the incremental tokens after the first turn, which cuts a recurring cost that can dominate the bill.
How do you measure LLM API cost in a voice stack without mixing it with telephony and speech spend?
Instrument every component: telephony (Twilio), STT, TTS, and LLM calls. In many voice stacks, telephony and speech services dwarf the LLM. Measure the whole bill before optimizing the model—otherwise you risk saving 40% of 10% of the cost.