All Products
Search
Document Center

Alibaba Cloud Model Studio:Event client CosyVoice

Last Updated:Jun 18, 2026

Panduan pengguna: Untuk pengenalan model dan rekomendasi pemilihan, lihat Sintesis suara.

run-task

Deskripsi: Memulai tugas sintesis suara serta mengonfigurasi model, voice, laju sampel, 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 oleh 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.

{
    "header": {
        "action": "run-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "task_group": "audio",
        "task": "tts",
        "function": "SpeechSynthesizer",
        "model": "cosyvoice-v3-flash",
        "parameters": {
            "text_type": "PlainText",
            "voice": "longanyang",
            "format": "mp3",
            "sample_rate": 22050,
            "volume": 50,
            "rate": 1.0,
            "pitch": 1.0,
            "enable_ssml": false
        },
        "input": {}
    }
}

payload object (wajib)

Properti

task_group string (wajib)

Grup 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.

  • Voice sistem: Lihat Daftar Voice CosyVoice

  • Voice hasil kloning: Voice kustom yang dibuat melalui kloning suara

  • Voice kustom: Voice kustom yang dibuat melalui desain suara

format string (opsional)

Format encoding audio.

Nilai yang valid:

  • pcm

  • wav

  • mp3 (default)

  • opus

sample_rate 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 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.

word_timestamp_enabled boolean (opsional)

Menentukan apakah timestamp tingkat kata diaktifkan.

Nilai default: false.

Hanya tersedia dalam mode keluaran streaming. Voice yang didukung: voice hasil kloning dari cosyvoice-v3.5-plus, cosyvoice-v3.5-flash, cosyvoice-v3-flash, cosyvoice-v3-plus, dan cosyvoice-v2, serta voice sistem yang ditandai sebagai didukung di Daftar Voice CosyVoice. Voice hasil kloning 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, menggunakan seed yang sama menghasilkan output identik.

Nilai default: 0.

Nilai yang valid: [0, 65535].

language_hints array[string] (opsional)

Penting
  • Parameter ini berupa array, tetapi versi saat ini hanya memproses elemen pertama. Kirim satu nilai saja.

  • Parameter ini menentukan bahasa target untuk sintesis suara. Parameter ini tidak terkait dengan bahasa sampel audio yang digunakan dalam kloning suara. Untuk mengatur bahasa sumber pada tugas kloning, lihat referensi API kloning suara.

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:

  • Pelafalan angka tidak sesuai: "hello, this is 110" dibaca sebagai "hello, this is one zero" alih-alih pelafalan Mandarin yang diharapkan

  • Pelafalan simbol tidak akurat: "@" dibaca sebagai ekuivalen Mandarin alih-alih "at"

  • Kualitas sintesis bahasa minoritas buruk dengan hasil yang tidak alami

Nilai yang valid:

  • zh: Tionghoa

  • en: Inggris

  • fr: Prancis

  • de: Jerman

  • ja: Jepang

  • ko: Korea

  • ru: Rusia

  • pt: Portugis

  • th: Bahasa Thai

  • id: Bahasa Indonesia

  • vi: Vietnam

instruction string (opsional)

Mengatur instruksi untuk mengontrol dialek, emosi, atau karakter suara selama sintesis. Fitur ini hanya tersedia untuk voice hasil kloning dari cosyvoice-v3.5-flash, cosyvoice-v3.5-plus, dan cosyvoice-v3-flash, serta voice sistem yang ditandai sebagai mendukung Instruct di Daftar Voice CosyVoice.

Batas panjang: 100 karakter.

Karakter Mandarin (termasuk Mandarin sederhana dan tradisional, kanji Jepang, serta hanja Korea) dihitung sebagai 2 karakter. Semua karakter lain (seperti tanda baca, huruf, angka, kana Jepang, dan hangul Korea) dihitung sebagai 1 karakter.

