Tous les produits
Search
Centre de documentation

Alibaba Cloud Model Studio:Qwen-Audio-TTS/CosyVoice speech synthesis WebSocket API

Dernière mise à jour :Sep 07, 2026

Accédez au service de synthèse vocale en temps réel Qwen-Audio-TTS/CosyVoice via une connexion WebSocket. Cette rubrique détaille les endpoints du service, les en-têtes de requête et le flux d'interaction client-serveur.

Le SDK DashScope prend uniquement en charge Java et Python. Pour les autres langages, utilisez une connexion WebSocket.

Guide utilisateur : La rubrique Synthèse vocale présente les modèles disponibles et fournit des conseils de sélection.

Limites de taux : Les appels aux modèles sont soumis à des limites de taux. En cas de dépassement, le serveur renvoie l'erreur Requests rate limit exceeded, please try again later. Réduisez votre fréquence de requêtes ou le niveau de concurrence, puis réessayez. Pour consulter les limites applicables à chaque modèle, reportez-vous à la section Limitation du taux.

Endpoints du service

URL WebSocket fixe :

Singapore

wss://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api-ws/v1/inference

Remplacez {WorkspaceId} par votre ID d'espace de travail.

China (Beijing)

wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/inference

Remplacez {WorkspaceId} par votre ID d'espace de travail.

ImportantUtilisez toujours le protocole wss://. L'URL ci-dessus est fixe. Pour plus d'informations sur l'autorisation, consultez la section En-têtes de requête.

ImportantAlibaba Cloud Model Studio a publié des domaines spécifiques à chaque espace de travail pour les régions China (Beijing) et Singapore. Ces nouveaux domaines dédiés offrent de meilleures performances 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 ID d'espace de travail. Les domaines existants restent pleinement fonctionnels.

En-têtes de requête

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

Paramètre

Type

Obligatoire

Description

Authorization

string

Oui

Format : Bearer <API key>. Remplacez <API key> par votre clé API.

user-agent

string

Non

Identifiant client pour le suivi des requêtes.

X-DashScope-WorkSpace

string

Non

ID d'espace de travail Alibaba Cloud Model Studio.

X-DashScope-DataInspection

string

Non

Active l'inspection des données. Valeur par défaut : enable. Ne définissez cette valeur que si nécessaire.

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/403.

Flux d'interaction

image

Pour plus de détails sur les événements côté client et côté serveur, consultez les rubriques Événements client et Événements serveur.

Séquence d'interaction client-serveur :

  1. Établir une connexion : créez une connexion WebSocket vers le serveur.

  2. Démarrer une tâche : envoyez un événement run-task.

  3. Attendre la confirmation : recevez un événement task-started du serveur avant de poursuivre.

  4. Envoyer le texte à synthétiser :

    Envoyez séquentiellement un ou plusieurs événements continue-task contenant le texte à synthétiser. Le serveur renvoie un événement result-generated accompagné d'un flux audio après chaque phrase complète. Pour connaître les limites de longueur du texte, consultez le champ text de l'événement continue-task.

    RemarqueEnvoyez plusieurs événements continue-task avec des segments de texte dans l'ordre. Le serveur découpe le texte en phrases :

    • Les phrases complètes sont synthétisées et renvoyées immédiatement sous forme audio.
    • Les phrases incomplètes sont mises en mémoire tampon jusqu'à ce qu'elles soient terminées.

    Un événement finish-task force la synthèse de tout le contenu mis en mémoire tampon.

  5. Réceptionner l'audio : lisez le flux audio depuis le canal binary.

  6. Terminer la tâche :

    Une fois tout le texte envoyé, émettez un événement finish-task et continuez à recevoir l'audio. Cette étape est obligatoire ; l'omettre risque de produire un fichier audio incomplet.

  7. Recevoir la notification de fin de tâche :

    Un événement task-finished provenant du serveur confirme que la tâche est terminée.

  8. Fermer la connexion : déconnectez le WebSocket.

Réutilisez la connexion WebSocket pour plusieurs tâches au lieu d'en créer une nouvelle à chaque fois.

ImportantTous les événements d'une même tâche de synthèse (run-task, continue-task, finish-task) doivent partager le même task_id. Générez un nouveau task_id (par exemple un UUID) pour chaque tâche. Des valeurs incohérentes entraînent une corruption de l'audio ou l'échec de la tâche.