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

# Deepgram Nova-3 Stream

> Live transcription over a socket, returning interim results while the speaker is still talking and a settled transcript once each phrase ends.

![Deepgram Nova-3 Stream](https://media.empiriolabs.ai/model-logos/deepgram-nova-3-stream.png)

[Deepgram](/providers/deepgram) · Transcription

`WEBSOCKET /v1/realtime`

Live transcription over a socket, returning interim results while the speaker is still talking and a settled transcript once each phrase ends.

## At a glance

| Field               | Value                                                                |
| ------------------- | -------------------------------------------------------------------- |
| Model id            | `deepgram-nova-3-stream`                                             |
| Model release date  | -                                                                    |
| Input modalities    | Audio                                                                |
| Output modalities   | Text                                                                 |
| Context window      | -                                                                    |
| Weight precision    | -                                                                    |
| Features            | transcription, speech_to_text, realtime, streaming_asr, multilingual |
| Native inference    | No                                                                   |
| New                 | Yes                                                                  |
| Supported endpoints | `WEBSOCKET /v1/realtime`                                             |
| Alternate model ids | `nova-3-stream`, `deepgram/deepgram-nova-3-stream`                   |

## Pricing

| Charge        | Spec                | Rate    |
| ------------- | ------------------- | ------- |
| Transcription | per minute of audio | \$0.025 |

## Example request

```python
import asyncio, json, os, websockets

URL = "wss://api.empiriolabs.ai/v1/realtime?model=deepgram-nova-3-stream"

async def main():
    async with websockets.connect(
        URL,
        additional_headers=[("Authorization", f"Bearer {os.environ['EMPIRIOLABS_API_KEY']}")],
        max_size=None,
    ) as ws:
        print(json.loads(await ws.recv())["type"])  # session.created
        await ws.send(json.dumps({
            "type": "conversation.item.create",
            "item": {"type": "message", "role": "user",
                     "content": [{"type": "input_text", "text": "Say hello."}]},
        }))
        await ws.send(json.dumps({"type": "response.create"}))
        async for raw in ws:
            event = json.loads(raw)
            if event["type"] == "response.done":
                break

asyncio.run(main())
```

## Parameters

| Parameter            | Type   | Required | Default      | Description                                                                                                            |
| -------------------- | ------ | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------- |
| `input_audio_format` | enum   | no       | `"linear16"` | Encoding of the audio you send: 16 kHz mono 16-bit PCM, as raw binary frames rather than base64. · Allowed: `linear16` |
| `language`           | string | no       | -            | Optional language hint. Omit to let the model detect it.                                                               |

## Notes

Live transcription over a WebSocket at wss\://api.empiriolabs.ai/v1/realtime?model=deepgram-nova-3-stream, authenticated with the ordinary Authorization Bearer header. Send 16 kHz mono 16-bit PCM as binary frames and read transcript events back; interim results arrive while the speaker is still talking, and each phrase settles with is_final. Add language= to the connection URL to transcribe a specific language. Billing is per minute of audio sent.

---

*Machine-readable schema:* `GET https://api.empiriolabs.ai/v1/models/deepgram-nova-3-stream`.