Tous les produits
Search
Centre de documentation

Alibaba Cloud Model Studio:Événements client Qwen-Audio-TTS

Dernière mise à jour :Oct 11, 2026

run-task

Démarre une tâche de synthèse vocale et configure le modèle, la voix, la fréquence d'échantillonnage ainsi que d'autres paramètres.

Moment d'envoi : Immédiatement après l'établissement de la connexion WebSocket.

Événement de réponse : Le serveur renvoie un événement task-started. Attendez cet événement avant d'envoyer les commandes suivantes.

header object(obligatoire)

Propriétés

action string(obligatoire)

Type de commande. Définissez la valeur sur run-task.

task_id string(obligatoire)

ID de tâche généré par le client au format UUID. Cet ID permet de corréler les événements suivants et doit correspondre au task_id dans les commandes continue-task et finish-task.

streaming string(obligatoire)

Définissez la valeur sur duplex.

{
    "header": {
        "action": "run-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "task_group": "audio",
        "task": "tts",
        "function": "SpeechSynthesizer",
        "model": "qwen-audio-3.0-tts-flash",
        "parameters": {
            "text_type": "PlainText",
            "voice": "longanlingxi",
            "format": "mp3",
            "sample_rate": 22050,
            "volume": 50,
            "rate": 1.0,
            "pitch": 1.0,
            "enable_ssml": false
        },
        "input": {}
    }
}

payload object(obligatoire)

Propriétés

task_group string(obligatoire)

Groupe de tâches. Définissez la valeur sur audio.

task string(obligatoire)

Type de tâche. Définissez la valeur sur tts.

function string(obligatoire)

Type de fonction. Définissez la valeur sur SpeechSynthesizer.

model string(obligatoire)

Nom du modèle.

input object(obligatoire)

Définissez la valeur sur un objet vide {}. Envoyez le texte à synthétiser via la commande continue-task.

parameters object(obligatoire)

Paramètres de synthèse vocale.

Propriétés

text_type string(obligatoire)

Définissez la valeur sur PlainText.

voice string(obligatoire)

Voix utilisée pour la synthèse vocale.

  • Voix système : Consultez la liste des voix Qwen-Audio-TTS
  • Voix clonées : Voix personnalisées créées par clonage vocal
  • Voix personnalisées : Voix personnalisées créées par conception vocale

format string(facultatif)

Format d'encodage audio.

Valeurs valides :

  • pcm
  • wav
  • mp3 (par défaut)
  • opus

sample_rate integer(facultatif)

Fréquence d'échantillonnage audio en Hz.

Valeurs valides : 8000, 16000, 22050 (par défaut), 24000, 44100, 48000.

volume integer(facultatif)

Niveau de volume.

Valeur par défaut : 50.

Valeurs valides : [0, 100].

rate float(facultatif)

Vitesse de parole.

Valeur par défaut : 1.0.

Valeurs valides : [0,5, 2,0].

pitch float(facultatif)

Hauteur tonale.

Valeur par défaut : 1.0.

Valeurs valides : [0,5, 2,0].

bit_rate integer(facultatif)

Débit binaire audio en kbps. Lorsque le format audio est mp3 ou opus, utilisez bit_rate pour ajuster le débit binaire.

Valeur par défaut : 32.

Valeurs valides : [6, 510].

enable_ssml boolean(facultatif)

Indique s'il faut activer SSML.

Valeur par défaut : false.

Lorsque la valeur est définie sur true, une seule commande continue-task est autorisée.

Pour connaître les restrictions d'utilisation de SSML (modèles, voix et API pris en charge), consultez la section Limitations.

word_timestamp_enabled boolean(facultatif)

Indique s'il faut activer les horodatages au niveau des mots.

Valeur par défaut : false.

Disponible uniquement en mode de sortie en streaming. Les voix clonées sont prises en charge. Pour les voix système compatibles, consultez liste des voix Qwen-Audio-TTS.

seed integer(facultatif)

Graine aléatoire permettant de contrôler la variation dans la sortie de synthèse. Lorsque la version du modèle, le texte, la voix et les autres paramètres restent inchangés, l'utilisation de la même graine produit des résultats identiques.

Valeur par défaut : 0.

Valeurs valides : [0, 65535].

language_hints array[string](facultatif)

Important

  • Ce paramètre est un tableau, mais la version actuelle ne traite que le premier élément. Transmettez une seule valeur.
  • Ce paramètre spécifie la langue cible pour la synthèse vocale. Il n'est pas lié à la langue de l'échantillon audio utilisé lors du clonage vocal. Pour définir la langue source d'une tâche de clonage, consultez la référence de l'API de clonage vocal.

Spécifie la langue cible pour la synthèse vocale afin d'améliorer la qualité de sortie.

