話者が話している間に中間結果を返し、各フレーズが終わると確定した書き起こしをスポントで行う。
音声は16kHzモノラル16ビットPCMの生のバイナリフレームとして送信されます。中間および確定したトランスクリプトは結果イベントとして返されます。
別名 Deepgram-Nova-3-Stream
deepgram-nova-3-stream/v1/realtimenova-3-streamdeepgram/deepgram-nova-3-streamEmpirioLabs カタログのライブ従量課金料金です。使った分だけの支払いで、月額最低料金はありません。
Deepgram Nova-3 Stream は HTTP エンドポイントではなく、wss://api.empiriolabs.ai/v1/realtime?model=deepgram-nova-3-stream の WebSocket 上でライブ音声ストリームを文字起こしします。モデル ID deepgram-nova-3-stream で接続し、ハンドシェイク時に EmpirioLabs の API キーを Authorization: Bearer ヘッダーとして送信してください。base64 の 16 ビット PCM 音声を追加すると、話している最中から文字起こしイベントを受け取れます。 ブラウザは WebSocket にヘッダーを設定できないため、この接続はサーバーから開き、音声は自前のソケットでブラウザへ中継してください。 EmpirioLabs ダッシュボードで API キーを取得してください。
import asyncio, json, os, websockets
async def main():
async with websockets.connect(
"wss://api.empiriolabs.ai/v1/realtime?model=deepgram-nova-3-stream",
additional_headers=[
("Authorization", f"Bearer {os.environ['EMPIRIOLABS_API_KEY']}"),
],
max_size=None,
) as ws:
print(json.loads(await ws.recv())["type"]) # session.created
import base64
# 16-bit PCM microphone audio, base64 encoded, in small chunks.
for chunk in read_microphone_chunks():
await ws.send(json.dumps({
"type": "input_audio_buffer.append",
"audio": base64.b64encode(chunk).decode(),
}))
await ws.send(json.dumps({"type": "input_audio_buffer.commit"}))
async for raw in ws:
event = json.loads(raw)
if event["type"].endswith("input_audio_transcription.delta"):
# "text" is settled transcript; "stash" is still in progress.
if event.get("text"):
print(event["text"], end="", flush=True)
asyncio.run(main())EmpirioLabs 上の Deepgram Nova-3 Stream API が対応するリクエストパラメーターです。フィールドを省略した場合はデフォルト値が適用されます。
| パラメータ | タイプ | デフォルト | 範囲 / 値 | 説明 |
|---|---|---|---|---|
| input_audio_format | enum | linear16 | linear16 | Encoding of the audio you send up: 16 kHz mono 16-bit PCM, as raw binary frames rather than base64. |
| language | string | - | - | Optional language hint. Omit to let the model detect it. |
wss://api.empiriolabs.ai/v1/realtime?model=deepgram-nova-3-stream のWebSocket上でライブ文字起こしを行い、通常のAuthorization Bearerヘッダーで認証されます。16 kHzモノラル16ビットPCMをバイナリフレームとして送信し、トランスクリプトイベントを読み返します。中間結果は話者が話している間に届き、各フレーズはis_finalで落ち着きます。接続URLにlanguage=を追加して特定の言語を文字起こしします。請求は送信した音声の分単位で計算されます。
EmpirioLabs では Deepgram Nova-3 Stream は従量課金です: 転写 $0.025 音声の1分あたり。このページのライブ料金表は常に API の請求額と一致します。
Deepgram Nova-3 Stream は api.empiriolabs.ai 上の WEBSOCKET /v1/realtime で提供され、標準的な Bearer トークン認証を使用します。
Deepgram Nova-3 Stream はリクエストとレスポンスではなく WebSocket 上で動作するため、リアルタイム音声クイックスタート から始めてください。EmpirioLabs の API キーとモデル ID deepgram-nova-3-stream を使ってサーバーから接続し、音声を双方向にストリーミングします。
EmpirioLabs アカウントを作成し、ダッシュボードの API Keysでキーを生成してください。課金は従量制クレジットなので、実行したリクエストの分だけ支払います。