run-task
Memulai tugas sintesis suara serta mengonfigurasi model, voice, sample rate, dan parameter lainnya.
Kapan dikirim: Segera setelah koneksi WebSocket terbentuk.
Event respons: Server mengembalikan event task-started. Tunggu event ini sebelum mengirim perintah berikutnya.
header object(wajib)
Properti action string(wajib)Jenis perintah. Atur ke run-task.task_id string(wajib)ID tugas yang dihasilkan klien dalam format UUID. ID ini menghubungkan event-event berikutnya dan harus sesuai dengan task_id pada perintah continue-task dan finish-task.streaming string(wajib)Atur ke duplex.object(wajib)
Properti task_group string(wajib)Kelompok tugas. Atur ke audio.task string(wajib)Jenis tugas. Atur ke tts.function string(wajib)Jenis fungsi. Atur ke SpeechSynthesizer.model string(wajib)Nama model.input object(wajib)Atur ke objek kosong {}. Kirim teks yang akan disintesis melalui perintah continue-task.parameters object(wajib)Parameter sintesis suara.
Properti text_type string(wajib)Atur ke PlainText.voice string(wajib)Voice yang digunakan untuk sintesis suara.
string(opsional)Format encoding audio.Nilai yang valid:
integer(opsional)Laju sampel audio dalam Hz.Nilai yang valid: 8000, 16000, 22050 (default), 24000, 44100, 48000.volume integer(opsional)Tingkat volume.Nilai default: 50.Nilai yang valid: [0, 100].rate float(opsional)Laju bicara.Nilai default: 1.0.Nilai yang valid: [0.5, 2.0].pitch float(opsional)Pitch.Nilai default: 1.0.Nilai yang valid: [0.5, 2.0].bit_rate integer(opsional)Laju bit audio dalam kbps. Saat format audio adalah mp3 atau opus, gunakan bit_rate untuk menyesuaikan laju bit.Nilai default: 32.Nilai yang valid: [6, 510].enable_ssml boolean(opsional)Menentukan apakah SSML diaktifkan.Nilai default: false.Saat diatur ke true, hanya satu perintah continue-task yang diperbolehkan.Untuk batasan penggunaan SSML (model, voice, dan API yang didukung), lihat Batasan.word_timestamp_enabled boolean(opsional)Menentukan apakah timestamp tingkat kata diaktifkan.Nilai default: false.Hanya tersedia dalam mode keluaran streaming. Voice yang didukung: cloned voices dari cosyvoice-v3.5-plus, cosyvoice-v3.5-flash, cosyvoice-v3-flash, cosyvoice-v3-plus, cosyvoice-v2, serta system voices yang ditandai sebagai didukung dalam Daftar Voice CosyVoice. Cloned voices dari model lain tidak mendukung fitur ini.seed integer(opsional)Seed acak untuk mengontrol variasi dalam output sintesis. Saat versi model, teks, voice, dan parameter lainnya tidak berubah, penggunaan seed yang sama menghasilkan output identik.Nilai default: 0.Nilai yang valid: [0, 65535].language_hints array[string](opsional)Menentukan bahasa target untuk sintesis suara guna meningkatkan kualitas output.Saat pelafalan angka, ekspansi singkatan, pembacaan simbol, atau sintesis bahasa minoritas tidak sesuai harapan, gunakan parameter ini. Contohnya:
Nilai yang valid
string(opsional)Mengatur instruksi untuk mengontrol dialek, emosi, atau karakter suara selama sintesis. Untuk penggunaan detail, lihat Kontrol instruksi.enable_aigc_tag boolean(opsional)Menentukan apakah watermark AIGC disematkan ke dalam audio yang dihasilkan. Saat diatur ke true, watermark disematkan ke file audio dengan format yang didukung (wav/mp3/opus).Nilai default: false.Hanya cosyvoice-v3-flash, cosyvoice-v3-plus, cosyvoice-v2 yang mendukung fitur ini. string(opsional)Mengatur bidang ContentPropagator dalam watermark AIGC, yang mengidentifikasi propagator konten. Hanya berlaku saat enable_aigc_tag bernilai true.Nilai default: UID Alibaba Cloud.Hanya cosyvoice-v3-flash, cosyvoice-v3-plus, cosyvoice-v2 yang mendukung fitur ini. string(opsional)Mengatur bidang PropagateID dalam watermark AIGC, yang secara unik mengidentifikasi aksi propagasi tertentu. Hanya berlaku saat enable_aigc_tag bernilai true.Nilai default: ID permintaan dari permintaan sintesis suara saat ini.Hanya cosyvoice-v3-flash, cosyvoice-v3-plus, cosyvoice-v2 yang mendukung fitur ini. object(opsional)Mengonfigurasi koreksi pelafalan dan penggantian teks yang diterapkan sebelum sintesis.Fitur ini tidak didukung oleh cosyvoice-v2.
boolean(opsional)Hanya cloned voices dari cosyvoice-v3-flash yang mendukung fitur ini.
|
continue-task
Mengirim teks yang akan disintesis, baik sekaligus maupun dalam beberapa segmen.
Kapan dikirim: Setelah menerima event task-started dari server.
Batasan:
- Maksimal 20.000 karakter per pesan
- Maksimal 200.000 karakter secara kumulatif
- Interval pengiriman tidak boleh melebihi 23 detik; jika tidak, koneksi akan timeout.
header object(wajib)
Properti action string(wajib)Jenis perintah. Atur ke continue-task.task_id string(wajib)ID tugas dalam format UUID. Harus sesuai dengan task_id pada run-task.streaming string(wajib)Atur ke duplex.object(wajib)
Properti input object(wajib)Berisi teks yang akan disintesis.text string(wajib)Teks yang akan disintesis. Maksimal 20.000 karakter per pesan dan 200.000 karakter secara kumulatif. |
finish-task
Memberi tahu server bahwa seluruh teks telah dikirim dan meminta penyelesaian tugas.
Kapan dikirim: Segera setelah seluruh teks dikirim.
Event respons: Server mengembalikan event task-finished.
header object(wajib)
Properti action string(wajib)Jenis perintah. Atur ke finish-task.task_id string(wajib)ID tugas dalam format UUID. Harus sesuai dengan task_id pada run-task.streaming string(wajib)Atur ke duplex.object(wajib)
Properti input object(wajib)Atur ke {} untuk penyelesaian tugas normal. Sertakan properti directive untuk membatalkan putaran sintesis saat ini.directive string(opsional)Mengontrol cara tugas diakhiri. Saat ini hanya nilai cancel yang didukung. Jika diatur ke cancel, putaran sintesis saat ini akan dibatalkan dan server segera mengembalikan event task-finished tanpa menghasilkan audio tambahan.Setelah pembatalan, Anda dapat memulai tugas sintesis baru pada koneksi WebSocket yang sama dengan mengirim event run-task baru tanpa perlu menyambung ulang. |