Skip to main content
Qwen-Audio-TTS

Event klien Qwen-Audio-TTS

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.
payload 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.
  • System voices: Lihat Daftar voice Qwen-Audio-TTS
  • Cloned voices: Voice kustom yang dibuat melalui voice cloning
  • Custom voices: Voice kustom yang dibuat melalui voice design
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 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. Suara hasil kloning didukung. Untuk suara sistem yang didukung, lihat Daftar voice Qwen-Audio-TTS.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)
  • 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 voice cloning. Untuk mengatur bahasa sumber pada tugas cloning, lihat referensi API voice cloning.
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 tidak alami
  • zh: Tionghoa
  • en: Inggris
  • fr: Prancis
  • de: Jerman
  • ja: Jepang
  • ko: Korea
  • ru: Rusia
  • pt: Portugis
  • th: Thai
  • id: Bahasa Indonesia
  • vi: Vietnam
  • es: Spanyol
  • it: Italia
  • ms: Malaysia
  • fil: Filipino
  • ar: Arab
instruction 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.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.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.hot_fix object(opsional)Mengonfigurasi koreksi pelafalan dan penggantian teks yang diterapkan sebelum sintesis.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 sebenarnya.
Contoh:
"hot_fix": {
  "pronunciation": [
    {"weather": "tian1 qi4"}
  ],
  "replace": [
    {"today": "gold day"}
  ]
}
{
    "header": {
        "action": "run-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "task_group": "audio",
        "task": "tts",
        "function": "SpeechSynthesizer",
        "model": "qwen-audio-3.0-tts-flash",
        "parameters": {
            "text_type": "PlainText",
            "voice": "longanlingxi",
            "format": "mp3",
            "sample_rate": 22050,
            "volume": 50,
            "rate": 1.0,
            "pitch": 1.0,
            "enable_ssml": false
        },
        "input": {}
    }
}

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.
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.
{
    "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."
        }
    }
}

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.
payload 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.
{
    "header": {
        "action": "finish-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {}
    }
}
Contoh pembatalan tugas:
{
    "header": {
        "action": "finish-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {
            "directive": "cancel"
        }
    }
}
Pembuatan Gambar
  • FAQ
Video Generation
Model Dunia
Audio
Realtime API
Penyematan Teks
TokenPlan
Model production