> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.deepgram.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.deepgram.com/_mcp/server.

## Mid-session Listen updates, STT latency, session length limit & Google Enterprise Agent API

### UpdateListen: switch model and language mid-session

`UpdateListen` now accepts `model` and `language` changes, so you can switch speech-to-text models and languages without restarting the session. Previously the provider identity had to match the current session.

```json
{
  "type": "UpdateListen",
  "listen": {
    "provider": {
      "type": "deepgram",
      "version": "v1",
      "model": "nova-3-general",
      "language": "es"
    }
  }
}
```

Send the fields that apply to the model you are switching to: `language` for V1 (Nova) models, and `keyterms`, `eot_threshold`, `eager_eot_threshold`, `eot_timeout_ms`, and `language_hints` for V2 (Flux) models. Keyterms can only be updated mid-session for Flux models — set Nova-3 keyterms in the `Settings` message at the start of the session. The server responds with a `ListenUpdated` acknowledgement once the changes are applied.

For details, see the [UpdateListen documentation](/docs/voice-agent-update-listen).

### STT latency in `LatencyReport`

`LatencyReport` now includes `stt_latency`, the time from audio received to transcript produced. Every turn reports the full STT → LLM → TTS breakdown.

```json
{
  "type": "LatencyReport",
  "stt_latency": 0.12,
  "ttt_token_latency": 0.34,
  "tts_latency": 0.18,
  "total_latency": 0.64
}
```

For details, see the [Latency Report documentation](/docs/voice-agent-latency-report).

### Maximum session length of 2 hours

Voice Agent sessions now close automatically after 2 hours. Two new codes mark the limit:

| Time into the session | Event | Code |
| --- | --- | --- |
| 1 hour 55 minutes | `Warning` | `MAXIMUM_SESSION_LENGTH_APPROACHING` |
| 2 hours | `Error` (terminal) | `MAXIMUM_SESSION_LENGTH_REACHED` |

`KeepAlive` does not extend the limit. To continue a conversation past 2 hours, open a new connection and replay the prior turns in `agent.context.messages`.

For details, see [Maximum session length](/docs/voice-agent-errors-warnings#maximum-session-length).

### Google Enterprise Agent API support

Managed Google LLMs now run on either of Google's APIs: the AI Studio API or the Gemini Enterprise Agent (GEA) API, formerly the Vertex API. GEA adds regional Google endpoints for models where available. Select the API with `think.provider.version` from any Deepgram Voice Agent endpoint: `ai-studio-v1beta` for AI Studio, `gemini-enterprise-agent-v1` for GEA. The existing `v1beta` value remains valid as an alias for `ai-studio-v1beta`.

```json
{
  "agent": {
    "think": {
      "provider": {
        "type": "google",
        "version": "gemini-enterprise-agent-v1",
        "model": "gemini-2.5-flash"
      }
    }
  }
}
```

Defaults when you omit `version`:

| Deepgram Voice Agent endpoint | Default `version` |
| --- | --- |
| `wss://agent.deepgram.com/v1/agent/converse` (general) | `ai-studio-v1beta` — global AI Studio, the broadest model coverage |
| `wss://api.eu.deepgram.com/v1/agent/converse` (EU) | `gemini-enterprise-agent-v1` — GEA EU, every request served in the EU |
| `wss://api.au.deepgram.com/v1/agent/converse` (AU) | `ai-studio-v1beta` — global AI Studio, as GEA has no Australia-specific endpoint |

Fewer Gemini models are available on the EU GEA endpoint than on global AI Studio. For current availability by region, see [Google's documentation](https://docs.cloud.google.com/gemini-enterprise-agent-platform/resources/locations#multi-region).

For details, see [Regional Endpoints](/reference/regional-endpoints#google-llm-apis) and [LLM Models](/docs/voice-agent-llm-models#google).

### Fixed

Resolved a sample rate issue that prevented some users from using the Flux TTS early access model in the Voice Agent.