Qwen Audio 3.1 ASR Message API

La transcription est accordée pour les messages vocaux et l’entrée vocale via un socket, rendant chaque énoncé comme une transcription complète lorsque le locuteur fait une pause.

Alibaba Cloud Transcription Publié 21 sept. 2026 Singapore Endpoint propriétaire Nouveau

À propos de Qwen Audio 3.1 ASR Message

La transcription est accordée pour les messages vocaux et l’entrée vocale via un socket, rendant chaque énoncé comme une transcription complète lorsque le locuteur fait une pause.

Diffusez l’audio pcm16 à 16 kHz sur la prise de base. Chaque énoncé est rendu entier lorsque le locuteur fait une pause, ou aussi pendant qu’il est prononcé avec partial_results. Définissez la langue et la pause qui met fin à un énoncé dans session.update.

Aussi connu sous le nom Qwen Audio ASR Message, Alibaba Cloud Qwen Audio 3.1 ASR Message

transcription speech to text realtime multilingual

Caractéristiques de Qwen Audio 3.1 ASR Message

ID du modèle
qwen-audio-3-1-asr-message
Auteur
Alibaba Cloud
Catégorie
Transcription
Publié
21 sept. 2026
Entrée
Audio
Sortie
Texte
Région
Singapore
Endpoints
WEBSOCKET/v1/realtime
Identifiants de modèle alternatifs
qwen-audio-3.1-asr-messagealibaba/qwen-audio-3-1-asr-message

Tarifs de l'API Qwen Audio 3.1 ASR Message

Tarifs à l'usage en direct du catalogue EmpirioLabs. Vous ne payez que ce que vous utilisez, sans minimum mensuel.

Type
Spéc.
Tarif
Entrée
par 1M de jetons d’entrée audio
$1.86
Sortie
par 1M de jetons générés
$1.40
Comparer sur la page complète des tarifs

Comment appeler l'API Qwen Audio 3.1 ASR Message

Qwen Audio 3.1 ASR Message transcrit un flux audio en direct via un WebSocket sur wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-1-asr-message, et non via les endpoints HTTP. Connectez-vous avec l'id de modèle qwen-audio-3-1-asr-message 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.

Python (websockets)
import asyncio, json, os, websockets

async def main():
    async with websockets.connect(
        "wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-1-asr-message",
        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())
Référence complète de l'API Qwen Audio 3.1 ASR Message

Paramètres de l'API Qwen Audio 3.1 ASR Message

Paramètres de requête pris en charge par l'API Qwen Audio 3.1 ASR Message sur EmpirioLabs. Les valeurs par défaut s'appliquent quand un champ est omis.

ParamètreTypePar défautPlage / valeursDescription
input_audio_formatenumpcm16pcm16Encodage de l’audio que vous ajoutez au tampon d’entrée: PCM 16 bits base64, mono, à 16 kHz.
languageenumautoauto, 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...
silence_duration_msinteger800200 à 6000La 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 à...
thresholdnumber-0 à 1La 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_reductionenumfar_fieldfar_field, near_fieldLe 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_dialectbooleanfalse-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.
partial_resultsbooleanfalse-Il envoie aussi chaque énoncé pendant qu’il est prononcé, comme conversation.item.input_audio_transcription.delta événements portant l’énoncé jusqu’à présent, qui...

Bon à savoir

Connexion

Transcription des messages vocaux via un WebSocket à wss://api.empiriolabs.ai/v1/realtime?model=qwen-audio-3-1-asr-message, authentifiée avec l’en-tête ordinaire Authorization Bearer.

Envoi audio

Diffusez de l’audio mono pcm16 16 kHz avec input_audio_buffer.append. La détection d’activité vocale détermine où chaque énoncé s’arrête, il n’y a donc pas de validation à envoyer.

Paramètres de la session

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), turn_detection.silence_duration_ms (200 à 6000, par défaut 800) et turn_detection.threshold (0.0 à 1.0), et input_audio_noise_reduction (near_field ou far_field). keep_dialect conserve les mots en dialecte chinois tels qu’ils sont prononcés. Un paramètre modifié pendant le streaming de l’audio met fin à l’énoncé en cours et s’applique à l’audio envoyé après.

Que reviendrai

Chaque énoncé arrive complet, comme un événement conversation.item.input_audio_transcription.completed une fois que le locuteur fait une pause. Réglez partial_results pour qu’il le reçoive aussi pendant qu’il est prononcé, car conversation.item.input_audio_transcription.delta événements qui peuvent encore changer avant qu’il ne se stabilise. Pour les légendes en direct, qwen-audio-3-1-asr-stream les envoie toujours.

Facturation

Les jetons d’entrée et de sortie sont tarifés par 1M, et chaque énoncé complété est facturé de manière autonome à partir de l’utilisation rapportée par le modèle.

API Qwen Audio 3.1 ASR Message : questions fréquentes

Combien coûte l'API Qwen Audio 3.1 ASR Message ?

Sur EmpirioLabs, Qwen Audio 3.1 ASR Message est facturé à l'usage : Entrée $1.86 par 1M de jetons d’entrée audio; Sortie $1.40 par 1M de jetons générés. La grille tarifaire en direct de cette page correspond toujours à ce que l'API facture.

Quel endpoint Qwen Audio 3.1 ASR Message utilise-t-il ?

Qwen Audio 3.1 ASR Message est servi via WEBSOCKET /v1/realtime sur api.empiriolabs.ai avec une authentification standard par token Bearer.

Puis-je essayer Qwen Audio 3.1 ASR Message dans le navigateur avant d'intégrer ?

Ouvrez le playground EmpirioLabs et appuyez sur Start session pour l'essayer dans votre navigateur. Qwen Audio 3.1 ASR Message 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-1-asr-message, puis diffusez l'audio dans les deux sens.

Comment obtenir une clé API Qwen Audio 3.1 ASR Message ?

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.

Comparer Qwen Audio 3.1 ASR Message à d'autres modèles

Toutes les comparaisons de modèles

Prêt à utiliser de meilleurs points de terminaison ?

Consultez nos tarifs ou contactez-nous si vous souhaitez que votre propre modèle soit déployé sur notre stack.