Hansen describes a voice agent as a conversation with a machine using speech. Speech-to-text converts the user's words to text, an LLM processes them and generates a response, and text-to-speech turns that response back into audio. He says ElevenLabs can also convey expression such as laughter or whispering.
How Voice Agents Handle Latency, Turn-Taking, and Safety
Speaker
Kræn Hansen, a React Native developer at ElevenLabs, discusses voice agent design, latency, safety, SDK architecture, and upcoming work with Callstack.
Hansen says the LLM may account for 40 to 70 percent of pipeline latency, and that faster settings can reduce expressiveness or correctness. Audio cues, such as keyboard sounds while an agent looks something up, can signal that work is happening. Turn-taking systems can distinguish acknowledgments from interruptions, while safety checks can run in streaming mode or verify output before it is spoken, with different latency tradeoffs.
A simple task such as routing a caller can use a faster model, then hand off to a more capable sub-agent for a complex task like loan advice. Teams can choose whether the voice changes during the transfer or stays the same. Hansen says the choice can help match the agent's tone to the interaction.
Hansen describes a universal JavaScript library, a React package with hooks and providers, and a React Native package that adds platform-specific audio input. The layered design builds framework and platform features on a shared core. Developers can bring their own UI, use provided components, or embed a chat bubble.
Hansen says ElevenLabs offers both an integrated Agents platform and services that let developers bring their own LLM, including Speech Engine for adding voice to an existing chat experience. He wants to generate specifications from existing SDK implementations, compare them across languages and platforms, and bring their experiences closer together.
Takeaways
- Use audio cues to make waiting feel intentional and reassure callers the connection is active.
- Tune model speed, expressiveness, and accuracy to the task rather than applying one setting everywhere.
- Treat turn-taking as an intent problem: distinguish brief acknowledgments from requests to interrupt.
- Choose streaming or pre-verified safety checks based on the acceptable balance between latency and output control.
- Build SDKs around a shared core, then layer framework and platform features on top.
Mentioned in this talk
Search inside this talk
What was claimed 13
- uses
ElevenLabs uses text-to-speech
“it generates output text that gets turned into speech again”
YouTube Unverified1 source· Talk
- uses
ElevenLabs uses speech-to-text
“turn your speech into text using speech-to-text”
YouTube Unverified1 source· Talk
- uses
“a text-based large language model can reason or understand what's being said”
YouTube Unverified1 source· Talk
- feature
ElevenLabs: Its voice platform lets the language model express emotion, including laughing and whispering, in generated speech.
“It can laugh, whisper, or be more expressive.”
YouTube Unverified1 source· Talk
- previously atKræn Hansen previously at
MongoDB
“I used to work for Realm and then MongoDB”
1:21inFrom Teddy Bears to Voice Agents: Voice AI, Local-First & App SecurityYouTube Verified2 sources· Talk
- feature
ElevenLabs: Its voice platform supports safety guidelines requiring agents to identify as non-human when asked.
“the agent should say it's non-human”
YouTube Unverified1 source· Talk
- feature
ElevenLabs: Its platform supports audio cues that signal progress during tasks.
“you can add audio cues”
YouTube Unverified1 source· Talk
- previously atKræn Hansen previously at Realm
“I actually wrote my first React Native code when I joined Realm”
4:24inBuilding Node-API for React NativeYouTube Verified2 sources· Talk











