Cette rubrique décrit les événements client de l'API qwen3.5-livetranslate-flash-realtime.
Référence : Traduction audio et vidéo en temps réel - Qwen .
session.update
Envoyez cet événement après l'établissement d'une connexion WebSocket pour mettre à jour la configuration de session par défaut. Le serveur valide les paramètres et retourne soit une erreur (si invalide), soit la configuration mise à jour (si valide).
typestring(Required) Type d'événement. Définissez cette valeur sur session.update. | {
"event_id": "event_ToPZqeobitzUJnt3QqtWg",
"type": "session.update",
"session": {
"modalities": [
"text",
"audio"
],
"voice": "Cherry",
"sample_rate": 16000,
"input_audio_format": "pcm",
"output_audio_format": "pcm",
"input_audio_transcription": {
"model": "qwen3-asr-flash-realtime",
"language": "zh"
},
"translation": {
"language": "en",
"corpus": {
"phrases": {
"人工智能": "Artificial Intelligence",
"机器学习": "Machine Learning"
}
}
}
}
}
Exemple avec le clonage vocal activé (frequency=once) : {
"event_id": "event_ToPZqeobitzUJnt3QqtWg",
"type": "session.update",
"session": {
"modalities": [
"text",
"audio"
],
"voice": "default",
"enable_voice_clone": true,
"voice_clone_options": {
"frequency": "once"
},
"sample_rate": 16000,
"input_audio_format": "pcm",
"output_audio_format": "pcm",
"translation": {
"language": "en"
}
}
}
|
sessionobject(Optional) Configuration de la session. Properties modalitiesarray(Optional) Modalités de sortie. Valeurs valides : voicestring(Optional) Voix pour l'audio généré. Lorsque le clonage vocal est désactivé, définissez cette valeur sur une voix prédéfinie du système. Valeurs valides : Voix prises en charge. Valeur par défaut : Tina pour Qwen3.5-LiveTranslate-Flash-Realtime ou Cherry pour Qwen3-LiveTranslate-Flash-Realtime.
Lorsque enable_voice_clone est true, la valeur de voice dépend du paramètre frequency. Si frequency est once ou always, définissez-la sur default. Si frequency est never, définissez-la sur l'ID de la voix précédemment clonée. L'utilisation d'une voix prédéfinie du système dans ce cas provoque une erreur serveur.
enable_voice_cloneboolean(Optional) Active ou désactive le clonage vocal. Valeur par défaut : false. Une fois activé, le modèle clone la voix du locuteur à partir de l'audio d'entrée pour la sortie traduite. Dans ce cas, voice n'accepte plus les voix prédéfinies du système et doit être défini sur default ou sur un ID de voix créé précédemment via l'API Voice Clone. voice_clone_optionsobject(Optional) Options de contrôle du clonage vocal. Elles ne prennent effet que lorsque enable_voice_clone est true. Properties voice_clone_options.frequencystring(Optional) Fréquence de clonage vocal. Valeurs valides :
-
never
Désactive le clonage vocal côté serveur et utilise une voix précédemment clonée. Définissez voice sur votre ID de voix clonée.
-
once
Clone la voix une seule fois au début de la session et la réutilise pour toutes les sorties suivantes. Adapté aux scénarios à locuteur unique. Définissez voice sur default.
-
always
Reclone la voix en temps réel avant chaque sortie, en s'adaptant dynamiquement à l'audio d'entrée. Adapté aux scénarios multi-locuteurs. Définissez voice sur default.
sample_rateinteger(Optional) Taux d'échantillonnage de l'audio d'entrée, en Hz. Valeurs valides : input_audio_transcriptionobject(Optional) Configuration de l'audio d'entrée. Properties modelstring(Optional) Modèle de reconnaissance vocale. S'il est configuré, le serveur retourne à la fois le résultat de la reconnaissance (texte original dans la langue source) et la traduction via les événements conversation.item.input_audio_transcription.text et conversation.item.input_audio_transcription.completed. Valeur valide : qwen3-asr-flash-realtime. languagestring(Optional) Langue source pour la traduction. Valeurs valides : Langues prises en charge. Sans spécification, le modèle détecte automatiquement la langue source. input_audio_formatstring(Optional) Format de l'audio d'entrée. Valeurs valides :
-
pcm (Default)
Données audio brutes non compressées.
-
opus
Codec audio avec perte prenant en charge une faible latence, adapté aux scénarios VoIP.
output_audio_formatstring(Optional) Format de l'audio de sortie. Ce paramètre accepte uniquement la valeur pcm. turn_detectionobject(Optional) Configuration de la détection d'activité vocale (VAD), utilisée pour contrôler la détection du début et de la fin de la parole :
- Objet de configuration (par défaut) : Active le mode VAD. Le serveur détecte automatiquement le début et la fin de la parole, valide le tampon audio et déclenche les réponses de traduction. Le client n'a pas besoin d'envoyer d'événements
input_audio_buffer.commit.
null : Active le mode manuel. Le client valide manuellement le tampon audio en envoyant des événements input_audio_buffer.commit. Le serveur commence automatiquement à générer des réponses de traduction dès réception de la validation.
Properties typestring(Optional) Type de VAD. Définissez cette valeur sur server_vad. thresholdfloat(Optional) Sensibilité de détection VAD. Une valeur plus basse facilite la reconnaissance des sons faibles (y compris le bruit de fond) comme étant de la parole ; une valeur plus élevée nécessite une parole plus claire et plus forte pour déclencher la détection. Plage de valeurs : [-1.0, 1.0]. Valeur par défaut : 0.2. silence_duration_msinteger(Optional) Durée minimale de silence (en millisecondes) requise après la fin de la parole. Une fois cette durée dépassée, le serveur considère que la parole est terminée, valide automatiquement le tampon audio et déclenche une réponse de traduction. Plage de valeurs : [200, 6000]. Valeur par défaut : 1000. translationobject(Optional) Configuration de la traduction. Properties languagestring(Optional) Langue cible pour la traduction. Valeurs valides : Langues prises en charge. Valeur par défaut : en. corpusobject(Optional) Configuration des mots-clés pour améliorer la précision de la traduction de termes spécifiques. Properties phrasesobject(Optional) Mappage des mots-clés. La clé correspond au terme dans la langue source et la valeur à sa traduction dans la langue cible. Exemple : {"AI": "Artificial Intelligence"} |
Ajoute des octets audio au tampon audio d'entrée. Le service utilise ce tampon pour détecter la parole et déterminer quand la soumettre.
typestring(Required) Type d'événement. Définissez cette valeur sur input_audio_buffer.append. | {
"event_id": "event_xxx",
"type": "input_audio_buffer.append",
"audio": "xxx"
}
|
audiostring(Required) Données audio encodées en Base64. |
Valide le tampon audio d'entrée. Cet événement ne doit être envoyé qu'en mode manuel (turn_detection défini sur null). En mode VAD, le serveur effectue la validation automatiquement et le client n'a pas besoin d'envoyer cet événement.
À la réception de cet événement, le serveur retourne un événement input_audio_buffer.committed comme confirmation et commence automatiquement à générer une réponse de traduction (aucun événement supplémentaire n'est nécessaire pour déclencher la réponse). Si le tampon audio est vide, le serveur retourne un événement d'erreur.
typestring(Required) Type d'événement. Définissez cette valeur sur input_audio_buffer.commit. | {
"event_id": "event_xxx",
"type": "input_audio_buffer.commit"
}
|
Efface les données audio non validées du tampon audio d'entrée.
typestring(Required) Type d'événement. Définissez cette valeur sur input_audio_buffer.clear. | {
"event_id": "event_xxx",
"type": "input_audio_buffer.clear"
}
|
Ajoute des données d'image au tampon d'images à partir d'un fichier local ou d'un flux vidéo en temps réel.
Limites d'entrée d'image :
- Format d'image : JPG ou JPEG. Résolution recommandée pour des performances optimales : 480p ou 720p (maximum : 1080p).
- Taille maximale de l'image : 500 Ko (avant encodage Base64).
- Les données d'image doivent être encodées en Base64.
- Fréquence maximale : 2 images par seconde.
- Envoyez au moins un événement input_audio_buffer.append avant d'envoyer input_image_buffer.append.
typestring(Required) Type d'événement. Définissez cette valeur sur input_image_buffer.append. | {
"event_id": "event_xxx",
"type": "input_image_buffer.append",
"image": "xxx"
}
|
imagestring(Required) Données d'image encodées en Base64. |
session.finish
Envoyez cet événement pour terminer la session en cours. Réponses du serveur :
Le client doit se déconnecter après avoir reçu session.finished.
typestring(Required) Type d'événement. Définissez cette valeur sur session.finish. | {
"event_id": "event_xxx",
"type": "session.finish"
}
|