Skip to main content
CosyVoice

API WebSocket sintesis suara CosyVoice

Akses layanan sintesis suara real-time CosyVoice 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:
  • Singapore
  • China (Beijing)
wss://{WorkspaceId}.ap-southeast-1.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

Header permintaan

Sertakan header berikut dalam permintaan:
ParameterTipeWajibDeskripsi
AuthorizationstringYaFormat: Bearer <API key>. Ganti <API key> dengan Kunci API Anda.
user-agentstringTidakIdentifikasi client untuk pelacakan permintaan.
X-DashScope-WorkSpacestringTidakWorkspace ID Alibaba Cloud Model Studio.
X-DashScope-DataInspectionstringTidakMengaktifkan 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:
  1. Buat koneksi: Buat koneksi WebSocket ke server.
  2. Mulai tugas: Kirim event run-task.
  3. Tunggu konfirmasi: Terima event task-started dari server sebelum melanjutkan.
  4. 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.
  5. Terima audio: Baca aliran audio dari saluran binary.
  6. Akhiri tugas: Setelah mengirim seluruh teks, kirim event finish-task dan terus terima audio. Langkah ini wajib—melewatkannya dapat menghasilkan audio yang tidak lengkap.
  7. Terima konfirmasi penyelesaian tugas: Event task-finished dari server mengonfirmasi bahwa tugas telah selesai.
  8. 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.
Pembuatan Gambar
  • FAQ
Video Generation
Model Dunia
Audio
  • Pembuatan audio
Realtime API
Penyematan Teks
TokenPlan
Model production
API WebSocket sintesis suara CosyVoice - Alibaba Cloud Model Studio