Lakukan koneksi ke layanan sintesis suara real-time Qwen-TTS melalui WebSocket. Dokumen ini mencakup titik akhir layanan, header permintaan, dan alur interaksi.
Untuk ikhtisar model dan panduan pemilihan, lihat Sintesis suara real-time.
API Realtime Qwen-TTS menggunakan protokol WebSocket. Aplikasi Java dan Python dapat memanfaatkan SDK DashScope untuk menghindari penanganan WebSocket secara manual, sedangkan bahasa lain dapat terhubung langsung menggunakan pustaka WebSocket.
Titik akhir layanan
Gunakan URL berikut dan tetapkan model melalui parameter kueri model:
Singapura
URL WebSocket: wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime?model=qwen3-tts-flash-realtime
Tiongkok (Beijing)
URL WebSocket: wss://dashscope-intl.aliyuncs.com/api-ws/v1/realtime?model=qwen3-tts-flash-realtime
PentingURL harus menggunakan protokol wss://. Tetapkan header Authorization (lihat Header permintaan) dan tentukan model menggunakan parameter kueri model.
Header permintaan
Tetapkan header permintaan berikut:
Parameter | Tipe | Wajib | Deskripsi |
|---|---|---|---|
Authorization | string | Ya | Format: |
user-agent | string | Tidak | Identifikasi klien untuk pelacakan sumber di sisi server. |
X-DashScope-WorkSpace | string | Tidak | ID ruang kerja Alibaba Cloud Model Studio. |
PentingOtorisasi diverifikasi selama handshake WebSocket. Kunci API yang tidak valid atau tidak ada akan menyebabkan handshake gagal dengan kode HTTP 401/403.
Alur interaksi
Untuk penjelasan rinci mengenai event klien dan event server, lihat Event klien dan Event server.
API ini mendukung dua mode:
- Mode ServerCommit: Server menentukan segmentasi teks dan waktu sintesis secara otomatis.
- Mode Commit: Klien mengontrol kapan setiap segmen teks dikirimkan. Panggil
input_text_buffer.commitsecara eksplisit untuk memicu sintesis.
Detail mode
- Pada mode ServerCommit, panggil
input_text_buffer.appenduntuk menyimpan teks ke buffer. Sistem menentukan waktu sintesis secara otomatis. - Memanggil
input_text_buffer.commitpada mode ServerCommit akan segera mensintesis buffer saat ini. Sesi kemudian kembali ke mode ServerCommit. - Pada mode Commit,
input_text_buffer.appendsaja tidak memicu sintesis. Panggilinput_text_buffer.commituntuk memulai sintesis.
-
Koneksi: Klien membuka koneksi WebSocket. Server mengembalikan event
session.createdketika siap. -
Konfigurasi sesi: Klien mengirim
session.updateuntuk mengatur voice, format, dan mode. -
Input teks: Klien mengirim
input_text_buffer.appenduntuk menambahkan teks ke buffer. -
Pemicu sintesis:
- Pada mode ServerCommit, sintesis dimulai secara otomatis. Klien dapat memanggil
input_text_buffer.commituntuk memaksa sintesis segera. - Pada mode Commit, hanya
input_text_buffer.commityang memicu sintesis.
- Pada mode ServerCommit, sintesis dimulai secara otomatis. Klien dapat memanggil
-
Generasi audio: Server mengirim event
response.created, lalu mengalirkan audio dalam bentuk base64 sebagai eventresponse.audio.deltahingga eventresponse.audio.done. -
Pengakhiran sesi: Klien mengirim
session.finishuntuk melepaskan sumber daya. Server mengembalikansession.finisheddan menutup koneksi.
Setelah koneksi terbentuk, server mengembalikan event session.created berikut:
{
"event_id": "event_xxx",
"type": "session.created",
"session": {
"object": "realtime.session",
"mode": "server_commit",
"model": "qwen3-tts-flash-realtime",
"voice": "Cherry",
"response_format": "pcm",
"sample_rate": 24000,
"id": "sess_xxx"
}
}