
Entrée et sortie de la parole, sur un seul socket, sur le plus grand niveau Omni, avec des débits séparés des jetons texte et audio et une facturation par tour.
Entrée et sortie de la parole, sur un seul socket, sur le plus grand niveau Omni, avec des débits séparés des jetons texte et audio et une facturation par tour.
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 Qwen3.5 Omni Realtime, Alibaba Cloud Qwen3.5 Omni Plus Realtime
qwen3-5-omni-plus-realtime/v1/realtimeqwen3.5-omni-plus-realtimealibaba/qwen3-5-omni-plus-realtimeTarifs à l'usage en direct du catalogue EmpirioLabs. Vous ne payez que ce que vous utilisez, sans minimum mensuel.
Qwen3.5 Omni Plus Realtime tient une conversation en direct via un WebSocket sur wss://api.empiriolabs.ai/v1/realtime?model=qwen3-5-omni-plus-realtime, et non via les endpoints HTTP. Connectez-vous avec l'id de modèle qwen3-5-omni-plus-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-5-omni-plus-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.5 Omni Plus 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, Serena, Ethan, Dylan, Sunny, Peter, Kiki, Eric | Voix parlée pendant la session. Configurez-la avec session.update avant que le modèle ne produise un quelconque audio. |
| 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. Supprime « audio » pour une réponse uniquement textuelle. |
| input_audio_format | enum | pcm | pcm | Encodage de l’audio que vous ajoutez au tampon d’entrée: PCM base64 16 bits. |
| output_audio_format | enum | pcm | pcm | Encodage de l’audio que le modèle transmet en arrière: PCM base64 16 bits. |
| turn_detection | string | {"type":"server_vad"} | - | Détection d’activité vocale côté serveur. Il décide quand vous avez arrêté de parler et le modèle doit répondre. Sans cela, le modèle écoute mais ne répond jamais,... |
Voix full-duplex sur un WebSocket à wss://api.empiriolabs.ai/v1/realtime ?model=qwen3-5-omni-plus-realtime, authentifiée avec l’en-tête Authorization Bearer ordinaire. Configurez la session avec session.update sur le socket: voix, instructions, modalités et détection de virage. Les voix de ce modèle diffèrent de celles de la génération Omni précédente, donc réglez-en une qu’elle accepte ou laisse la commande par défaut; une voix inconnue met fin à la session plutôt que de renvoyer une erreur. Les jetons texte et audio sont tarifés séparément, et chaque tour terminé est facturé séparément à partir de l’utilisation rapportée par le modèle.
Sur EmpirioLabs, Qwen3.5 Omni Plus Realtime est facturé à l'usage : Entrée: audio $33.00 par 1M de jetons d’entrée audio; Entrée $4.20 par 1M de jetons d’invite; Produit $24.80 par 1M de jetons générés; Sortie: audio $124.00 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.5 Omni Plus Realtime prend en charge une fenêtre de contexte de 256K tokens avec jusqu'à 32 768 tokens de sortie par réponse.
Qwen3.5 Omni Plus 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.5 Omni Plus 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-5-omni-plus-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.