# Prewarm Turn Detection Model

**URL:** <https://community.livekit.io/t/prewarm-turn-detection-model/560>\
**Category:** Agents\
**Tags:** turn-detection\
**Created:** [March 14, 2026, 8:32pm UTC](https://community.livekit.io/t/prewarm-turn-detection-model/560 "2026-03-14T20:32:50Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dan\_Kirkpatrick](https://sea1.discourse-cdn.com/flex001/user_avatar/community.livekit.io/dan_kirkpatrick/32/480_2.png) [@Dan\_Kirkpatrick](https://community.livekit.io/u/Dan_Kirkpatrick)\
**Post date:** [March 14, 2026, 8:32pm UTC](https://community.livekit.io/t/prewarm-turn-detection-model/560/1 "2026-03-14T20:32:50Z")

</div>

Is it possible to prewarm the MultilingualModel() that gets assigned to the turn\_detection parameter:

_turn\_detection=MultilingualModel()_

With the Silero VAD, I’m able to prewarm per the documentation and that works well but, without prewarming the turn\_detection model, the first response I give to an agent takes an extra few seconds to recognize it. After that, the turn detection model is much quicker. I’m assuming it’s a cold start issue. If I comment out this line, I don’t have the first STT lag. I looked through the documentation and code examples but I don’t see anywhere this is done so I wasn’t sure if this was even possible. Appreciate any help or advice you have!

Thanks!  
-Dan

---

<div class="post-metadata">

**Author:** ![darryncampbell](https://sea1.discourse-cdn.com/flex001/user_avatar/community.livekit.io/darryncampbell/32/20_2.png) [@darryncampbell](https://community.livekit.io/u/darryncampbell)\
**Post date:** [March 16, 2026, 10:33am UTC](https://community.livekit.io/t/prewarm-turn-detection-model/560/2 "2026-03-16T10:33:37Z")

</div>

It’s not possible to prewarm the turn detection model. The model weights can be downloaded ahead of time, which happens [automatically during the build process](https://docs.livekit.io/agents/logic/turns/turn-detector/#download-model-weights), but the model is loaded and initialized internally by `AgentSession` the first time it’s used.

“an extra few seconds” does seem like a long time. Are your agents running on LiveKit cloud?

---

<div class="post-metadata">

**Author:** ![Dan\_Kirkpatrick](https://sea1.discourse-cdn.com/flex001/user_avatar/community.livekit.io/dan_kirkpatrick/32/480_2.png) [@Dan\_Kirkpatrick](https://community.livekit.io/u/Dan_Kirkpatrick)\
**Post date:** [March 16, 2026, 5:09pm UTC](https://community.livekit.io/t/prewarm-turn-detection-model/560/3 "2026-03-16T17:09:04Z")

</div>

Thank Darryn! Appreciate the insight.

I do have this running on LiveKit cloud where this is occurring. I thought this was maybe part of the free plan “cold start” but the TTS was immediate and it was only the STT that was slow. I decided to try self-hosting just the agent part (WebRTC in Cloud) and noticed it had the same STT cold start hang to it. I tried commenting out just the turn\_detection part, and the agent has been surprisingly fast now (relying only on the prewarmed VAD for now).

I started using Deepgram for their STT and TTS and noticed one of their STT models has turn-detection built in (and LiveKit has the ability to point the turn detection at the STT for direction). Is this the better option now than trying to roll my own turn detection model? Maybe this is a moot point to begin with.

Thanks again for the help!

---

<div class="post-metadata">

**Author:** ![darryncampbell](https://sea1.discourse-cdn.com/flex001/user_avatar/community.livekit.io/darryncampbell/32/20_2.png) [@darryncampbell](https://community.livekit.io/u/darryncampbell)\
**Post date:** [March 17, 2026, 9:02am UTC](https://community.livekit.io/t/prewarm-turn-detection-model/560/4 "2026-03-17T09:02:55Z")

</div>

> I thought this was maybe part of the free plan “cold start” but the TTS was immediate and it was only the STT that was slow.

Yes, cold start applies to the agent initializing, [Deployment management | LiveKit Documentation](https://docs.livekit.io/deploy/agents/managing-deployments/#cold-start) , so if you are seeing immediate TTS this isn’t agent cold starts. Also, if this happens for two consecutive calls, it will not be agent cold starts.

> I started using Deepgram for their STT and TTS and noticed one of their STT models has turn-detection built in (and LiveKit has the ability to point the turn detection at the STT for direction). Is this the better option

Technically our docs recommend the MultiModal() model, [Turns overview | LiveKit Documentation](https://docs.livekit.io/agents/logic/turns/#turn-detector-model) , but in practice, I would say to try both and use whichever one works best in your use case.

_Although I know this isn’t what you are asking (more for anyone else that finds this thread), for realtime models I would specifically recommend using that model’s built in turn detection:_ [Turns overview | LiveKit Documentation](https://docs.livekit.io/agents/logic/turns/#realtime-models)

---

<div class="post-metadata">

**Author:** ![system](https://sea1.discourse-cdn.com/flex001/user_avatar/community.livekit.io/system/32/26_2.png) [@system](https://community.livekit.io/u/system)\
**Post date:** [July 3, 2026, 8:36am UTC](https://community.livekit.io/t/prewarm-turn-detection-model/560/5 "2026-07-03T08:36:31Z")

</div>

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.
