
話者が話している間に中間結果を返し、各フレーズが終わると確定した書き起こしをスポントで行う。
話者が話している間に中間結果を返し、各フレーズが終わると確定した書き起こしをスポントで行う。
OpenAIリアルタイムプロトコルを使用するか、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 | 送信する音声のエンコード:16 kHzモノラル、16ビットPCM、または現在のOpenAI Realtimeプロトコルでは24 kHzです。 |
| language | string | en | - | 言語間で切り替える音声用のen、es、frなどの言語コードやmultiを使います。接続URLやセッションの文字起こし設定でlanguage=と設定してください。 |
wss@api.empiriolabs.ai/v1/realtime?model=deepgram-nova-3-streamでWebSocketを経由したライブ文字起こしを、APIキーはAuthorizationヘッダーに記載しています。OpenAI Realtimeプロトコル(OpenAI SDKを含む)や、Deepgramのストリーミングプロトコル(16kHzモノラル16ビットPCMをバイナリフレームとして送信)を使用してください。接続URLにlanguage=を追加して特定の言語を文字起こしします。請求は送信した音声の1分単位で計算されます。
EmpirioLabs では Deepgram Nova-3 Stream は従量課金です: 転写 $0.025 音声の1分あたり。このページのライブ料金表は常に API の請求額と一致します。
Deepgram Nova-3 Stream は api.empiriolabs.ai 上の WEBSOCKET /v1/realtime で提供され、標準的な Bearer トークン認証を使用します。
EmpirioLabs プレイグラウンド を開き、Start session を押すとブラウザーで試せます。Deepgram Nova-3 Stream はリクエストとレスポンスではなく WebSocket 上で動作するため、組み込むときは リアルタイム音声クイックスタート から始めてください。EmpirioLabs の API キーとモデル ID deepgram-nova-3-stream を使ってサーバーから接続し、音声を双方向にストリーミングします。
EmpirioLabs アカウントを作成し、ダッシュボードの API Keysでキーを生成してください。課金は従量制クレジットなので、実行したリクエストの分だけ支払います。