Utilisez ce paramètre lorsque la prononciation des chiffres, l'expansion des abréviations, la lecture des symboles ou la synthèse de langues minoritaires ne répond pas à vos attentes. Par exemple :

  • Prononciation inattendue des chiffres : « hello, this is 110 » est lu « hello, this is one zero » au lieu de la prononciation chinoise attendue
  • Prononciation imprécise des symboles : « @ » est lu comme l'équivalent chinois au lieu de « at »
  • Mauvaise qualité de synthèse pour les langues minoritaires avec des résultats peu naturels

Valeurs valides

  • zh : chinois
  • en : anglais
  • fr : français
  • de : allemand
  • ja : japonais
  • ko : coréen
  • ru : russe
  • pt : portugais
  • th : thaï
  • id : indonésien
  • vi : vietnamien
  • es : espagnol
  • it : italien
  • ms : malais
  • fil : philippin
  • ar : arabe

instruction string(facultatif)

Définit une instruction pour contrôler le dialecte, l'émotion ou le caractère de la voix pendant la synthèse. Pour une utilisation détaillée, consultez la section Contrôle par instruction.

enable_aigc_tag boolean(facultatif)

Indique s'il faut intégrer un filigrane AIGC dans l'audio généré. Lorsque la valeur est définie sur true, le filigrane est intégré dans les fichiers audio aux formats pris en charge (wav/mp3/opus).

Valeur par défaut : false.

aigc_propagator string(facultatif)

Définit le champ ContentPropagator dans le filigrane AIGC, identifiant le propagateur de contenu. Prend effet uniquement lorsque enable_aigc_tag est défini sur true.

Valeur par défaut : UID Alibaba Cloud.

aigc_propagate_id string(facultatif)

Définit le champ PropagateID dans le filigrane AIGC, identifiant de manière unique une action de propagation spécifique. Prend effet uniquement lorsque enable_aigc_tag est défini sur true.

Valeur par défaut : ID de requête de la demande de synthèse vocale actuelle.

hot_fix object(facultatif)

Configure les corrections de prononciation et les remplacements de texte appliqués avant la synthèse.

Paramètres :

  • pronunciation : Prononciation personnalisée. Spécifie les annotations phonétiques pour les mots afin de corriger les prononciations par défaut incorrectes.
  • replace : Remplacement de texte. Remplace les mots spécifiés par le texte cible avant la synthèse. Le texte remplacé sert d'entrée réelle pour la synthèse.

Exemple :

"hot_fix": {
  "pronunciation": [
    {"weather": "tian1 qi4"}
  ],
  "replace": [
    {"today": "gold day"}
  ]
}

continue-task

Envoie le texte à synthétiser. Le texte peut être envoyé en une seule fois ou en plusieurs segments.

Moment d'envoi : Après réception de l'événement task-started du serveur.

Limites :

  • Maximum de 20 000 caractères par message
  • Maximum de 200 000 caractères au total
  • L'intervalle d'envoi ne doit pas dépasser 23 secondes ; sinon, la connexion expire.

header object(obligatoire)

Propriétés

action string(obligatoire)

Type de commande. Définissez la valeur sur continue-task.

task_id string(obligatoire)

ID de tâche au format UUID. Doit correspondre au task_id dans run-task.

streaming string(obligatoire)

Définissez la valeur sur duplex.

{
    "header": {
        "action": "continue-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {
            "text": "Before my bed, moonlight shines bright, I suspect it's frost upon the ground."
        }
    }
}

payload object(obligatoire)

Propriétés

input object(obligatoire)

Contient le texte à synthétiser.

text string(obligatoire)

Texte à synthétiser. Maximum de 20 000 caractères par message et 200 000 caractères au total.

finish-task

Notifie au serveur que tout le texte a été envoyé et demande la finalisation de la tâche.

Moment d'envoi : Immédiatement après l'envoi de tout le texte.

Événement de réponse : Le serveur renvoie un événement task-finished.

header object(obligatoire)

Propriétés

action string(obligatoire)

Type de commande. Définissez la valeur sur finish-task.

task_id string(obligatoire)

ID de tâche au format UUID. Doit correspondre au task_id dans run-task.

streaming string(obligatoire)

Définissez la valeur sur duplex.

{
    "header": {
        "action": "finish-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {}
    }
}

Exemple d'annulation de tâche :

{
    "header": {
        "action": "finish-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {
            "directive": "cancel"
        }
    }
}

payload object(obligatoire)

Propriétés

input object(obligatoire)

Définissez la valeur sur {} pour une finalisation normale de la tâche. Incluez directive pour annuler le tour de synthèse actuel.

directive string(facultatif)

Contrôle la manière dont la tâche se termine. Actuellement, seule la valeur cancel est prise en charge. Lorsque la valeur est définie sur cancel, le tour de synthèse actuel est annulé et le serveur renvoie immédiatement un événement task-finished sans produire d'autre audio.

Après l'annulation, vous pouvez démarrer une nouvelle tâche de synthèse sur la même connexion WebSocket en envoyant un nouvel événement run-task sans vous reconnecter.