LiveLingoLiveLingoTry free

Gemini 3.8 Live: Why Streamed Audio Gets No Response (2026)

Google's new default voice model went generally available on 15 September 2026. Stream audio to it the way the documentation describes and it accepts every byte and answers nothing at all. This is the measurement, the mechanism, and the one-line workaround.

Quick answer: why is Gemini 3.8 Live silent?

gemini-3.8-live performs no server-side speech detection. Automatic voice activity detection is what starts a turn in the Live API, so when the server never reports speech, streamed audio is accepted and silently discarded. No error, no frames, no close. Disabling automatic VAD and sending activityStart and activityEnd yourself makes it respond immediately.

1. The symptom

Open a Live API session, send 8 seconds of 16 kHz mono PCM the documented way, and wait. One message comes back, and it is not a response:

{'session_resumption_update': {'new_handle': '6991...', 'resumable': True}}

That is the entire transcript of the session. No serverContent, no modelTurn, no turnComplete, no error, and the socket stays open. The model itself is alive: send text on the same session and it answers normally. It is specifically audio that vanishes.

2. Three models, one configuration

The same 8 seconds of audio, the same client, and the same configuration of response_modalities: ["AUDIO"] with no realtime_input_config at all, sent to three models:

Messages returned under automatic VAD, session resumption handle excluded. Measured 15 and 16 September 2026.
ModelMessagesSpeech detectedWhat came back
gemini-3.5-live-translate80YesFull translated response
gemini-3.1-flash-live1Yesvoice_activity at 0.200 s
gemini-3.8-live0NoNothing, only the session handle

The middle row is the whole story. Gemini 3.1 Flash Live does not produce a full turn in this window either, but it does something crucial first: it reports that it heard speech, 200 milliseconds in.

{'server_content': {},
 'voice_activity': {'voice_activity_type': 'ACTIVITY_START',
                    'audio_offset': '0.200s'}}

Gemini 3.8 Live never emits that event. Not late, not once, not at all. The server is not detecting speech, so the automatic turn-taking that every Live API example depends on has nothing to trigger it.

3. The workaround

Take over voice activity detection yourself. Disable the server's, then bracket each utterance:

config = LiveConnectConfig(
    response_modalities=["AUDIO"],
    realtime_input_config=RealtimeInputConfig(
        automatic_activity_detection=AutomaticActivityDetection(disabled=True)
    ),
)

await session.send_realtime_input(activity_start=ActivityStart())
# ... stream your PCM chunks ...
await session.send_realtime_input(activity_end=ActivityEnd())

On the identical audio that produced no response, this produced 39 messages. Two costs come with it. You now need your own voice activity detection, and disabling the server's also removes its pre-speech buffering, so you must feed audio from before your detected speech start or the model loses the first syllable. Google's own guidance suggests an end-of-speech threshold of at least 500 milliseconds, since anything more aggressive fragments utterances.

4. What the documentation says

The opposite. The Live API capabilities guide states that the model automatically performs VAD on a continuous audio input stream by default, and that manual activityStart and activityEnd handling is only required if you deliberately set automaticActivityDetection.disabled to true. There is no known-issue entry in the release notes, and the model is generally available rather than preview.

One other developer appears to have reached the same wall from a different direction, reporting on Google's developer forum the same day that speechState (SPEECH / NON_SPEECH) is gone from 3.8 Live and that no server-side speech-start signal remains. That is the same root cause, observed as a missing field rather than as silence.

5. Scope

  • Reproduced on 15 and 16 September 2026, one API key and one project, through both the google-genai SDK and a raw WebSocket to BidiGenerateContent.
  • Audio was 16 kHz mono PCM, audio/pcm;rate=16000, streamed at real time in 100 millisecond chunks.
  • Ruled out: client configuration, since the identical config returns 80 messages on gemini-3.5-live-translate; mime type and sample rate, tested at 16 kHz and 24 kHz; setup ordering, tested waiting for setup completion first; and API version, tested on v1alpha and v1beta.
  • Not established: whether this affects every project or only some, and whether Google considers it a defect or an intentional contract change for 3.8.

6. The takeaway

If you are building on the Live API, the practical lesson is narrow: do not assume automatic turn-taking carries across model versions. It is a server-side behaviour, it is not part of the request contract, and on the current default model it is simply absent. For speech-to-speech translation specifically, Gemini 3.5 Live Translate still works and answered in full on the same audio.

7. Frequently asked questions

Why does Gemini 3.8 Live not respond to audio?

Because it emits no server-side speech-activity event. Automatic voice activity detection is what triggers a turn, and on gemini-3.8-live it never fires, so streamed audio is accepted and silently discarded. Eight seconds of PCM produced one message, a session resumption handle, with no error and the socket left open.

Does Gemini 3.8 Live support automatic voice activity detection?

The documentation says yes and the measured behaviour says no. Gemini 3.1 Flash Live emitted a voice_activity ACTIVITY_START event 200 milliseconds into the same audio; Gemini 3.8 Live emitted nothing.

How do you send audio to Gemini 3.8 Live so it responds?

Set automaticActivityDetection.disabled to true, send activityStart, stream your PCM, then send activityEnd. That produced 39 messages on audio which had produced none. You then own voice activity detection, including the pre-speech buffer the server stops providing.

Is this a bug or a configuration mistake?

It reproduces with configuration ruled out: the identical config, audio and client returned 80 messages on gemini-3.5-live-translate and nothing on gemini-3.8-live, so the difference is the model. Google lists no known issue, and the model is generally available rather than preview.

Which Gemini model should you use for live speech translation instead?

gemini-3.5-live-translate-preview remains the working speech-to-speech path. In separate measurement across a 452-second stream it held a flat 1.51 second completion lag into Spanish and 1.92 seconds into Japanese, without drifting as the session ran. Those figures are in our interpreter test.

8. Sources

Measured against the Gemini Live API on 15 and 16 September 2026. Model identifiers and documented defaults verified against Google's published model pages and Live API capabilities guide on 16 September 2026. The behaviour of a generally available model can change without notice; re-test before relying on any of this.

Gemini 3.8 Live: Why Streamed Audio Gets No Response (2026) | LiveLingo