
Conversation vocale duplex sur un seul socket, avec 19 voix, recherche web native, appels d’outils, et débits séparés de jetons texte et audio.
Conversation vocale duplex sur un seul socket, avec 19 voix, recherche web native, appels d’outils, et débits séparés de jetons texte et audio.
La session est configurée avec des événements session.update via le socket plutôt que les paramètres de requête. La recherche web est désactivée par défaut et ne peut pas être combinée avec l’appel de fonction. Les jetons texte et audio facturent à des tarifs séparés, et une réponse vocale facture uniquement ses jetons audio.
Aussi connu sous le nom Qwen Audio Realtime Plus, Qwen Audio Realtime, Alibaba Cloud Qwen Audio 3.0 Realtime Plus
qwen-audio-3-0-realtime-plus/v1/realtimeqwen-audio-3.0-realtime-plusalibaba/qwen-audio-3-0-realtime-plusTarifs à l'usage en direct du catalogue EmpirioLabs. Vous ne payez que ce que vous utilisez, sans minimum mensuel.
Qwen Audio 3.0 Realtime Plus tient une conversation en direct via un WebSocket sur wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-0-realtime-plus, et non via les endpoints HTTP. Connectez-vous avec l'id de modèle qwen-audio-3-0-realtime-plus 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=qwen-audio-3-0-realtime-plus",
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 Qwen Audio 3.0 Realtime Plus 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 | longanqian | longanqian, longanlingxin, longanlufeng, longanlingxi, longan... | 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. |
| speed | number | - | 0.5 à 2 | Taux de parole de la réponse, de 0,5 à 2. Des valeurs plus basses ralentissent la parole et des valeurs plus élevées l’accélèrent. Également accepté comme... |
| enable_speech_emotion | boolean | true | - | Une émotion plus marquée dans la réponse parlée. Éteins-la pour une interprétation plus équilibrée. |
| max_history_turns | integer | - | 1 à 50 | Le nombre d’échanges antérieurs que le modèle lit pour chaque réponse, de 1 à 50. Moins d’échanges utilisent moins de jetons d’entrée. Lorsqu’ils sont omis, le... |
| enable_search | boolean | false | - | Recherchez sur le web des informations en temps réel. Ne peuvent pas être utilisés dans la même session que l’appel de fonction. Les résultats de recherche sont... |
| 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... |
Voix full-duplex sur un WebSocket à wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-0-realtime-plus, 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 et livraison des tours.
speed (0,5 à 2) définit le débit de parole, enable_speech_emotion la prestation expressive, et max_history_turns (1 à 50) combien d’échanges précédents le modèle lit auparavant. Demandez la langue de la réponse dans vos instructions.
Les voix de ce modèle sont à part entière. Choisissez une voix dans la liste vocale plutôt que de porter une voix en face d’un autre modèle, ou laissez-la non réglée et la voix par défaut vous sera fournie.
La recherche web est désactivée par défaut. Activez-la avec enable_search. Elle ne peut pas être activée dans la même session que l’appel de fonction, et les résultats de recherche sont ajoutés à la conversation et comptabilisés comme jetons d’entrée.
Les jetons audio et texte sont tarifés séparément dans les deux directions. Une réponse vocale est facturée uniquement pour ses jetons de sortie audio, et le débit de sortie texte s’applique aux réponses sans audio. Chaque tour complet est facturé de manière autonome selon l’utilisation rapportée par le modèle.
Sur EmpirioLabs, Qwen Audio 3.0 Realtime Plus est facturé à l'usage : Entrée : audio $12.80 par 1M de jetons d’entrée audio; Entrée $1.60 par 1M de jetons d’invite; Sortie $12.80 par 1 million de jetons générés, réponses uniquement textuelles; Sortie : audio $48.00 par 1M de jetons audio générés; Recherche Web $0.00 par appel lors de l’invocation. La grille tarifaire en direct de cette page correspond toujours à ce que l'API facture.
Qwen Audio 3.0 Realtime Plus prend en charge une fenêtre de contexte de 16K tokens avec jusqu'à 8 192 tokens de sortie par réponse.
Qwen Audio 3.0 Realtime Plus 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. Qwen Audio 3.0 Realtime Plus 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 qwen-audio-3-0-realtime-plus, 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.