Akses layanan sintesis suara real-time Qwen-Audio-TTS melalui koneksi WebSocket. Dokumen ini mencakup titik akhir layanan, header permintaan, serta alur kerja interaksi antara klien dan server.
SDK DashScope hanya mendukung Java dan Python. Untuk bahasa pemrograman lain, gunakan koneksi WebSocket langsung.
Batas laju: Pemanggilan model dikenai batas laju. Jika batas terlampaui, server mengembalikan error Requests rate limit exceeded, please try again later. Kurangi laju permintaan atau konkurensi Anda, lalu coba lagi. Untuk informasi batas laju setiap model, lihat Batas laju.
Titik akhir layanan
URL WebSocket tetap:
wss://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api-ws/v1/inferenceGanti {WorkspaceId} dengan workspace ID Anda yang sebenarnya.wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/inferenceGanti {WorkspaceId} dengan workspace ID Anda yang sebenarnya.
Alibaba Cloud Model Studio telah merilis domain khusus workspace untuk wilayah China (Beijing) dan Singapore. Domain baru ini menawarkan performa lebih unggul dan stabilitas lebih tinggi untuk permintaan inferensi. Kami merekomendasikan migrasi ke domain berikut:
- China (Beijing): dari
dashscope.aliyuncs.com ke {WorkspaceId}.cn-beijing.maas.aliyuncs.com
- Singapore: dari
dashscope-intl.aliyuncs.com ke {WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
Sertakan header berikut dalam permintaan:
| Parameter | Tipe | Wajib | Deskripsi |
|---|
| Authorization | string | Ya | Format: Bearer <API key>. Ganti <API key> dengan Kunci API Anda. |
| user-agent | string | Tidak | Identifikasi client untuk pelacakan permintaan. |
| X-DashScope-WorkSpace | string | Tidak | Workspace ID Alibaba Cloud Model Studio. |
| X-DashScope-DataInspection | string | Tidak | Mengaktifkan inspeksi data. Default: enable. Biarkan tidak diatur kecuali diperlukan. |
Otorisasi diverifikasi selama handshake WebSocket. Jika Kunci API tidak valid atau tidak disertakan, handshake akan gagal dengan error HTTP 401/403.
Alur kerja interaksi
Untuk detail tentang event sisi klien dan sisi server, lihat Event client dan Server-side events.
Urutan interaksi klien-server:
-
Buat koneksi: Buat koneksi WebSocket ke server.
-
Mulai tugas: Kirim event run-task.
-
Tunggu konfirmasi: Terima event task-started dari server sebelum melanjutkan.
-
Kirim teks untuk sintesis:
Kirim satu atau beberapa event continue-task berisi teks yang akan disintesis, secara berurutan. Server mengembalikan event result-generated yang berisi aliran audio setelah setiap kalimat lengkap. Untuk batas panjang teks, lihat bidang
text dalam event continue-task.
Kirim beberapa event continue-task berisi segmen teks secara berurutan. Server membagi teks menjadi kalimat:
- Kalimat lengkap langsung disintesis dan dikembalikan sebagai audio.
- Kalimat yang belum lengkap dibuffer hingga menjadi lengkap.
Event finish-task memaksa sintesis semua konten yang telah dibuffer.
-
Terima audio: Baca aliran audio dari saluran
binary.
-
Akhiri tugas:
Setelah mengirim seluruh teks, kirim event finish-task dan terus terima audio. Langkah ini wajib—melewatkannya dapat menghasilkan audio yang tidak lengkap.
-
Terima konfirmasi penyelesaian tugas:
Event task-finished dari server mengonfirmasi bahwa tugas telah selesai.
-
Tutup koneksi: Putuskan koneksi WebSocket.
Gunakan kembali koneksi WebSocket untuk beberapa tugas, alih-alih membuat koneksi baru untuk setiap tugas.
Semua event dalam satu tugas sintesis (run-task, continue-task, finish-task) harus menggunakan task_id yang sama. Hasilkan task_id baru (misalnya UUID) untuk setiap tugas. Nilai yang tidak cocok dapat menyebabkan korupsi audio atau kegagalan tugas.