
Transcrição ao vivo por um soquete, retornando resultados intermediários enquanto o falante ainda está falando e uma transcrição consolidada quando cada frase termina.
Transcrição ao vivo por um soquete, retornando resultados intermediários enquanto o falante ainda está falando e uma transcrição consolidada quando cada frase termina.
O áudio sobe como quadros binários brutos de PCM mono 16 bits de 16 kHz. Transcrições intermediárias e consolidadas retornam como eventos de Resultados.
Também conhecido como Deepgram-Nova-3-Stream
deepgram-nova-3-stream/v1/realtimenova-3-streamdeepgram/deepgram-nova-3-streamTarifas pay-as-you-go ao vivo do catálogo EmpirioLabs. Você paga só pelo que usa, sem mínimo mensal.
Deepgram Nova-3 Stream transcreve um fluxo de áudio ao vivo por um WebSocket em wss://api.empiriolabs.ai/v1/realtime?model=deepgram-nova-3-stream, e não pelos endpoints HTTP. Conecte-se com o id de modelo deepgram-nova-3-stream e envie sua chave de API da EmpirioLabs como cabeçalho Authorization: Bearer no handshake. Acrescente áudio PCM de 16 bits em base64 e leia os eventos de transcrição enquanto a pessoa ainda fala. Um navegador não consegue definir cabeçalhos em um WebSocket, então abra esta conexão a partir do seu servidor e repasse o áudio ao navegador pelo seu próprio socket. Obtenha uma chave de API no painel 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())Parâmetros de requisição suportados pela API Deepgram Nova-3 Stream na EmpirioLabs. Os padrões valem quando um campo é omitido.
| Parâmetro | Tipo | Padrão | Intervalo / valores | Descrição |
|---|---|---|---|---|
| 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. |
Transcrição ao vivo por WebSocket em wss://api.empiriolabs.ai/v1/realtime?model=deepgram-nova-3-stream, autenticada com o cabeçalho comum Authorization Bearer. Envie PCM mono 16 bits de 16 kHz como quadros binários e leia os eventos de transcrição de volta; os resultados intermediários chegam enquanto o falante ainda está falando, e cada frase se estabelece com is_final. Adicione language= à URL de conexão para transcrever um idioma específico. A faturação é por minuto do áudio que você enviar.
Na EmpirioLabs, Deepgram Nova-3 Stream é cobrado por uso: Transcrição $0.025 por minuto de áudio. A tabela de tarifas ao vivo desta página sempre corresponde ao que a API cobra.
Deepgram Nova-3 Stream é servido por WEBSOCKET /v1/realtime em api.empiriolabs.ai com autenticação padrão por token Bearer.
Deepgram Nova-3 Stream funciona sobre um WebSocket em vez de requisição e resposta, então comece pelo guia rápido de voz em tempo real. Conecte-se do seu servidor com sua chave de API da EmpirioLabs e o id de modelo deepgram-nova-3-stream e transmita áudio nos dois sentidos.
Crie uma conta EmpirioLabs e gere uma chave em API Keys no painel. A cobrança usa créditos pay-as-you-go, então você paga apenas pelas requisições que faz.
Confira nossos preços ou entre em contato se quiser que seu próprio modelo seja implementado em nossa pilha.