
Transcription en direct sur un socket, retour des résultats intermédiaires pendant que le locuteur parle encore, et une transcription établie une fois chaque phrase terminée.
Transcription en direct sur un socket, retour des résultats intermédiaires pendant que le locuteur parle encore, et une transcription établie une fois chaque phrase terminée.
L’audio est affiché sous forme d’images binaires brutes de PCM mono 16 bits 16 kHz. Les transcriptions intermédiaires et établies reviennent sous forme d’événements Résultats.
Aussi connu sous le nom Deepgram-Nova-3-Stream
deepgram-nova-3-stream/v1/realtimenova-3-streamdeepgram/deepgram-nova-3-streamTarifs à l'usage en direct du catalogue EmpirioLabs. Vous ne payez que ce que vous utilisez, sans minimum mensuel.
Deepgram Nova-3 Stream transcrit un flux audio en direct via un WebSocket sur wss://api.empiriolabs.ai/v1/realtime?model=deepgram-nova-3-stream, et non via les endpoints HTTP. Connectez-vous avec l'id de modèle deepgram-nova-3-stream et envoyez votre clé API EmpirioLabs dans un en-tête Authorization: Bearer lors du handshake. Ajoutez de l'audio PCM 16 bits encodé en base64 et lisez les événements de transcription pendant que la personne parle encore. Un navigateur ne peut pas définir d'en-têtes sur un WebSocket : ouvrez donc cette connexion depuis votre serveur et relayez l'audio vers le navigateur via votre propre socket. Obtenez une clé API depuis le tableau de bord EmpirioLabs.
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())Paramètres de requête pris en charge par l'API Deepgram Nova-3 Stream sur EmpirioLabs. Les valeurs par défaut s'appliquent quand un champ est omis.
| Paramètre | Type | Par défaut | Plage / valeurs | Description |
|---|---|---|---|---|
| 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. |
Transcription en direct via un WebSocket à wss://api.empiriolabs.ai/v1/realtime ?model=deepgram-nova-3-stream, authentifiée avec l’en-tête Authorization Bearer ordinaire. Envoyez du PCM mono 16 bits 16 kHz en tant que trames binaires et relisez les événements de transcription; les résultats intermédiaires arrivent alors que le locuteur est encore en train de parler, et chaque phrase se stabilise avec is_final. Ajoutez language= à l’URL de connexion pour transcrire une langue spécifique. La facturation est effectuée par minute de l’audio que vous envoyez.
Sur EmpirioLabs, Deepgram Nova-3 Stream est facturé à l'usage : Transcription $0.025 par minute d’audio. La grille tarifaire en direct de cette page correspond toujours à ce que l'API facture.
Deepgram Nova-3 Stream est servi via WEBSOCKET /v1/realtime sur api.empiriolabs.ai avec une authentification standard par token Bearer.
Deepgram Nova-3 Stream fonctionne sur un WebSocket plutôt qu'en requête et réponse, commencez donc par le guide de démarrage voix en temps réel. Connectez-vous depuis votre serveur avec votre clé API EmpirioLabs et l'id de modèle deepgram-nova-3-stream, puis diffusez l'audio dans les deux sens.
Créez un compte EmpirioLabs, puis générez une clé sous API Keys dans le tableau de bord. La facturation utilise des crédits à l'usage : vous ne payez que vos requêtes.
Consultez nos tarifs ou contactez-nous si vous souhaitez que votre propre modèle soit déployé sur notre stack.