# Gemini 3.8 Live: speechState (SPEECH / NON\_SPEECH) is gone, no server-side speech-start signal remains

**URL:** <https://discuss.ai.google.dev/t/gemini-3-8-live-speechstate-speech-non-speech-is-gone-no-server-side-speech-start-signal-remains/183171>\
**Category:** Gemini API\
**Tags:** api, feedback\
**Created:** [September 16, 2026, 1:29am UTC](https://discuss.ai.google.dev/t/gemini-3-8-live-speechstate-speech-non-speech-is-gone-no-server-side-speech-start-signal-remains/183171 "2026-09-16T01:29:46Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![TsingYue\_Liu](https://d1dlmcr85iqnpo.cloudfront.net/user_avatar/discuss.ai.google.dev/tsingyue_liu/32/27193_2.png) [@TsingYue\_Liu](https://discuss.ai.google.dev/u/TsingYue_Liu)\
**Post date:** [September 16, 2026, 1:29am UTC](https://discuss.ai.google.dev/t/gemini-3-8-live-speechstate-speech-non-speech-is-gone-no-server-side-speech-start-signal-remains/183171/1 "2026-09-16T01:29:46Z")

</div>

Hi team,

Thanks for the great Gemini 3.8 Live update. This is a follow-up to my earlier thread “[Gemini Live Flash 3.1 API: inputTranscription no longer streams incrementally](https://discuss.ai.google.dev/t/gemini-live-flash-3-1-api-inputtranscription-no-longer-streams-incrementally/136977/6)”. There I reported that gemini-3.1-flash-live-preview started sending

{“serverContent”: {“speechState”: “SPEECH”}}  
{“serverContent”: {“speechState”: “NON\_SPEECH”}}

which is the speech\_started / speech\_stopped signal a real-time client needs (hold the mic open while the user is mid-sentence, time the response from end of speech, etc.).

On gemini-3.8-live it no longer exists. Same setup message, tested on both v1alpha and v1beta: nothing is sent while the user is still talking, and the first server message is the full inputTranscription after they stop. So a client cannot extend its listening window or show a listening state from server signals alone.

Was speechState removed on purpose, or is this a regression? Is there any supported speech-start signal on 3.8?

Thanks.

---

<div class="post-metadata">

**Author:** ![TsingYue\_Liu](https://d1dlmcr85iqnpo.cloudfront.net/user_avatar/discuss.ai.google.dev/tsingyue_liu/32/27193_2.png) [@TsingYue\_Liu](https://discuss.ai.google.dev/u/TsingYue_Liu)\
**Post date:** [September 18, 2026, 1:23am UTC](https://discuss.ai.google.dev/t/gemini-3-8-live-speechstate-speech-non-speech-is-gone-no-server-side-speech-start-signal-remains/183171/2 "2026-09-18T01:23:00Z")

</div>

![image](https://d3qe71uytubmmx.cloudfront.net/original/3X/2/1/21583678025de4140c48fd5f9278b2feeaade0ab.png)

The Live API WebSocket reference now marks `speechState` as deprecated and says “Use VoiceActivity instead” (screenshot attached, from [https://ai.google.dev/api/live#BidiGenerateContentServerContent](https://ai.google.dev/api/live#BidiGenerateContentServerContent)).

So I tested for VoiceActivity directly over raw WebSocket:

- gemini-3.1-flash-live-preview sends it as a top-level message on both v1alpha and v1beta:  
`{“voiceActivity”: {“type”: “ACTIVITY_START”, “audioOffset”: “0.360s”}}` and the matching `ACTIVITY_END`.
- gemini-3.8-live and gemini-3.8-live-extended-thinking send nothing. Tested on v1alpha and v1beta, with and without realtime\_input\_config, and with turnCoverage, endOfSpeechSensitivity, proactivity, historyConfig, NO\_INTERRUPTION and context compression variants.

`VoiceActivity` itself is not defined anywhere on the reference page, nor listed in the BidiGenerateContentServerMessage union.

So the documented replacement for the deprecated field exists on 3.1 and is absent on 3.8. Is that intended?

---

<div class="post-metadata">

**Author:** ![TsingYue\_Liu](https://d1dlmcr85iqnpo.cloudfront.net/user_avatar/discuss.ai.google.dev/tsingyue_liu/32/27193_2.png) [@TsingYue\_Liu](https://discuss.ai.google.dev/u/TsingYue_Liu)\
**Post date:** [September 29, 2026, 3:56am UTC](https://discuss.ai.google.dev/t/gemini-3-8-live-speechstate-speech-non-speech-is-gone-no-server-side-speech-start-signal-remains/183171/3 "2026-09-29T03:56:13Z")

</div>

Update (2026-09-29): gemini-3.8-live now sends `voiceActivity` (ACTIVITY\_START / ACTIVITY\_END with audioOffset) on both v1alpha and v1beta, same shape as 3.1.
