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

# Deepgram Streaming

> Stream live meeting transcripts with Deepgram nova-2: sentence, word, or raw modes, VAD events, endpointing — full config reference with defaults.

Deepgram Streaming pushes live transcript chunks to your webhook during the meeting. Three delivery modes: `sentence` (default — punctuated sentences), `word` (word-by-word), and `raw` (Deepgram's raw stream).

## Enable

Streaming needs both the provider config and a live webhook URL:

```json
{
  "meeting_link": "https://meet.google.com/abc-defg-hij",
  "bot_name": "Notetaker",
  "live_transcription_required": { "webhook_url": "https://your-server.com/live" },
  "recording_config": {
    "transcript": {
      "provider": { "deepgram_streaming": { "transcription_mode": "sentence" } }
    }
  }
}
```

CLI: `meetstream bot create <link> -t deepgram_streaming --live-transcript-webhook <url>`.

## Configuration reference

| Field                | Type    | Default    | Notes                            |
| -------------------- | ------- | ---------- | -------------------------------- |
| `model`              | string  | `nova-2`   | Only supported value             |
| `transcription_mode` | string  | `sentence` | `sentence`, `word`, or `raw`     |
| `language`           | string  | `en`       |                                  |
| `punctuate`          | boolean | `true`     |                                  |
| `smart_format`       | boolean | `true`     |                                  |
| `endpointing`        | integer | `300`      | Silence (ms) that ends a segment |
| `vad_events`         | boolean | `true`     | Voice-activity events            |
| `utterance_end_ms`   | integer | `1000`     |                                  |
| `encoding`           | string  | `linear16` | Only supported value             |
| `channels`           | integer | `1`        |                                  |

## The live payload

Each webhook delivery carries `bot_id`, `speakerName`, `timestamp`, `new_text` (the increment), `transcript` (running buffer), `words[]` with per-word timing and confidence, `end_of_turn`, and your echoed `custom_attributes` — full shape in [Live Transcription](/guides/transcription-recordings/live-transcription).

Streaming providers deliver text live and do not produce a post-call transcript (`transcription.processed` / `bot.done` never fire). Need both? [Re-transcribe the recording](/guides/transcription-recordings/providers/transcription-providers#re-transcribe-any-recording) after the call.