
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: decide quando você terminou de falar e o modelo deve responder. Está ativado por padrão como server_vad, o que encerra seu turno após... |
| max_response_output_tokens | number | - | 1 a 65536 | Maior número de tokens de saída que uma resposta pode usar: de 1 a 65536, onde um número maior é 65536, ou "inf" para o limite próprio do modelo. Também aceito como... |
| temperature | number | - | 0 a 1.99 | Temperatura de amostragem. 0 é determinístico e 1,99 é a aleatoriedade máxima. Quando omitido, aplica-se o padrão do próprio modelo. |
| top_p | number | - | 0.01 a 1 | Amostragem do núcleo com massa de probabilidade. Valores mais baixos tornam as saídas mais focadas. Quando omitido, o padrão do próprio modelo se aplica. |
| top_k | integer | - | 1 a 100 | Amostre apenas dos K tokens mais prováveis. Quando omitido, o padrão do modelo se aplica. |
| repetition_penalty | number | - | 0.1 a 2 | Valores mais altos desencorajam a repetição da frase, e 1 não aplica penalidade. Quando omitido, o padrão do modelo se aplica. |
| presence_penalty | number | - | -2 a 2 | Penalidade para tokens que já apareceram no texto gerado. Valores positivos incentivam novos tópicos. Quando omitidos, o padrão do modelo se aplica. |
| seed | integer | - | 0 a 2147483647 | Semente aleatória para amostragem mais reproduzível. Reutilizar uma semente com a mesma solicitação retorna uma saída semelhante, nem sempre idêntica. |
| video_representation_compact | enum | - | none, normal | Como o modelo lê os quadros de vídeo que você envia: nenhum mantém o detalhe completo, e o normal lê os mesmos quadros para um quarto dos tokens de entrada quando... |
Voz full-duplex sobre um 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 sobre o socket: voz, instruções, modalidades, detecção de turno, amostragem e o limite de comprimento de resposta, max_response_output_tokens.
As vozes desse 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ê.
Tokens de áudio e texto são precificados separadamente em ambas as direções, e cada turno concluído é faturado separadamente pelo 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.