Persyaratan penggunaan (berbeda tiap model):

  • cosyvoice-v3.5-flash dan cosyvoice-v3.5-plus: Menerima instruksi apa pun untuk mengontrol efek sintesis (seperti emosi atau laju bicara).

    Penting

    cosyvoice-v3.5-flash dan cosyvoice-v3.5-plus tidak memiliki voice sistem. Hanya voice hasil desain atau kloning yang didukung.

    Contoh instruksi:

    Speak in a very excited and high-pitched tone, expressing the ecstasy and excitement of a great success.
    Please maintain a medium-slow speech rate, with an elegant and intellectual tone, giving a sense of calm and reassurance.
    The tone should be full of sorrow and nostalgia, with a slight nasal quality, as if narrating a heartbreaking story.
    Please try to speak in a breathy voice, with a very low volume, creating a sense of intimate and mysterious whispering.
    The tone should be very impatient and annoyed, with a faster speech rate and minimal pauses between sentences.
    Please imitate a kind and gentle elder, with a steady speech rate and a voice full of care and affection.
    The tone should be sarcastic and disdainful, with emphasis on keywords and a slightly rising intonation at the end of sentences.
    Please speak in an extremely fearful and trembling voice.
    The tone should be like a professional news anchor: calm, objective, and articulate, with a neutral emotion.
    The tone should be lively and playful, with a clear smile, making the voice sound energetic and sunny.
  • cosyvoice-v3-flash: Harus mengikuti persyaratan berikut.

    • Voice hasil kloning: Menerima instruksi dalam bahasa alami apa pun untuk mengontrol efek sintesis.

      Contoh instruksi:

      Please speak in Cantonese. (Supported dialects: Cantonese, Northeastern, Gansu, Guizhou, Henan, Hubei, Jiangxi, Minnan, Ningxia, Shanxi, Shaanxi, Shandong, Shanghainese, Sichuan, Tianjin, Yunnan.)
      Please say a sentence as loudly as possible.
      Please say a sentence as slowly as possible.
      Please say a sentence as quickly as possible.
      Please say a sentence very softly.
      Can you speak a little slower?
      Can you speak very quickly?
      Can you speak very slowly?
      Can you speak a little faster?
      Please say a sentence very angrily.
      Please say a sentence very happily.
      Please say a sentence very fearfully.
      Please say a sentence very sadly.
      Please say a sentence very surprisedly.
      Please try to sound as firm as possible.
      Please try to sound as angry as possible.
      Please try an approachable tone.
      Please speak in a cold tone.
      Please speak in a majestic tone.
      I want to experience a natural tone.
      I want to see how you express a threat.
      I want to see how you express wisdom.
      I want to see how you express seduction.
      I want to hear you speak in a lively way.
      I want to hear you speak with passion.
      I want to hear you speak in a steady manner.
      I want to hear you speak with confidence.
      Can you talk to me with excitement?
      Can you show an arrogant emotion?
      Can you show an elegant emotion?
      Can you answer the question happily?
      Can you give a gentle emotional demonstration?
      Can you talk to me in a calm tone?
      Can you answer me in a deep way?
      Can you talk to me with a gruff attitude?
      Tell me the answer in a sinister voice.
      Tell me the answer in a resilient voice.
      Narrate in a natural and friendly chat style.
      Speak in the tone of a radio drama podcaster.
    • Voice sistem: Instruksi harus mengikuti format tetap. Untuk detailnya, lihat Daftar Voice CosyVoice.

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, dan cosyvoice-v2 yang mendukung fitur ini.

aigc_propagator 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, dan cosyvoice-v2 yang mendukung fitur ini.

aigc_propagate_id 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, dan cosyvoice-v2 yang mendukung fitur ini.

hot_fix object (opsional)

Mengonfigurasi koreksi pelafalan dan penggantian teks yang diterapkan sebelum sintesis.

Fitur ini tidak didukung oleh cosyvoice-v2.

Parameter:

  • pronunciation: Pelafalan kustom. Menentukan anotasi pinyin untuk kata-kata guna memperbaiki pelafalan default yang tidak akurat.

  • replace: Penggantian teks. Mengganti kata-kata tertentu dengan teks target sebelum sintesis. Teks yang diganti digunakan sebagai input sintesis aktual.

Contoh:

"hot_fix": {
  "pronunciation": [
    {"weather": "tian1 qi4"}
  ],
  "replace": [
    {"today": "gold day"}
  ]
}

enable_markdown_filter boolean (opsional)

Penting

Hanya voice hasil kloning dari cosyvoice-v3-flash yang mendukung fitur ini.

Menentukan apakah penyaringan Markdown diaktifkan. Saat diaktifkan, sistem secara otomatis menghapus simbol markup Markdown dari teks input sebelum sintesis, sehingga simbol tersebut tidak dibacakan.

Nilai default: false.

Nilai yang valid:

  • true: Aktifkan penyaringan Markdown

  • false: Nonaktifkan penyaringan Markdown

continue-task

Deskripsi: Mengirim teks yang akan disintesis. Teks dapat dikirim sekaligus atau 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.

{
    "header": {
        "action": "continue-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {
            "text": "Before my bed, moonlight shines bright, I suspect it's frost upon the ground."
        }
    }
}

payload 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

Deskripsi: Memberi tahu server bahwa semua teks telah dikirim dan meminta penyelesaian tugas.

Kapan dikirim: Segera setelah semua 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.

{
    "header": {
        "action": "finish-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {}
    }
}

payload object (wajib)

Properti

input object (wajib)

Atur ke {}.