
Fala e vídeo ao vivo enquadram entrada, fala sai por um soquete, com 56 vozes, chamadas de ferramentas durante a conversa e taxas separadas de token de texto e áudio.
Fala e vídeo ao vivo enquadram entrada, fala sai por um soquete, com 56 vozes, chamadas de ferramentas durante a conversa e taxas separadas de token de texto e áudio.
A sessão é configurada com eventos session.update pelo socket em vez de parâmetros de requisição. Tokens de texto e áudio cobram em taxas separadas.
Também conhecido como Alibaba Cloud Qwen3.8 Omni Flash Realtime
qwen3-8-omni-flash-realtime/v1/realtimeqwen3.8-omni-flash-realtimealibaba/qwen3-8-omni-flash-realtimeTarifas pay-as-you-go ao vivo do catálogo EmpirioLabs. Você paga só pelo que usa, sem mínimo mensal.
Qwen3.8 Omni Flash Realtime mantém uma conversa ao vivo por um WebSocket em wss://api.empiriolabs.ai/v1/realtime?model=qwen3-8-omni-flash-realtime, e não pelos endpoints HTTP. Conecte-se com o id de modelo qwen3-8-omni-flash-realtime e envie sua chave de API da EmpirioLabs como cabeçalho Authorization: Bearer no handshake. O áudio trafega nos dois sentidos como PCM de 16 bits em base64. 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=qwen3-8-omni-flash-realtime",
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.audio.delta":
... # base64 audio chunk, append to your playback buffer
elif event["type"] == "response.done":
break
asyncio.run(main())Parâmetros de requisição suportados pela API Qwen3.8 Omni Flash Realtime na EmpirioLabs. Os padrões valem quando um campo é omitido.
| Parâmetro | Tipo | Padrão | Intervalo / valores | Descrição |
|---|---|---|---|---|
| voice | enum | Tina | Tina, Cindy, Liora Mira, Raymond, Zane, Katerina, Ryan, Mia, ... | Voz falada para a sessão. Defina com session.update antes que o modelo produza qualquer áudio. Essas vozes são específicas para esse modelo. |
| instructions | string | - | - | Orientação do sistema sobre como o modelo deve se comportar e falar durante a conversa. |
| modalities | string | ["text","audio"] | - | Quais tipos de saída o modelo retorna por um turno. Corte o áudio para uma resposta apenas de texto. |
| input_audio_format | enum | pcm16 | pcm16 | Codificação do áudio que você adiciona ao buffer de entrada: PCM base64 de 16 bits a 16 kHz. |
| output_audio_format | enum | pcm24 | pcm24 | Codificação do áudio que o modelo transmite de volta: PCM de 16 bits a 24 kHz. |
| turn_detection | string | {"type":"server_vad"} | - | Detecção de atividade de voz no lado do servidor. Decide quando você parou de falar e o modelo deve responder. Está ativado por padrão nesse modelo. |
Conectando Voz full-duplex por WebSocket em wss://api.empiriolabs.ai/v1/realtime?model=qwen3-8-omni-flash-realtime, autenticada com o cabeçalho comum Authorization Bearer. Configure a sessão com session.update pelo socket: voz, instruções, modalidades e detecção de turno. Envio de áudio e vídeo - Adicionar áudio do microfone como input_audio_buffer.append eventos. - Adicionar quadros de vídeo ao vivo como eventos input_image_buffer.append. Frames não são conteúdo de mensagem, então uma imagem dentro de um item de conversa é rejeitada. - A detecção de atividade de voz decide quando você parou de falar, então continue transmitindo por cerca de um segundo após o fim da fala. Vozes As vozes deste modelo não são do mesmo conjunto dos modelos Qwen3.5 Omni em tempo real. Escolha uma da lista de vozes em vez de carregar uma voz, ou deixe-a desconfigurada e o padrão será fornecido para você. Faturamento Tokens de áudio e texto são precificados separadamente em ambas as direções, e cada turno concluído é faturado separadamente a partir do uso reportado pelo modelo.
Na EmpirioLabs, Qwen3.8 Omni Flash Realtime é cobrado por uso: Entrada: áudio $1.86 por 1M de tokens de entrada de áudio; Entrada $0.46 por 1M de tokens de prompt; Saída $1.40 por 1M de tokens gerados; Saída: áudio $3.74 por 1M de tokens de áudio gerados. A tabela de tarifas ao vivo desta página sempre corresponde ao que a API cobra.
Qwen3.8 Omni Flash Realtime suporta uma janela de contexto de 192K tokens com até 65.536 tokens de saída por resposta.
Qwen3.8 Omni Flash Realtime é servido por WEBSOCKET /v1/realtime em api.empiriolabs.ai com autenticação padrão por token Bearer.
Abra o playground da EmpirioLabs e clique em Start session para testar no navegador. Qwen3.8 Omni Flash Realtime funciona sobre um WebSocket em vez de requisição e resposta, então para integrar 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 qwen3-8-omni-flash-realtime 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.