Gunakan koneksi WebSocket untuk mengakses layanan sintesis suara real-time CosyVoice. Referensi ini mencakup alur kerja interaksi, titik akhir layanan, dan header permintaan.
SDK DashScope saat ini hanya mendukung Java dan Python. Untuk bahasa pemrograman lainnya, gunakan koneksi WebSocket untuk berkomunikasi dengan layanan.
Panduan pengguna: Untuk detail model dan rekomendasi pemilihan, lihat Sintesis suara.
Titik akhir layanan
Layanan menggunakan URL WebSocket tetap:
Singapore
wss://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api-ws/v1/inference
Ganti {WorkspaceId} dengan workspace ID Anda yang sebenarnya.
China (Beijing)
wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/inference
Ganti {WorkspaceId} dengan workspace ID Anda yang sebenarnya.
Selalu gunakan protokol wss://. URL yang ditampilkan di atas bersifat tetap. Untuk detail otorisasi, lihat Header permintaan.
Alibaba Cloud Model Studio telah merilis domain khusus workspace untuk wilayah China (Beijing) dan Singapura. Domain khusus baru ini memberikan performa lebih unggul dan stabilitas lebih tinggi untuk permintaan inferensi. Kami merekomendasikan migrasi ke domain baru:
China (Beijing): dari
dashscope.aliyuncs.comke{WorkspaceId}.cn-beijing.maas.aliyuncs.comSingapura: dari
dashscope-intl.aliyuncs.comke{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
Ganti {WorkspaceId} dengan Workspace ID Anda yang sebenarnya. Domain lama tetap berfungsi sepenuhnya.
Header permintaan
Sertakan header berikut dalam permintaan:
|
Parameter |
Tipe |
Wajib |
Deskripsi |
|
Authorization |
string |
Ya |
Token autentikasi dalam format |
|
user-agent |
string |
Tidak |
Identifikasi klien untuk pelacakan permintaan di sisi server. |
|
X-DashScope-WorkSpace |
string |
Tidak |
Workspace ID Alibaba Cloud Model Studio. |
|
X-DashScope-DataInspection |
string |
Tidak |
Apakah akan mengaktifkan inspeksi data. Nilai default-nya adalah |
Otorisasi diverifikasi selama handshake WebSocket. Jika Kunci API tidak valid atau tidak ada, handshake gagal dengan error HTTP 401/403.
Alur kerja interaksi
Untuk detail tentang event di sisi klien dan sisi server, lihat Event klien dan Server-side events.
Klien dan server berinteraksi dalam urutan berikut:
-
Membuat koneksi: Klien membuat koneksi WebSocket dengan server.
-
Memulai tugas: Klien mengirim event run-task untuk memulai sebuah tugas.
-
Menunggu konfirmasi: Klien menerima event task-started dari server, yang menandakan tugas telah dimulai dan langkah-langkah berikutnya dapat dilanjutkan.
-
Mengirim teks untuk sintesis:
Klien mengirim satu atau beberapa event continue-task yang berisi teks untuk disintesis, secara berurutan. Setelah menerima kalimat lengkap, server mengembalikan event result-generated beserta aliran audio. Untuk batasan panjang teks, lihat bidang
textdalam event continue-task.CatatanAnda dapat mengirim beberapa event continue-task. Kirim segmen teks secara berurutan. Server secara otomatis membagi teks yang diterima menjadi kalimat:
-
Kalimat lengkap langsung disintesis, dan klien menerima audio dari server.
-
Kalimat yang belum lengkap dibuffer hingga menjadi lengkap. Server tidak mengembalikan audio untuk kalimat yang belum lengkap.
Saat Anda mengirim event finish-task, server melakukan sintesis paksa terhadap semua konten yang telah dibuffer.
-
-
Menerima audio: Terima aliran audio melalui saluran
binary. -
Memberi tahu server untuk mengakhiri tugas:
Setelah mengirim seluruh teks, klien mengirim event finish-task dan terus menerima aliran audio. Langkah ini wajib; melewatkannya dapat menyebabkan audio tidak lengkap.
-
Menerima event penyelesaian tugas:
Klien menerima event task-finished dari server, yang menandakan tugas telah selesai.
-
Menutup koneksi: Klien menutup koneksi WebSocket.
Gunakan kembali koneksi WebSocket untuk beberapa tugas, alih-alih membuat koneksi baru untuk setiap tugas.
Dalam satu tugas sintesis, event run-task, semua continue-task, dan finish-task harus menggunakan task_id yang sama. Hasilkan task_id baru (misalnya, UUID) untuk setiap tugas baru. Penggunaan nilai task_id yang berbeda dapat menyebabkan korupsi audio atau kegagalan tugas.