Tous les produits
Search
Centre de documentation

Alibaba Cloud Model Studio:Événements client

Dernière mise à jour :Oct 11, 2026

Les événements client sont des messages JSON envoyés via une connexion WebSocket pour contrôler la session de l'API Qwen-TTS Realtime : configurez les paramètres vocaux, diffusez du texte pour la synthèse et signalez la fin de la session.

Pour obtenir un aperçu complet de l'API, consultez Synthèse vocale en temps réel - Qwen .

Résumé des événements

Événement clientRéponse du serveurDescription
session.updatesession.updatedDéfinit la voix, le format audio, le mode d'interaction et d'autres paramètres de session
input_text_buffer.append--Ajoute du texte au tampon de synthèse
input_text_buffer.commitinput_text_buffer.committedValide le texte mis en tampon pour déclencher la synthèse
input_text_buffer.clearinput_text_buffer.clearedSupprime tout le texte mis en tampon
session.finish--Met fin à la session ; le serveur vide l'audio restant et ferme la connexion

session.update

Configure la session. Envoyez ce message en premier après l'établissement de la connexion WebSocket. Si vous l'omettez, tous les paramètres utilisent les valeurs par défaut. Le serveur confirme l'opération avec un événement session.updated.

Corps de la requête

{
    "event_id": "event_123",
    "type": "session.update",
    "session": {
        "voice": "Cherry",
        "mode": "server_commit",
        "language_type": "Chinese",
        "response_format": "pcm",
        "sample_rate": 24000
    }
}

Paramètres

ParamètreTypeObligatoireDescription
event_idstringOuiIdentifiant d'événement unique généré par le client (UUID recommandé). Doit être unique au sein de la session WebSocket.
typestringOuiDéfinissez sur session.update.
sessionobjectNonConfiguration de la session. Consultez les sous-sections suivantes.

Propriétés de session

voice

Type : string | Obligatoire : Oui

La voix système utilisée pour la synthèse vocale. Consultez Voix prises en charge.

mode

Type : string | Obligatoire : Non | Par défaut : server_commit

Le mode d'interaction qui contrôle le moment où le texte mis en tampon est synthétisé.

ValeurComportement
server_commitLe serveur décide quand synthétiser, en équilibrant latence et qualité. Recommandé pour la plupart des utilisations.
commitDéclenchez manuellement la synthèse en envoyant input_text_buffer.commit. Latence minimale, mais vous devez gérer l'intégrité des phrases.

language_type

Type : string | Obligatoire : Non | Par défaut : Auto

La langue de l'audio synthétisé.

  • Auto -- Pour un texte de langue inconnue ou mixte. Le modèle adapte automatiquement la prononciation par segment, sans garantir la précision.
  • Pour un texte monolingue, spécifier la langue améliore considérablement la qualité. Valeurs prises en charge :
ValeurValeurValeur
ChineseEnglishGerman
ItalianPortugueseSpanish
JapaneseKoreanFrench
Russian

response_format

Type : string | Obligatoire : Non | Par défaut : pcm

Le format de sortie audio.

ValeurNotes
pcmPar défaut.
wav
mp3
opusPrend en charge un débit binaire configurable via le paramètre bit_rate.

sample_rate

Type : integer | Obligatoire : Non | Par défaut : 24000

La fréquence d'échantillonnage de la sortie audio, en Hz.

Valeurs prises en charge : 8000, 16000, 24000, 48000.

speech_rate

Type : float | Obligatoire : Non | Par défaut : 1,0 | Plage : 0,5–2,0

La vitesse de lecture. Les valeurs inférieures à 1,0 ralentissent l'audio ; les valeurs supérieures à 1,0 l'accélèrent.

volume

Type : integer | Obligatoire : Non | Par défaut : 50 | Plage : 0–100

Le volume audio.

pitch_rate

Type : float | Obligatoire : Non | Par défaut : 1,0 | Plage : 0,5–2,0

La hauteur tonale de l'audio synthétisé.

bit_rate

Type : integer | Obligatoire : Non | Par défaut : 128 | Plage : 6–510

Le débit binaire audio en kbps. Des valeurs plus élevées offrent une meilleure qualité mais génèrent des fichiers plus volumineux. S'applique uniquement lorsque response_format est défini sur opus.

input_text_buffer.append

Ajoute du texte au tampon de synthèse.

  • En mode server_commit, le texte est ajouté au tampon côté serveur.
  • En mode commit, le texte est ajouté au tampon côté client.

Corps de la requête

{
    "event_id": "event_B4o9RHSTWobB5OQdEHLTo",
    "type": "input_text_buffer.append",
    "text": "Hello, I am Qwen."
}

Paramètres

ParamètreTypeObligatoireDescription
event_idstringOuiIdentifiant d'événement unique généré par le client (UUID recommandé). Doit être unique au sein de la session WebSocket.
typestringOuiDéfinissez sur input_text_buffer.append.
textstringOuiLe texte à synthétiser.

input_text_buffer.commit

Valide le texte mis en tampon et crée un élément de message utilisateur. Le serveur répond avec un événement input_text_buffer.committed.

Renvoie une erreur si le tampon est vide.

Le comportement varie selon le mode :

  • Mode server_commit : Tout le texte mis en tampon est synthétisé immédiatement. Le serveur arrête la mise en cache et traite l'ensemble des données d'un coup.
  • Mode commit : Crée un élément de message utilisateur à partir du texte mis en tampon.

Remarque : La validation du tampon déclenche uniquement la synthèse ; elle ne génère pas de réponse du modèle.

Corps de la requête

{
    "event_id": "event_B4o9RHSTWobB5OQdEHLTo",
    "type": "input_text_buffer.commit"
}

Paramètres

ParamètreTypeObligatoireDescription
event_idstringOuiIdentifiant d'événement unique généré par le client (UUID recommandé). Doit être unique au sein de la session WebSocket.
typestringOuiDéfinissez sur input_text_buffer.commit.

input_text_buffer.clear

Efface le texte du tampon. Le serveur répond avec un événement input_text_buffer.cleared.

Corps de la requête

{
    "event_id": "event_2728",
    "type": "input_text_buffer.clear"
}

Paramètres

ParamètreTypeObligatoireDescription
event_idstringOuiIdentifiant d'événement unique généré par le client (UUID recommandé). Doit être unique au sein de la session WebSocket.
typestringOuiDéfinissez sur input_text_buffer.clear.

session.finish

Signale qu'aucun autre texte ne sera envoyé. Le serveur renvoie l'audio restant et ferme la connexion.

Corps de la requête

{
    "event_id": "event_2239",
    "type": "session.finish"
}

Paramètres

ParamètreTypeObligatoireDescription
event_idstringOuiIdentifiant d'événement unique généré par le client (UUID recommandé). Doit être unique au sein de la session WebSocket.
typestringOuiDéfinissez sur session.finish.