Skip to navigation

Deepgram Nova-3 Stream

Deepgram Nova-3 Stream
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

FieldValue
Model iddeepgram-nova-3-stream
Model release date-
Input modalitiesAudio
Output modalitiesText
Context window-
Weight precision-
Featurestranscription, speech_to_text, realtime, streaming_asr, multilingual
Native inferenceNo
NewYes
Supported endpointsWEBSOCKET /v1/realtime
Alternate model idsnova-3-stream, deepgram/deepgram-nova-3-stream

Pricing

ChargeSpecRate
Transcriptionper minute of audio$0.025

Example request

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

ParameterTypeRequiredDefaultDescription
input_audio_formatenumno"linear16"Encoding of the audio you send: 16 kHz mono 16-bit PCM, as raw binary frames rather than base64. · Allowed: linear16
languagestringno-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.