Tous les produits
Search
Centre de documentation

Alibaba Cloud Model Studio:Interaction flow for real-time speech recognition (Qwen-ASR-Realtime)

Dernière mise à jour :Sep 07, 2026

Qwen-ASR-Realtime reçoit des flux audio et transcrit la parole en temps réel via WebSocket. Ce service prend en charge deux modes d'interaction : Mode VAD et Mode manuel .

Guide d'utilisation : Pour une présentation générale des modèles et des conseils de sélection, consultez Speech-to-text. Pour obtenir des exemples de code, reportez-vous à Real-time speech recognition.

Limites de taux : Les appels de modèle sont soumis à des limites de taux. Lorsqu'une limite est dépassée, le serveur renvoie l'erreur Requests rate limit exceeded, please try again later. Réduisez votre taux de requêtes ou le niveau de concurrence, puis réessayez. Pour connaître les limites applicables à chaque modèle, consultez Rate limiting.

Endpoint du service

Utilisez l'URL WebSocket suivante. Le paramètre de requête model spécifie le modèle. Remplacez <model_name> par le nom du modèle :

Singapore

wss://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api-ws/v1/realtime?model=<model_name>

Remplacez {WorkspaceId} par votre Workspace ID réel.

China (Beijing)

wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/realtime?model=<model_name>

Remplacez {WorkspaceId} par votre Workspace ID réel.

ImportantAlibaba Cloud Model Studio a publié des domaines spécifiques aux espaces de travail pour les régions China (Beijing) et Singapore. Ces nouveaux domaines dédiés offrent des performances supérieures et une stabilité accrue pour les requêtes d'inférence. Nous vous recommandons de migrer vers ces nouveaux domaines :

  • China (Beijing) : passez de dashscope.aliyuncs.com à {WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • Singapore : passez de dashscope-intl.aliyuncs.com à {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com

Remplacez {WorkspaceId} par votre Workspace ID réel. Les domaines existants restent pleinement fonctionnels.

ImportantUtilisez le schéma wss://. Configurez l'autorisation dans les en-têtes de requête (voir En-têtes de requête). Spécifiez le modèle au moyen du paramètre de requête model.

En-têtes de requête

Incluez les champs suivants dans les en-têtes de requête :

Paramètre

Type

Obligatoire

Description

Authorization

string

Oui

Jeton d'authentification au format Bearer <your_api_key>. Remplacez <your_api_key> par votre clé API.

user-agent

string

Non

Identifiant client permettant au serveur de suivre l'origine des requêtes.

X-DashScope-WorkSpace

string

Non

L'workspace ID Alibaba Cloud Model Studio.

X-DashScope-DataInspection

string

Non

Indique s'il faut activer l'inspection des données. Omettez cet en-tête sauf si cette inspection est nécessaire ; dans ce cas, définissez la valeur sur enable.

ImportantL'autorisation est vérifiée lors du handshake WebSocket. Si la clé API est invalide ou manquante, le handshake échoue avec une erreur HTTP 401 ou 403.

Flux d'interaction

Pour plus de détails sur les événements client et serveur, consultez Client events for Qwen-ASR-Realtime et Server events.

Qwen-ASR-Realtime prend en charge deux modes d'interaction :

  • Mode VAD (par défaut) : Le serveur utilise la détection d'activité vocale (VAD) pour identifier automatiquement le début et la fin de chaque énoncé. Privilégiez ce mode pour les conversations en temps réel, la transcription de réunions et les scénarios similaires.
  • Mode manuel : Le client contrôle les limites des énoncés. Ce mode est adapté lorsque le client peut déterminer explicitement ces limites, par exemple lors de l'envoi d'un message vocal dans une application de messagerie.

Mode VAD (par défaut)

Le serveur détecte automatiquement le début et la fin de chaque énoncé. Envoyez le flux audio en continu ; le serveur renvoie la transcription finale de chaque énoncé dès qu'il en détecte la fin. Ce mode convient aux conversations en temps réel, à la transcription de réunions et aux cas d'usage analogues.

Activation : Configurez le paramètre session.turn_detection dans l'événement client session.update.

image
  • Le client envoie des événements input_audio_buffer.append pour ajouter des données audio au tampon.

  • Le serveur renvoie un événement input_audio_buffer.speech_started lorsqu'une parole est détectée.

    Remarque : Si le client envoie session.finish pour terminer la session avant la réception de cet événement, le serveur retourne immédiatement un événement session.finished. Le client doit alors fermer la connexion.

  • Le client continue d'envoyer des événements input_audio_buffer.append pour transmettre l'audio.

  • Une fois tout l'audio envoyé, le client émet un événement session.finish pour clore la session.

    AvertissementEn mode VAD, le client doit envoyer un événement session.finish avant de fermer la connexion. Si le client ferme la connexion WebSocket sans avoir préalablement envoyé session.finish, le serveur abandonne l'élément en cours de traitement et les événements tels que conversation.item.input_audio_transcription.completed ne sont pas remis. Envoyez {"type":"session.finish"} avant d'appeler ws.Close(), puis attendez l'événement session.finished avant de fermer la connexion.

  • Le serveur retourne un événement input_audio_buffer.speech_stopped lorsqu'il détecte la fin de la parole.

  • Le serveur renvoie ensuite un événement input_audio_buffer.committed.

  • Le serveur émet un événement conversation.item.created.

  • Le serveur fournit un événement conversation.item.input_audio_transcription.text contenant les résultats partiels de transcription.

  • Le serveur retourne un événement conversation.item.input_audio_transcription.completed contenant le résultat final de la transcription.

  • Enfin, le serveur envoie un événement session.finished pour signaler la fin de la reconnaissance. Le client doit alors fermer la connexion.

Mode manuel

Dans ce mode, le client maîtrise les limites des énoncés. Après avoir transmis l'audio correspondant à un énoncé complet, le client envoie un événement input_audio_buffer.commit pour notifier le serveur. Cette approche est recommandée lorsque le client peut déterminer explicitement les bornes de l'énoncé, comme c'est le cas pour l'envoi d'un message vocal dans une application de messagerie.

Activation : Définissez session.turn_detection sur null dans l'événement client session.update.

image