
La voix et la vidéo en direct s’entrent, la voix sort sur un seul socket, avec 56 voix, l’appel des outils pendant la conversation, et des débits séparés des jetons texte et audio.
La voix et la vidéo en direct s’entrent, la voix sort sur un seul socket, avec 56 voix, l’appel des outils pendant la conversation, et des débits séparés des jetons texte et audio.
La session est configurée avec les événements session.update via le socket plutôt que les paramètres de requête. Les jetons texte et audio facturent à des débits séparés.
Aussi connu sous le nom Alibaba Cloud Qwen3.8 Omni Flash Realtime
qwen3-8-omni-flash-realtime/v1/realtimeqwen3.8-omni-flash-realtimealibaba/qwen3-8-omni-flash-realtimeTarifs à l'usage en direct du catalogue EmpirioLabs. Vous ne payez que ce que vous utilisez, sans minimum mensuel.
Qwen3.8 Omni Flash Realtime tient une conversation en direct via un WebSocket sur wss://api.empiriolabs.ai/v1/realtime?model=qwen3-8-omni-flash-realtime, et non via les endpoints HTTP. Connectez-vous avec l'id de modèle qwen3-8-omni-flash-realtime et envoyez votre clé API EmpirioLabs dans un en-tête Authorization: Bearer lors du handshake. L'audio circule dans les deux sens en PCM 16 bits encodé en base64. 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=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())Paramètres de requête pris en charge par l'API Qwen3.8 Omni Flash Realtime sur EmpirioLabs. Les valeurs par défaut s'appliquent quand un champ est omis.
| Paramètre | Type | Par défaut | Plage / valeurs | Description |
|---|---|---|---|---|
| voice | enum | Tina | Tina, Cindy, Liora Mira, Raymond, Zane, Katerina, Ryan, Mia, ... | Voix parlée pour la session. Configurez-la avec session.update avant que le modèle ne produise un quelconque audio. Ces voix sont spécifiques à ce modèle. |
| instructions | string | - | - | Des conseils système sur la façon dont le modèle doit se comporter et parler pendant la conversation. |
| modalities | string | ["text","audio"] | - | Quels types de sortie le modèle retourne pour un tour. Coupez l’audio pour une réponse textuelle uniquement. |
| input_audio_format | enum | pcm16 | pcm16 | Encodage de l’audio que vous ajoutez au tampon d’entrée: PCM base64 16 bits à 16 kHz. |
| output_audio_format | enum | pcm24 | pcm24 | Encodage de l’audio que le modèle diffuse en retour: PCM 16 bits à 24 kHz. |
| turn_detection | string | {"type":"server_vad"} | - | Détection d’activité vocale: décide quand vous avez fini de parler et le modèle doit répondre. Il est activé par défaut en server_vad, ce qui met fin à votre tour... |
| max_response_output_tokens | number | - | 1 à 65536 | Le plus grand nombre de jetons de sortie qu’une réponse peut utiliser: de 1 à 65536, où un nombre plus grand est de 65536, ou « inf » pour la limite propre du... |
| temperature | number | - | 0 à 1.99 | Température d’échantillonnage. 0 est déterministe et 1,99 est l’aléatoire maximal. Lorsqu’elle est omise, le défaut propre du modèle s’applique. |
| top_p | number | - | 0.01 à 1 | Masse de probabilité d’échantillonnage du noyau. Des valeurs plus basses rendent les sorties plus ciblées. Lorsqu’elles sont omises, le défaut propre du modèle... |
| top_k | integer | - | 1 à 100 | Échantillonnez uniquement à partir des K jetons les plus probables. Lorsqu’ils sont omis, le défaut par défaut du modèle s’applique. |
| repetition_penalty | number | - | 0.1 à 2 | Des valeurs plus élevées découragent la répétition des phrases, et 1 n’applique aucune pénalité. Lorsqu’elles sont omises, la valeur par défaut du modèle s’applique. |
| presence_penalty | number | - | -2 à 2 | Pénalité pour les jetons déjà apparus dans le texte généré. Les valeurs positives encouragent de nouveaux sujets. Lorsqu’elles sont omises, le défaut par défaut du... |
| seed | integer | - | 0 à 2147483647 | Seed aléatoire pour un échantillonnage plus reproductible. Réutiliser une seed avec la même requête donne une sortie similaire, pas toujours identique. |
| video_representation_compact | enum | - | none, normal | Comment le modèle lit les images vidéo envoyées: aucune ne garde tous les détails, et la normale lit les mêmes images pour un quart des jetons d’entrée quand les... |
Voix full-duplex sur un WebSocket à wss://api.empiriolabs.ai/v1/realtime?model=qwen3-8-omni-flash-realtime, authentifiée avec l’en-tête Authorization Bearer ordinaire. Configurez la session avec session.update sur le socket: voix, instructions, modalités, détection de virage, échantillonnage et la limite de longueur de réponse, max_response_output_tokens.
Les voix de ce modèle ne sont pas du même ensemble que celles des modèles Qwen3.5 Omni en temps réel. Choisissez une voix dans la liste des voix plutôt que de porter une voix à l’autre côté, ou laissez-la non réglée et la valeur par défaut vous sera fournie.
Les jetons audio et texte sont tarifés séparément dans les deux directions, et chaque tour terminé est facturé de manière autonome selon l’utilisation rapportée par le modèle.
Sur EmpirioLabs, Qwen3.8 Omni Flash Realtime est facturé à l'usage : Entrée : audio $1.86 par 1M de jetons d’entrée audio; Entrée $0.46 par 1M de jetons d’invite; Sortie $1.40 par 1M de jetons générés; Sortie : audio $3.74 par 1M de jetons audio générés. La grille tarifaire en direct de cette page correspond toujours à ce que l'API facture.
Qwen3.8 Omni Flash Realtime prend en charge une fenêtre de contexte de 192K tokens avec jusqu'à 65 536 tokens de sortie par réponse.
Qwen3.8 Omni Flash Realtime est servi via WEBSOCKET /v1/realtime sur api.empiriolabs.ai avec une authentification standard par token Bearer.
Ouvrez le playground EmpirioLabs et appuyez sur Start session pour l'essayer dans votre navigateur. Qwen3.8 Omni Flash Realtime fonctionne sur un WebSocket plutôt qu'en requête et réponse, donc pour l'intégrer commencez 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 qwen3-8-omni-flash-realtime, 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.