
Transcription en direct sur un socket, en diffusant des mots partiels pendant que l’orateur parle, et une phrase fixe à chaque pause, tarifée à l’heure d’audio.
Transcription en direct sur un socket, en diffusant des mots partiels pendant que l’orateur parle, et une phrase fixe à chaque pause, tarifée à l’heure d’audio.
Diffusez de l’audio pcm16 16 kHz sur la prise de base. Des résultats partiels arrivent pendant que le locuteur parle. Définissez la langue, une invite et la pause qui termine une phrase dans session.update.
Aussi connu sous le nom Qwen Audio ASR Stream, Alibaba Cloud Qwen Audio 3.0 ASR Stream
qwen-audio-3-0-asr-stream/v1/realtimeqwen-audio-3.0-asr-streamalibaba/qwen-audio-3-0-asr-streamTarifs à l'usage en direct du catalogue EmpirioLabs. Vous ne payez que ce que vous utilisez, sans minimum mensuel.
Qwen Audio 3.0 ASR Stream transcrit un flux audio en direct via un WebSocket sur wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-0-asr-stream, et non via les endpoints HTTP. Connectez-vous avec l'id de modèle qwen-audio-3-0-asr-stream et envoyez votre clé API EmpirioLabs dans un en-tête Authorization: Bearer lors du handshake. Ajoutez de l'audio PCM 16 bits encodé en base64 et lisez les événements de transcription pendant que la personne parle encore. 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-asr-stream",
additional_headers=[
("Authorization", f"Bearer {os.environ['EMPIRIOLABS_API_KEY']}"),
],
max_size=None,
) as ws:
print(json.loads(await ws.recv())["type"]) # session.created
import base64
# 16-bit PCM microphone audio, base64 encoded, in small chunks.
for chunk in read_microphone_chunks():
await ws.send(json.dumps({
"type": "input_audio_buffer.append",
"audio": base64.b64encode(chunk).decode(),
}))
await ws.send(json.dumps({"type": "input_audio_buffer.commit"}))
async for raw in ws:
event = json.loads(raw)
if event["type"].endswith("input_audio_transcription.delta"):
# "text" is settled transcript; "stash" is still in progress.
if event.get("text"):
print(event["text"], end="", flush=True)
asyncio.run(main())Paramètres de requête pris en charge par l'API Qwen Audio 3.0 ASR Stream sur EmpirioLabs. Les valeurs par défaut s'appliquent quand un champ est omis.
| Paramètre | Type | Par défaut | Plage / valeurs | Description |
|---|---|---|---|---|
| input_audio_format | enum | pcm16 | pcm16 | Encodage de l’audio que vous ajoutez au tampon d’entrée: PCM 16 bits base64, mono, à 16 kHz. |
| language | enum | auto | auto, zh, en, ja, ko, vi, th, id, ms, tl, hi, ar, fr, de, es,... | Langue de la parole, ou auto-détection à partir de l’audio. Définissez-le avec le paramètre de requête linguistique de l’URL de connexion, ou comme... |
| prompt | string | - | - | Texte qui guide la reconnaissance, jusqu’à 400 caractères: les noms et termes utilisés par le locuteur, ou le texte prononcé juste avant cet audio. Écrivez les mots... |
| silence_duration_ms | integer | 800 | 200 à 6000 | La pause, en millisecondes, qui met fin à une phrase, de 200 à 6000. Une pause plus courte règle chaque phrase plus tôt; une pause plus longue maintient une pause à... |
| threshold | number | - | 0 à 1 | La clarté de la parole avant qu’elle ne soit transcrite, de 0,0 à 1,0. Une valeur plus élevée ignore plus de bruit de fond et peut manquer la parole basse.... |
| noise_reduction | enum | far_field | far_field, near_field | Le microphone pour lequel la détection vocale est réglée: near_field pour un casque ou un téléphone tenu près de lui, far_field pour un ordinateur portable ou un... |
| keep_dialect | boolean | false | - | Conserve les mots du dialecte chinois tels qu’ils sont prononcés. Quand il est désactivé, le langage dialectal s’écrit en mandarin standard. |
Transcription en temps réel via un WebSocket à wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-0-asr-stream, authentifiée avec l’en-tête ordinaire du porteur d’autorisation.
Diffusez de l’audio mono pcm16 16 à 16 kHz avec input_audio_buffer.append. La détection d’activité vocale détermine où chaque phrase se termine, donc il n’y a pas de commit à envoyer.
Envoyez session.update juste après session.created, avant le premier audio, avec l’un de ces réglages: input_audio_transcription.language (ou le paramètre de requête language de l’URL de connexion; auto par défaut), input_audio_transcription.prompt avec les noms et termes utilisés par le locuteur (jusqu’à 400 caractères), turn_detection.silence_duration_ms (200 à 6000, 800 par défaut) et turn_detection.threshold (0,0 à 1,0), et input_audio_noise_reduction (near_field ou far_field). keep_dialect conserve les mots du dialecte chinois tels qu’ils sont prononcés. Un paramètre modifié pendant le streaming de l’audio met fin à la phrase en cours et s’applique à l’audio envoyé après.
conversation.item.input_audio_transcription.delta événements portent la phrase jusqu’au bout alors que le locuteur parle encore, et conversation.item.input_audio_transcription.completed porte la phrase établie à chaque pause.
Facturé par seconde de l’audio que vous diffusez, silence inclus, au tarif horaire affiché. La session est facturée à sa fin.
Sur EmpirioLabs, Qwen Audio 3.0 ASR Stream est facturé à l'usage : Transcription $0.648 par heure d’audio. La grille tarifaire en direct de cette page correspond toujours à ce que l'API facture.
Qwen Audio 3.0 ASR Stream 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 ASR Stream 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-asr-stream, 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.