All Products
Search
Document Center

Alibaba Cloud Model Studio:Sintesis suara - Qwen

Last Updated:Apr 01, 2026

Sintesis suara Qwen menghasilkan suara seperti manusia dengan intonasi alami dan penyampaian ekspresif. Layanan ini mendukung berbagai bahasa dan dialek, termasuk dialek Tiongkok, serta memungkinkan keluaran multibahasa menggunakan satu suara. Sistem secara otomatis menyesuaikan nada dan menangani teks kompleks dengan lancar.

Fitur utama

  • Mendukung keluaran streaming, memungkinkan sintesis dan pemutaran audio secara real-time.

  • Mendukung berbagai bahasa dan dialek, termasuk dialek Tiongkok.

  • Menyediakan beragam pilihan suara untuk berbagai kasus penggunaan.

  • Menawarkan dua metode kustomisasi suara: kloning suara dan desain suara.

  • Mendukung kontrol instruksi, yang memungkinkan Anda menyesuaikan ekspresivitas ucapan menggunakan instruksi bahasa alami.

Penerapan

Model yang tersedia:

Internasional

Dalam mode penyebaran internasional, titik akhir dan penyimpanan data berada di Wilayah Singapura. Sumber daya komputasi inferensi model dijadwalkan secara dinamis di seluruh dunia, kecuali Tiongkok daratan.

Saat memanggil model berikut, pilih Kunci API untuk Wilayah Singapura:

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash (versi stabil, saat ini setara dengan qwen3-tts-instruct-flash-2026-01-26), qwen3-tts-instruct-flash-2026-01-26 (versi snapshot terbaru)

  • Qwen3-TTS-VD: qwen3-tts-vd-2026-01-26 (versi snapshot terbaru)

  • Qwen3-TTS-VC: qwen3-tts-vc-2026-01-22 (versi snapshot terbaru)

  • Qwen3-TTS-Flash: qwen3-tts-flash (versi stabil, saat ini setara dengan qwen3-tts-flash-2025-11-27), qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

Tiongkok daratan

Dalam mode penyebaran Tiongkok daratan, titik akhir dan penyimpanan data berada di Wilayah Beijing. Sumber daya komputasi inferensi model terbatas pada Tiongkok daratan.

Saat memanggil model berikut, pilih Kunci API untuk Wilayah Beijing:

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash (versi stabil, saat ini setara dengan qwen3-tts-instruct-flash-2026-01-26), qwen3-tts-instruct-flash-2026-01-26 (versi snapshot terbaru)

  • Qwen3-TTS-VD: qwen3-tts-vd-2026-01-26 (versi snapshot terbaru)

  • Qwen3-TTS-VC: qwen3-tts-vc-2026-01-22 (versi snapshot terbaru)

  • Qwen3-TTS-Flash: qwen3-tts-flash (versi stabil, saat ini setara dengan qwen3-tts-flash-2025-11-27), qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

  • Qwen-TTS: qwen-tts (versi stabil, saat ini setara dengan qwen-tts-2025-04-10), qwen-tts-latest (versi terbaru, saat ini setara dengan qwen-tts-2025-05-22), qwen-tts-2025-05-22 (versi snapshot), qwen-tts-2025-04-10 (versi snapshot)

Lihat Daftar model.

Pilih model

Skenario

Model yang direkomendasikan

Alasan

Suara kustom untuk branding, suara eksklusif, atau perluasan suara sistem (dari deskripsi teks)

qwen3-tts-vd-2026-01-26

Mendukung desain suara. Buat suara kustom dari deskripsi teks tanpa sampel audio. Ideal untuk merancang suara merek dari awal.

Suara kustom untuk branding, suara eksklusif, atau perluasan suara sistem (dari sampel audio)

qwen3-tts-vc-2026-01-22

Mendukung kloning suara. Klon suara dari sampel audio untuk membuat voiceprint merek seperti manusia dengan tingkat kesetiaan dan konsistensi tinggi.

Produksi konten emosional (audiobook, drama radio, dubbing game/animasi)

qwen3-tts-instruct-flash

Mendukung kontrol instruksi. Gunakan deskripsi bahasa alami untuk mengontrol pitch, kecepatan, emosi, dan kepribadian karakter. Ideal untuk skenario yang memerlukan ekspresi kaya dan penciptaan karakter.

Navigasi Seluler atau Pengumuman Notifikasi

qwen3-tts-flash

Penagihan per karakter yang sederhana dan transparan. Ideal untuk panggilan frekuensi tinggi dengan teks pendek.

Dubbing materi kursus pendidikan online

qwen3-tts-flash

Mendukung berbagai bahasa dan dialek untuk memenuhi kebutuhan pengajaran regional.

Produksi audiobook batch

qwen3-tts-flash

Hemat biaya. Beragam pilihan suara memperkaya ekspresi konten.

Lihat Perbandingan fitur model.

Memulai

Persiapan

  • Konfigurasikan Kunci API dan ekspor sebagai Variabel lingkungan.

  • Jika Anda memanggil layanan menggunakan SDK DashScope, instal versi SDK terbaru. SDK DashScope Java harus versi 2.21.9 atau lebih baru. SDK DashScope Python harus versi 1.24.6 atau lebih baru.

    Catatan

    Dalam SDK DashScope Python, antarmuka SpeechSynthesizer telah disatukan ke dalam MultiModalConversation. Ganti nama antarmuka tersebut. Semua parameter lain tetap kompatibel.

Sintesis suara dengan suara sistem

Contoh berikut melakukan sintesis suara dengan suara sistem.

Keluaran non-streaming

Ambil suara hasil sintesis dari url yang dikembalikan. URL tersebut berlaku selama 24 jam.

Python

import os
import dashscope

# Ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ubah URL menjadi: https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

text = "Hari ini adalah hari yang indah untuk membangun sesuatu yang dicintai orang!"
# Cara menggunakan antarmuka SpeechSynthesizer: dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
response = dashscope.MultiModalConversation.call(
    # Untuk menggunakan fitur kontrol instruksi, ubah model menjadi qwen3-tts-instruct-flash.
    model="qwen3-tts-flash",
    # Kunci API untuk wilayah Singapura dan Tiongkok (Beijing) berbeda. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    # Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    text=text,
    voice="Cherry",
    language_type="English", # Sesuaikan jenis bahasa dengan bahasa teks agar pengucapan dan intonasi terdengar alami.
    # Untuk menggunakan fitur kontrol instruksi, hapus komentar baris berikut dan ubah model menjadi qwen3-tts-instruct-flash.
    # instructions='Berbicara dengan kecepatan relatif cepat dengan intonasi naik yang jelas, cocok untuk memperkenalkan produk fesyen.',
    # optimize_instructions=True,
    stream=False
)
print(response)

Java

Anda perlu mengimpor dependensi Gson. Jika Anda menggunakan Maven atau Gradle, tambahkan dependensi sebagai berikut:

Maven

Tambahkan konten berikut ke pom.xml:

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.13.1</version>
</dependency>

Gradle

Tambahkan konten berikut ke build.gradle:

// https://mvnrepository.com/artifact/com.google.code.gson/gson
implementation("com.google.code.gson:gson:2.13.1")
import com.alibaba.dashscope.aigc.multimodalconversation.AudioParameters;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.protocol.Protocol;
import com.alibaba.dashscope.utils.Constants;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;

public class Main {
    // Untuk menggunakan fitur kontrol instruksi, ubah MODEL menjadi qwen3-tts-instruct-flash.
    private static final String MODEL = "qwen3-tts-flash";
    public static void call() throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // Kunci API untuk wilayah Singapura dan Tiongkok (Beijing) berbeda. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
                // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: .apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .model(MODEL)
                .text("Hari ini adalah hari yang indah untuk membangun sesuatu yang dicintai orang!")
                .voice(AudioParameters.Voice.CHERRY)
                .languageType("English") // Sesuaikan jenis bahasa dengan bahasa teks agar pengucapan dan intonasi terdengar alami.
                // Untuk menggunakan fitur kontrol instruksi, hapus komentar baris berikut dan ubah model menjadi qwen3-tts-instruct-flash.
                // .parameter("instructions","Berbicara dengan kecepatan relatif cepat dengan intonasi naik yang jelas, cocok untuk memperkenalkan produk fesyen.")
                // .parameter("optimize_instructions",true)
                .build();
        MultiModalConversationResult result = conv.call(param);
        String audioUrl = result.getOutput().getAudio().getUrl();
        System.out.print(audioUrl);

        // Unduh file audio ke mesin lokal Anda.
        try (InputStream in = new URL(audioUrl).openStream();
             FileOutputStream out = new FileOutputStream("downloaded_audio.wav")) {
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = in.read(buffer)) != -1) {
                out.write(buffer, 0, bytesRead);
            }
            System.out.println("\nFile audio diunduh ke: downloaded_audio.wav");
        } catch (Exception e) {
            System.out.println("\nGagal mengunduh file audio: " + e.getMessage());
        }
    }
    public static void main(String[] args) {
        // Ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ubah URL menjadi: https://dashscope.aliyuncs.com/api/v1
        Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
        try {
            call();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}

cURL

# ======= Penting =======
# Ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ubah URL menjadi: https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
# Kunci API untuk wilayah Singapura dan Tiongkok (Beijing) berbeda. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
# === Hapus komentar ini sebelum eksekusi ===

curl -X POST 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "model": "qwen3-tts-flash",
    "input": {
        "text": "Hari ini adalah hari yang indah untuk membangun sesuatu yang dicintai orang!",
        "voice": "Cherry",
        "language_type": "English"
    }
}'

Keluaran streaming

Data audio dialirkan dalam format Base64. Paket data terakhir berisi URL file audio lengkap.

Python

# coding=utf-8
#
# Instruksi instalasi pyaudio:
# APPLE Mac OS X
#   brew install portaudio
#   pip install pyaudio
# Debian/Ubuntu
#   sudo apt-get install python-pyaudio python3-pyaudio
#   or
#   pip install pyaudio
# CentOS
#   sudo yum install -y portaudio portaudio-devel && pip install pyaudio
# Microsoft Windows
#   python -m pip install pyaudio

import os
import dashscope
import pyaudio
import time
import base64
import numpy as np

# Ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ubah URL menjadi: https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

p = pyaudio.PyAudio()
# Buat aliran audio.
stream = p.open(format=pyaudio.paInt16,
                channels=1,
                rate=24000,
                output=True)


text = "Hari ini adalah hari yang indah untuk membangun sesuatu yang dicintai orang!"
response = dashscope.MultiModalConversation.call(
    # Kunci API untuk wilayah Singapura dan Tiongkok (Beijing) berbeda. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    # Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Untuk menggunakan fitur kontrol instruksi, ubah model menjadi qwen3-tts-instruct-flash.
    model="qwen3-tts-flash",
    text=text,
    voice="Cherry",
    language_type="English", # Sesuaikan jenis bahasa dengan bahasa teks agar pengucapan dan intonasi terdengar alami.
    # Untuk menggunakan fitur kontrol instruksi, hapus komentar baris berikut dan ubah model menjadi qwen3-tts-instruct-flash.
    # instructions='Berbicara dengan kecepatan relatif cepat dengan intonasi naik yang jelas, cocok untuk memperkenalkan produk fesyen.',
    # optimize_instructions=True,
    stream=True
)

for chunk in response:
    if chunk.output is not None:
      audio = chunk.output.audio
      if audio.data is not None:
          wav_bytes = base64.b64decode(audio.data)
          audio_np = np.frombuffer(wav_bytes, dtype=np.int16)
          # Putar data audio secara langsung.
          stream.write(audio_np.tobytes())
      if chunk.output.finish_reason == "stop":
          print("selesai pada: {} ", chunk.output.audio.expires_at)
time.sleep(0.8)
# Bersihkan sumber daya.
stream.stop_stream()
stream.close()
p.terminate()

Java

Anda perlu mengimpor dependensi Gson. Jika Anda menggunakan Maven atau Gradle, tambahkan dependensi sebagai berikut:

Maven

Tambahkan konten berikut ke pom.xml:

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.13.1</version>
</dependency>

Gradle

Tambahkan konten berikut ke build.gradle:

// https://mvnrepository.com/artifact/com.google.code.gson/gson
implementation("com.google.code.gson:gson:2.13.1")
// Instal versi terbaru SDK DashScope.
import com.alibaba.dashscope.aigc.multimodalconversation.AudioParameters;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.protocol.Protocol;
import com.alibaba.dashscope.utils.Constants;
import io.reactivex.Flowable;
import javax.sound.sampled.*;
import java.util.Base64;

public class Main {
    // Untuk menggunakan fitur kontrol instruksi, ubah MODEL menjadi qwen3-tts-instruct-flash.
    private static final String MODEL = "qwen3-tts-flash";
    public static void streamCall() throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // Kunci API untuk wilayah Singapura dan Tiongkok (Beijing) berbeda. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
                // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: .apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .model(MODEL)
                .text("Hari ini adalah hari yang indah untuk membangun sesuatu yang dicintai orang!")
                .voice(AudioParameters.Voice.CHERRY)
                .languageType("English") // Sesuaikan jenis bahasa dengan bahasa teks agar pengucapan dan intonasi terdengar alami.
                // Untuk menggunakan fitur kontrol instruksi, hapus komentar baris berikut dan ubah model menjadi qwen3-tts-instruct-flash.
                // .parameter("instructions","Berbicara dengan kecepatan relatif cepat dengan intonasi naik yang jelas, cocok untuk memperkenalkan produk fesyen.")
                // .parameter("optimize_instructions",true)
                .build();
        Flowable<MultiModalConversationResult> result = conv.streamCall(param);
        result.blockingForEach(r -> {
            try {
                // 1. Dapatkan data audio yang dikodekan Base64.
                String base64Data = r.getOutput().getAudio().getData();
                byte[] audioBytes = Base64.getDecoder().decode(base64Data);

                // 2. Konfigurasi format audio. Sesuaikan format berdasarkan respons API.
                AudioFormat format = new AudioFormat(
                        AudioFormat.Encoding.PCM_SIGNED,
                        24000, // Laju sampel. Harus konsisten dengan format yang dikembalikan oleh API.
                        16,    // Kedalaman bit audio
                        1,     // Jumlah saluran suara
                        2,     // Ukuran frame (kedalaman bit/8)
                        24000, // Laju transmisi data. Harus konsisten dengan laju sampel.
                        false  // Menentukan apakah data dikompresi.
                );

                // 3. Putar data audio secara real-time.
                DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);
                try (SourceDataLine line = (SourceDataLine) AudioSystem.getLine(info)) {
                    if (line != null) {
                        line.open(format);
                        line.start();
                        line.write(audioBytes, 0, audioBytes.length);
                        line.drain();
                    }
                }
            } catch (LineUnavailableException e) {
                e.printStackTrace();
            }
        });
    }
    public static void main(String[] args) {
        // Ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ubah URL menjadi: https://dashscope.aliyuncs.com/api/v1
        Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
        try {
            streamCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}

cURL

# ======= Penting =======
# Ini adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ubah URL menjadi: https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
# Kunci API untuk wilayah Singapura dan Tiongkok (Beijing) berbeda. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
# === Hapus komentar ini sebelum eksekusi ===

curl -X POST 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-H 'X-DashScope-SSE: enable' \
-d '{
    "model": "qwen3-tts-flash",
    "input": {
        "text": "Hari ini adalah hari yang indah untuk membangun sesuatu yang dicintai orang!",
        "voice": "Cherry",
        "language_type": "Chinese"
    }
}'

Sintesis suara dengan suara hasil kloning

Kloning suara tidak menyediakan audio pratinjau. Untuk mengevaluasi hasilnya, terapkan suara hasil kloning tersebut pada sintesis suara.

Contoh ini menggunakan suara hasil kloning untuk sintesis suara, menghasilkan keluaran yang sangat mirip dengan suara aslinya. Contoh ini dibangun berdasarkan contoh keluaran non-streaming untuk SDK DashScope, dengan parameter voice diatur ke suara hasil kloning.

  • Prinsip utama: Model yang digunakan untuk kloning suara (target_model) harus sama dengan model yang digunakan untuk sintesis suara (model). Jika tidak, sintesis akan gagal.

  • Contoh ini menggunakan file audio lokal voice.mp3 untuk kloning suara. Saat menjalankan kode, gantilah path file dengan milik Anda sendiri.

Python

import os
import requests
import base64
import pathlib
import dashscope

# ======= Konfigurasi konstan =======
DEFAULT_TARGET_MODEL = "qwen3-tts-vc-2026-01-22"  # Gunakan model yang sama untuk kloning suara dan sintesis suara
DEFAULT_PREFERRED_NAME = "guanyu"
DEFAULT_AUDIO_MIME_TYPE = "audio/mpeg"
VOICE_FILE_PATH = "voice.mp3"  # Path relatif ke file audio lokal yang digunakan untuk kloning suara


def create_voice(file_path: str,
                 target_model: str = DEFAULT_TARGET_MODEL,
                 preferred_name: str = DEFAULT_PREFERRED_NAME,
                 audio_mime_type: str = DEFAULT_AUDIO_MIME_TYPE) -> str:
    """
    Buat suara dan kembalikan parameter suara.
    """
    # Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan: api_key = "sk-xxx"
    api_key = os.getenv("DASHSCOPE_API_KEY")

    file_path_obj = pathlib.Path(file_path)
    if not file_path_obj.exists():
        raise FileNotFoundError(f"File audio tidak ditemukan: {file_path}")

    base64_str = base64.b64encode(file_path_obj.read_bytes()).decode()
    data_uri = f"data:{audio_mime_type};base64,{base64_str}"

    # Titik akhir wilayah Singapura. Untuk wilayah Beijing, gunakan: https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization
    url = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization"
    payload = {
        "model": "qwen-voice-enrollment", # Jangan ubah nilai ini
        "input": {
            "action": "create",
            "target_model": target_model,
            "preferred_name": preferred_name,
            "audio": {"data": data_uri}
        }
    }
    headers = {
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json"
    }

    resp = requests.post(url, json=payload, headers=headers)
    if resp.status_code != 200:
        raise RuntimeError(f"Gagal membuat suara: {resp.status_code}, {resp.text}")

    try:
        return resp.json()["output"]["voice"]
    except (KeyError, ValueError) as e:
        raise RuntimeError(f"Gagal mengurai respons suara: {e}")


if __name__ == '__main__':
    # Titik akhir wilayah Singapura. Untuk wilayah Beijing, gunakan: https://dashscope.aliyuncs.com/api/v1
    dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

    text = "Bagaimana cuaca hari ini?"
    # Penggunaan antarmuka SpeechSynthesizer: dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
    response = dashscope.MultiModalConversation.call(
        model=DEFAULT_TARGET_MODEL,
        # Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan: api_key = "sk-xxx"
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        text=text,
        voice=create_voice(VOICE_FILE_PATH), # Ganti parameter voice dengan suara kustom yang dihasilkan dari kloning
        stream=False
    )
    print(response)

Java

Tambahkan dependensi Gson ke proyek Anda.

Maven

Tambahkan konten berikut ke pom.xml:

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.13.1</version>
</dependency>

Gradle

Tambahkan konten berikut ke build.gradle:

// https://mvnrepository.com/artifact/com.google.code.gson/gson
implementation("com.google.code.gson:gson:2.13.1")
Penting

Saat Anda menggunakan sintesis suara dengan suara kustom yang dihasilkan dari kloning suara, konfigurasikan suara sebagai berikut:

MultiModalConversationParam param = MultiModalConversationParam.builder()
                .parameter("voice", "your_voice") // Ganti parameter suara dengan suara kustom yang dihasilkan oleh desain suara
                .build();
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.utils.Constants;
import com.google.gson.Gson;
import com.google.gson.JsonObject;

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.file.*;
import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class Main {
    // ===== Definisi konstan =====
    // Gunakan model yang sama untuk kloning suara dan sintesis suara
    private static final String TARGET_MODEL = "qwen3-tts-vc-2026-01-22";
    private static final String PREFERRED_NAME = "guanyu";
    // Path relatif ke file audio lokal yang digunakan untuk kloning suara
    private static final String AUDIO_FILE = "voice.mp3";
    private static final String AUDIO_MIME_TYPE = "audio/mpeg";

    // Hasilkan URI data
    public static String toDataUrl(String filePath) throws IOException {
        byte[] bytes = Files.readAllBytes(Paths.get(filePath));
        String encoded = Base64.getEncoder().encodeToString(bytes);
        return "data:" + AUDIO_MIME_TYPE + ";base64," + encoded;
    }

    // Panggil API untuk membuat suara
    public static String createVoice() throws Exception {
        // Kunci API berbeda antara wilayah Singapura dan Beijing. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan: String apiKey = "sk-xxx"
        String apiKey = System.getenv("DASHSCOPE_API_KEY");

        String jsonPayload =
                "{"
                        + "\"model\": \"qwen-voice-enrollment\"," // Jangan ubah nilai ini
                        + "\"input\": {"
                        +     "\"action\": \"create\","
                        +     "\"target_model\": \"" + TARGET_MODEL + "\","
                        +     "\"preferred_name\": \"" + PREFERRED_NAME + "\","
                        +     "\"audio\": {"
                        +         "\"data\": \"" + toDataUrl(AUDIO_FILE) + "\""
                        +     "}"
                        + "}"
                        + "}";

        // Titik akhir wilayah Singapura. Untuk wilayah Beijing, gunakan: https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization
        String url = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization";
        HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
        con.setRequestMethod("POST");
        con.setRequestProperty("Authorization", "Bearer " + apiKey);
        con.setRequestProperty("Content-Type", "application/json");
        con.setDoOutput(true);

        try (OutputStream os = con.getOutputStream()) {
            os.write(jsonPayload.getBytes(StandardCharsets.UTF_8));
        }

        int status = con.getResponseCode();
        System.out.println("Kode status HTTP: " + status);

        try (BufferedReader br = new BufferedReader(
                new InputStreamReader(status >= 200 && status < 300 ? con.getInputStream() : con.getErrorStream(),
                        StandardCharsets.UTF_8))) {
            StringBuilder response = new StringBuilder();
            String line;
            while ((line = br.readLine()) != null) {
                response.append(line);
            }
            System.out.println("Konten respons: " + response);

            if (status == 200) {
                JsonObject jsonObj = new Gson().fromJson(response.toString(), JsonObject.class);
                return jsonObj.getAsJsonObject("output").get("voice").getAsString();
            }
            throw new IOException("Gagal membuat suara: " + status + " - " + response);
        }
    }

    public static void call() throws Exception {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // Kunci API berbeda antara wilayah Singapura dan Beijing. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
                // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan: .apikey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .model(TARGET_MODEL)
                .text("Bagaimana cuaca hari ini?")
                .parameter("voice", createVoice()) // Ganti parameter voice dengan suara kustom yang dihasilkan dari kloning
                .build();
        MultiModalConversationResult result = conv.call(param);
        String audioUrl = result.getOutput().getAudio().getUrl();
        System.out.print(audioUrl);

        // Unduh file audio secara lokal
        try (InputStream in = new URL(audioUrl).openStream();
             FileOutputStream out = new FileOutputStream("downloaded_audio.wav")) {
            byte[] buffer = new byte[1024];
            int bytesRead;
            while ((bytesRead = in.read(buffer)) != -1) {
                out.write(buffer, 0, bytesRead);
            }
            System.out.println("\nFile audio diunduh secara lokal: downloaded_audio.wav");
        } catch (Exception e) {
            System.out.println("\nGagal mengunduh file audio: " + e.getMessage());
        }
    }
    public static void main(String[] args) {
        try {
            // Titik akhir wilayah Singapura. Untuk wilayah Beijing, gunakan: https://dashscope.aliyuncs.com/api/v1
            Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
            call();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}

Menggunakan timbre desain suara untuk sintesis suara

Fitur desain suara mengembalikan audio pratinjau. Dengarkan pratinjau tersebut untuk memastikan hasilnya sesuai harapan sebelum menggunakannya untuk sintesis. Hal ini mengurangi biaya pemanggilan.

  1. Buat suara kustom dan dengarkan pratinjaunya. Jika puas, lanjutkan. Jika tidak, buat ulang.

    Python

    import requests
    import base64
    import os
    
    def create_voice_and_play():
        # Kunci API berbeda antara wilayah Singapura dan Beijing. Dapatkan Kunci API: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        # Jika variabel lingkungan belum diatur, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx"
        api_key = os.getenv("DASHSCOPE_API_KEY")
        
        if not api_key:
            print("Error: Variabel lingkungan DASHSCOPE_API_KEY tidak ditemukan. Harap atur Kunci API terlebih dahulu.")
            return None, None, None
        
        # Siapkan data permintaan
        headers = {
            "Authorization": f"Bearer {api_key}",
            "Content-Type": "application/json"
        }
        
        data = {
            "model": "qwen-voice-design",
            "input": {
                "action": "create",
                "target_model": "qwen3-tts-vd-2026-01-26",
                "voice_prompt": "A composed middle-aged male announcer with a deep, rich and magnetic voice, a steady speaking speed and clear articulation, is suitable for news broadcasting or documentary commentary.",
                "preview_text": "Dear listeners, hello everyone. Welcome to the evening news.",
                "preferred_name": "announcer",
                "language": "en"
            },
            "parameters": {
                "sample_rate": 24000,
                "response_format": "wav"
            }
        }
        
        # Berikut adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization
        url = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization"
        
        try:
            # Kirim permintaan
            response = requests.post(
                url,
                headers=headers,
                json=data,
                timeout=60  # Tambahkan pengaturan timeout
            )
            
            if response.status_code == 200:
                result = response.json()
                
                # Dapatkan nama suara
                voice_name = result["output"]["voice"]
                print(f"Nama suara: {voice_name}")
                
                # Dapatkan data audio pratinjau
                base64_audio = result["output"]["preview_audio"]["data"]
                
                # Dekode data audio Base64
                audio_bytes = base64.b64decode(base64_audio)
                
                # Simpan file audio secara lokal
                filename = f"{voice_name}_preview.wav"
                
                # Tulis data audio ke file lokal
                with open(filename, 'wb') as f:
                    f.write(audio_bytes)
                
                print(f"Audio disimpan ke file lokal: {filename}")
                print(f"Path file: {os.path.abspath(filename)}")
                
                return voice_name, audio_bytes, filename
            else:
                print(f"Permintaan gagal dengan kode status: {response.status_code}")
                print(f"Konten respons: {response.text}")
                return None, None, None
                
        except requests.exceptions.RequestException as e:
            print(f"Terjadi error permintaan jaringan: {e}")
            return None, None, None
        except KeyError as e:
            print(f"Error format data respons, field wajib tidak ditemukan: {e}")
            print(f"Konten respons: {response.text if 'response' in locals() else 'Tidak ada respons'}")
            return None, None, None
        except Exception as e:
            print(f"Terjadi error tak dikenal: {e}")
            return None, None, None
    
    if __name__ == "__main__":
        print("Mulai membuat suara...")
        voice_name, audio_data, saved_filename = create_voice_and_play()
        
        if voice_name:
            print(f"\nBerhasil membuat suara '{voice_name}'")
            print(f"File audio disimpan sebagai: '{saved_filename}'")
            print(f"Ukuran file: {os.path.getsize(saved_filename)} byte")
        else:
            print("\nGagal membuat suara")

    Java

    Tambahkan dependensi Gson ke proyek Anda:

    Maven

    Tambahkan berikut ke pom.xml Anda:

    <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.13.1</version>
    </dependency>

    Gradle

    Tambahkan berikut ke build.gradle Anda:

    // https://mvnrepository.com/artifact/com.google.code.gson/gson
    implementation("com.google.code.gson:gson:2.13.1")
    Penting

    Untuk menggunakan suara kustom yang dihasilkan dari desain suara untuk sintesis suara, konfigurasikan suara sebagai berikut:

    MultiModalConversationParam param = MultiModalConversationParam.builder()
                    .parameter("voice", "your_voice") // Ganti parameter voice dengan suara kustom yang dihasilkan dari desain suara
                    .build();
    import com.google.gson.JsonObject;
    import com.google.gson.JsonParser;
    import java.io.*;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.Base64;
    
    public class Main {
        public static void main(String[] args) {
            Main example = new Main();
            example.createVoice();
        }
    
        public void createVoice() {
            // Kunci API berbeda antara wilayah Singapura dan Beijing. Dapatkan Kunci API: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
            // Jika variabel lingkungan belum diatur, ganti baris berikut dengan Kunci API Model Studio Anda: String apiKey = "sk-xxx"
            String apiKey = System.getenv("DASHSCOPE_API_KEY");
    
            // Buat string body permintaan JSON
            String jsonBody = "{\n" +
                    "    \"model\": \"qwen-voice-design\",\n" +
                    "    \"input\": {\n" +
                    "        \"action\": \"create\",\n" +
                    "        \"target_model\": \"qwen3-tts-vd-2026-01-26\",\n" +
                    "        \"voice_prompt\": \"A composed middle-aged male announcer with a deep, rich and magnetic voice, a steady speaking speed and clear articulation, is suitable for news broadcasting or documentary commentary.\",\n" +
                    "        \"preview_text\": \"Dear listeners, hello everyone. Welcome to the evening news.\",\n" +
                    "        \"preferred_name\": \"announcer\",\n" +
                    "        \"language\": \"en\"\n" +
                    "    },\n" +
                    "    \"parameters\": {\n" +
                    "        \"sample_rate\": 24000,\n" +
                    "        \"response_format\": \"wav\"\n" +
                    "    }\n" +
                    "}";
    
            HttpURLConnection connection = null;
            try {
                // Berikut adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization
                URL url = new URL("https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization");
                connection = (HttpURLConnection) url.openConnection();
    
                // Atur metode dan header permintaan
                connection.setRequestMethod("POST");
                connection.setRequestProperty("Authorization", "Bearer " + apiKey);
                connection.setRequestProperty("Content-Type", "application/json");
                connection.setDoOutput(true);
                connection.setDoInput(true);
    
                // Kirim body permintaan
                try (OutputStream os = connection.getOutputStream()) {
                    byte[] input = jsonBody.getBytes("UTF-8");
                    os.write(input, 0, input.length);
                    os.flush();
                }
    
                // Dapatkan respons
                int responseCode = connection.getResponseCode();
                if (responseCode == HttpURLConnection.HTTP_OK) {
                    // Baca konten respons
                    StringBuilder response = new StringBuilder();
                    try (BufferedReader br = new BufferedReader(
                            new InputStreamReader(connection.getInputStream(), "UTF-8"))) {
                        String responseLine;
                        while ((responseLine = br.readLine()) != null) {
                            response.append(responseLine.trim());
                        }
                    }
    
                    // Uraikan respons JSON
                    JsonObject jsonResponse = JsonParser.parseString(response.toString()).getAsJsonObject();
                    JsonObject outputObj = jsonResponse.getAsJsonObject("output");
                    JsonObject previewAudioObj = outputObj.getAsJsonObject("preview_audio");
    
                    // Dapatkan nama suara
                    String voiceName = outputObj.get("voice").getAsString();
                    System.out.println("Nama suara: " + voiceName);
    
                    // Dapatkan data audio yang dikodekan Base64
                    String base64Audio = previewAudioObj.get("data").getAsString();
    
                    // Dekode data audio Base64
                    byte[] audioBytes = Base64.getDecoder().decode(base64Audio);
    
                    // Simpan audio ke file lokal
                    String filename = voiceName + "_preview.wav";
                    saveAudioToFile(audioBytes, filename);
    
                    System.out.println("Audio disimpan ke file lokal: " + filename);
    
                } else {
                    // Baca respons error
                    StringBuilder errorResponse = new StringBuilder();
                    try (BufferedReader br = new BufferedReader(
                            new InputStreamReader(connection.getErrorStream(), "UTF-8"))) {
                        String responseLine;
                        while ((responseLine = br.readLine()) != null) {
                            errorResponse.append(responseLine.trim());
                        }
                    }
    
                    System.out.println("Permintaan gagal dengan kode status: " + responseCode);
                    System.out.println("Respons error: " + errorResponse.toString());
                }
    
            } catch (Exception e) {
                System.err.println("Terjadi error selama permintaan: " + e.getMessage());
                e.printStackTrace();
            } finally {
                if (connection != null) {
                    connection.disconnect();
                }
            }
        }
    
        private void saveAudioToFile(byte[] audioBytes, String filename) {
            try {
                File file = new File(filename);
                try (FileOutputStream fos = new FileOutputStream(file)) {
                    fos.write(audioBytes);
                }
                System.out.println("Audio disimpan ke: " + file.getAbsolutePath());
            } catch (IOException e) {
                System.err.println("Terjadi error saat menyimpan file audio: " + e.getMessage());
                e.printStackTrace();
            }
        }
    }
  2. Gunakan suara kustom yang dibuat pada langkah sebelumnya untuk sintesis suara non-streaming.

    Contoh ini mengikuti contoh kode "keluaran non-streaming" untuk suara sistem di SDK DashScope. Ganti parameter voice dengan suara kustom yang dihasilkan dari desain suara. Untuk sintesis streaming unidireksional, lihat Sintesis suara - Qwen.

    Prinsip utama: Model yang digunakan untuk desain suara (target_model) harus sama dengan model yang digunakan untuk sintesis suara selanjutnya (model). Jika tidak, sintesis akan gagal.

    Python

    import os
    import dashscope
    
    
    if __name__ == '__main__':
        # Berikut adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
        dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
    
        text = "Cuaca hari ini seperti apa?"
        # Cara menggunakan SpeechSynthesizer: dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
        response = dashscope.MultiModalConversation.call(
            model="qwen3-tts-vd-2026-01-26",
            # Kunci API berbeda antara wilayah Singapura dan Beijing. Dapatkan Kunci API: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
            # Jika variabel lingkungan belum diatur, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx"
            api_key=os.getenv("DASHSCOPE_API_KEY"),
            text=text,
            voice="myvoice", # Ganti parameter voice dengan suara kustom yang dihasilkan dari desain suara
            stream=False
        )
        print(response)

    Java

    import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
    import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
    import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
    import com.alibaba.dashscope.exception.ApiException;
    import com.alibaba.dashscope.exception.NoApiKeyException;
    import com.alibaba.dashscope.exception.UploadFileException;
    
    import com.alibaba.dashscope.utils.Constants;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.net.URL;
    
    public class Main {
        private static final String MODEL = "qwen3-tts-vd-2026-01-26";
        public static void call() throws ApiException, NoApiKeyException, UploadFileException {
            MultiModalConversation conv = new MultiModalConversation();
            MultiModalConversationParam param = MultiModalConversationParam.builder()
                    // Kunci API berbeda antara wilayah Singapura dan Beijing. Dapatkan Kunci API: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
                    // Jika variabel lingkungan belum diatur, ganti baris berikut dengan Kunci API Model Studio Anda: .apiKey("sk-xxx")
                    .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                    .model(MODEL)
                    .text("Hari ini adalah hari yang indah untuk membangun sesuatu yang dicintai orang!")
                    .parameter("voice", "myvoice") // Ganti parameter voice dengan suara kustom yang dihasilkan dari desain suara
                    .build();
            MultiModalConversationResult result = conv.call(param);
            String audioUrl = result.getOutput().getAudio().getUrl();
            System.out.print(audioUrl);
    
            // Unduh file audio secara lokal
            try (InputStream in = new URL(audioUrl).openStream();
                 FileOutputStream out = new FileOutputStream("downloaded_audio.wav")) {
                byte[] buffer = new byte[1024];
                int bytesRead;
                while ((bytesRead = in.read(buffer)) != -1) {
                    out.write(buffer, 0, bytesRead);
                }
                System.out.println("\nFile audio diunduh secara lokal: downloaded_audio.wav");
            } catch (Exception e) {
                System.out.println("\nGagal mengunduh file audio: " + e.getMessage());
            }
        }
        public static void main(String[] args) {
            try {
                // Berikut adalah URL untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
                Constants.baseHttpApiUrl = "https://dashscope-intl.aliyuncs.com/api/v1";
                call();
            } catch (ApiException | NoApiKeyException | UploadFileException e) {
                System.out.println(e.getMessage());
            }
            System.exit(0);
        }
    }

Kontrol instruksi

Kontrol instruksi menyesuaikan ekspresivitas ucapan melalui deskripsi bahasa alami. Sesuaikan pitch, kecepatan, emosi, dan timbre tanpa perlu menyetel manual parameter audio.

Model yang didukung: Hanya seri Qwen3-TTS-Instruct-Flash.

Penggunaan: Atur parameter instructions, misalnya, "Berbicara dengan kecepatan relatif cepat dengan intonasi naik yang jelas, cocok untuk memperkenalkan produk fesyen."

Bahasa yang didukung: Teks instruksi hanya mendukung bahasa Tiongkok dan Inggris.

Batas panjang: Maksimal 1.600 token.

Skema penggunaan:

  • Dubbing audiobook dan drama radio

  • Dubbing iklan dan video promosi

  • Dubbing karakter game dan animasi

  • Asisten Suara Cerdas Emosional

  • Siaran berita dan dokumenter

Cara menulis deskripsi suara berkualitas tinggi:

  • Prinsip inti:

    1. Bersifat spesifik, bukan samar: Gunakan kata-kata yang menggambarkan karakteristik suara konkret, seperti "dalam," "jernih," atau "berkecepatan cepat." Hindari istilah subjektif dan tidak informatif seperti "bagus" atau "normal."

    2. Bersifat multidimensi, bukan satu dimensi: Deskripsi yang baik menggabungkan beberapa dimensi, seperti pitch, kecepatan, dan emosi. Deskripsi satu dimensi, seperti hanya "berpitch tinggi," terlalu luas untuk menghasilkan efek yang khas.

    3. Bersifat objektif, bukan subjektif: Fokus pada karakteristik fisik dan persepsi suara itu sendiri, bukan preferensi pribadi. Misalnya, gunakan "berpitch tinggi dan energetik" daripada "suara favorit saya."

    4. Bersifat orisinal, bukan meniru: Gambarkan karakteristik suara daripada meminta peniruan orang tertentu, seperti selebriti atau aktor. Permintaan semacam itu melibatkan risiko hak cipta dan tidak didukung.

    5. Bersifat ringkas, bukan berlebihan: Pastikan setiap kata memberikan makna. Hindari pengulangan sinonim atau penguat yang tidak berarti, seperti "suara yang sangat, sangat bagus."

  • Referensi dimensi: Gabungkan beberapa dimensi untuk ekspresi yang lebih kaya.

    Dimensi

    Contoh deskripsi

    Pitch

    Tinggi, sedang, rendah, berpitch tinggi, berpitch rendah

    Kecepatan

    Cepat, sedang, lambat, berkecepatan cepat, berkecepatan lambat

    Emosi

    Ceria, tenang, lembut, serius, hidup, tenang, menenangkan

    Karakteristik

    Magnetis, jernih, serak, merdu, manis, dalam, kuat

    Penggunaan

    Siaran berita, sulih suara iklan, audiobook, karakter animasi, asisten suara, narasi dokumenter

  • Contoh:

    • Gaya siaran standar: Artikulasi jelas dan tepat, pengucapan bulat sempurna.

    • Efek emosional progresif: Volume meningkat pesat dari percakapan normal hingga teriakan, dengan kepribadian langsung dan emosi ekspresif yang mudah terangsang.

    • Keadaan emosional khusus: Nada menangis menyebabkan pengucapan agak cadel dan serak, dengan ketegangan nyata dalam suara tangisan.

    • Gaya sulih suara iklan: Berpitch tinggi, kecepatan sedang, penuh energi dan daya tarik, cocok untuk sulih suara iklan.

    • Gaya lembut dan menenangkan: Berkecepatan lambat, dengan pitch lembut dan manis, serta nada hangat yang menenangkan, seperti teman yang peduli.

Referensi API

Referensi API Sintesis suara - Qwen

Referensi API kloning suara

Referensi API desain suara

Perbandingan fitur model

Fitur

Qwen3-TTS-Instruct-Flash

Qwen3-TTS-VD

Qwen3-TTS-VC

Qwen3-TTS-Flash

Qwen-TTS

Bahasa yang didukung

Bervariasi berdasarkan suara: Tiongkok (Mandarin), Inggris, Spanyol, Rusia, Italia, Prancis, Korea, Jepang, Jerman, Portugis

Tiongkok (Mandarin), Inggris, Spanyol, Rusia, Italia, Prancis, Korea, Jepang, Jerman, Portugis

Bervariasi berdasarkan suara: Tiongkok (Mandarin, Shanghainese, dialek Beijing, dialek Sichuan, dialek Nanjing, dialek Shaanxi, Min Selatan, dialek Tianjin), Kanton, Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

Bervariasi berdasarkan suara: Tiongkok (Mandarin, Shanghainese, dialek Beijing, dialek Sichuan), Inggris

Format audio

  • wav: untuk keluaran non-streaming

  • pcm: untuk keluaran streaming, dikodekan Base64

Laju sampel audio

24 kHz

Kloning suara

Tidak didukung

Didukung

Tidak didukung

Desain suara

Tidak

Didukung

Tidak

SSML

Tidak

LaTeX

Tidak

Kontrol volume

Didukung

Dapat disesuaikan melalui kontrol instruksi

Tidak didukung

Kontrol laju ucapan

Didukung

Dapat disesuaikan melalui kontrol instruksi

Tidak didukung

Kontrol pitch

Didukung

Dapat disesuaikan melalui kontrol instruksi

Tidak

Kontrol bitrate

Tidak

Timestamp

Tidak

Kontrol instruksi

Didukung

Tidak

Masukan streaming

Tidak didukung

Streaming Output

Didukung

Batas laju

Permintaan per menit (RPM): 180

RPM: 180

RPM: 180

RPM bervariasi berdasarkan model:

  • qwen3-tts-flash, qwen3-tts-flash-2025-11-27: 180

  • qwen3-tts-flash-2025-09-18: 10

RPM: 10

Token per menit (TPM), termasuk token input dan output: 100.000

Jenis koneksi

SDK Java/Python, API WebSocket

Harga

Internasional: $0,115/10.000 karakter

Tiongkok daratan: $0,115/10.000 karakter

Internasional: $0,115/10.000 karakter

Tiongkok daratan: $0,115/10.000 karakter

Internasional: $0,115/10.000 karakter

Tiongkok daratan: $0,115/10.000 karakter

Internasional: $0,1/10.000 karakter

Tiongkok daratan: $0,114682/10.000 karakter

Tiongkok daratan:

  • Biaya input: $0,230/1.000 token

  • Biaya output: $1,434/1.000 token

Konversi token: 1 detik audio setara dengan 50 token. Audio kurang dari 1 detik dihitung sebagai 50 token.

Suara sistem yang didukung

Suara yang didukung bervariasi berdasarkan model. Atur parameter permintaan voice ke nilai yang sesuai di kolom parameter suara pada daftar suara.

voice parameter

Detail

Bahasa yang didukung

Model yang didukung

Cherry

Nama suara: Cherry

Deskripsi: Wanita muda yang ceria, positif, ramah, dan alami (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

  • Qwen-TTS: qwen-tts, qwen-tts-2025-04-10, qwen-tts-latest, qwen-tts-2025-05-22

Serena

Nama suara: Serena

Deskripsi: Wanita muda yang lembut (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

  • Qwen-TTS: qwen-tts, qwen-tts-2025-04-10, qwen-tts-latest, qwen-tts-2025-05-22

Ethan

Nama suara: Ethan

Deskripsi: Mandarin standar dengan sedikit aksen utara. Ceria, hangat, energetik, dan bersemangat (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

  • Qwen-TTS: qwen-tts, qwen-tts-2025-04-10, qwen-tts-latest, qwen-tts-2025-05-22

Chelsie

Nama suara: Chelsie

Deskripsi: Pacar virtual bergaya dua dimensi (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

  • Qwen-TTS: qwen-tts, qwen-tts-2025-04-10, qwen-tts-latest, qwen-tts-2025-05-22

Momo

Nama suara: Momo

Deskripsi: Lincah dan nakal, menghibur Anda (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Vivian

Nama suara: Vivian

Deskripsi: Percaya diri, imut, dan sedikit galak (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Moon

Nama suara: Moon

Deskripsi: Pria tampan dan berani bernama Yuebai (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Maia

Nama suara: Maia

Deskripsi: Perpaduan kecerdasan dan kelembutan (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Kai

Nama suara: Kai

Deskripsi: Spa audio yang menenangkan untuk telinga Anda (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Nofish

Nama suara: Nofish

Deskripsi: Desainer yang tidak bisa mengucapkan bunyi retrofleks (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

Bella

Nama suara: Bella

Deskripsi: Gadis kecil yang minum tapi tidak pernah memukul saat mabuk (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Jennifer

Nama suara: Jennifer

Deskripsi: Suara perempuan Amerika berkualitas sinematik premium (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

Ryan

Nama suara: Ryan

Deskripsi: Penuh ritme, penuh gaya dramatis, menyeimbangkan keaslian dan ketegangan (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

Katerina

Nama suara: Katerina

Deskripsi: Suara wanita dewasa dengan ritme kaya dan mudah diingat (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

Aiden

Nama suara: Aiden

Deskripsi: Pemuda Amerika yang mahir memasak (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Eldric Sage

Nama suara: Eldric Sage

Deskripsi: Tetua yang tenang dan bijaksana—seperti pohon pinus yang teruji, namun pikirannya jernih seperti cermin (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Mia

Nama suara: Mia

Deskripsi: Lembut seperti air musim semi, patuh seperti salju segar (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Mochi

Nama suara: Mochi

Deskripsi: Pemuda cerdas dan tanggap—masih memiliki kepolosan anak-anak, namun kebijaksanaannya bersinar (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Bellona

Nama suara: Bellona

Deskripsi: Suara kuat dan jernih yang menghidupkan karakter—begitu menggugah hingga membuat darah Anda mendidih. Dengan kemegahan heroik dan diksi sempurna, suara ini menangkap seluruh spektrum ekspresi manusia.

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Vincent

Nama suara: Vincent

Deskripsi: Suara serak dan berasap yang unik—hanya satu kalimat sudah menggambarkan pasukan dan kisah heroik (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Bunny

Nama suara: Bunny

Deskripsi: Gadis kecil yang penuh "kelucuan" (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Neil

Nama suara: Neil

Deskripsi: Intonasi dasar datar dengan pengucapan tepat dan jelas—pembaca berita profesional (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Elias

Nama suara: Elias

Deskripsi: Mempertahankan kekakuan akademis sambil menggunakan teknik bercerita untuk mengubah pengetahuan kompleks menjadi modul pembelajaran yang mudah dicerna (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

Arthur

Nama suara: Arthur

Deskripsi: Suara sederhana dan alami yang dipenuhi waktu dan asap tembakau—perlahan membuka kisah desa dan hal-hal unik (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Nini

Nama suara: Nini

Deskripsi: Suara lembut dan manja seperti kue beras manis—panggilan "Kakak" yang ditarik panjang begitu manis hingga melelehkan tulang Anda (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Seren

Nama suara: Seren

Deskripsi: Suara lembut dan menenangkan untuk membantu Anda tertidur lebih cepat. Selamat malam, mimpi indah (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Pip

Nama suara: Pip

Deskripsi: Anak laki-laki lincah dan nakal penuh keajaiban anak-anak—apakah ini kenangan Anda tentang Shin-chan? (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Stella

Nama suara: Stella

Deskripsi: Biasanya suara remaja perempuan yang manis dan melamun—tetapi saat berteriak “Aku mewakili bulan untuk mengalahkanmu!”, ia langsung memancarkan cinta dan keadilan yang tak tergoyahkan (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Instruct-Flash: qwen3-tts-instruct-flash, qwen3-tts-instruct-flash-2026-01-26

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Bodega

Nama suara: Bodega

Deskripsi: Pria Spanyol yang penuh semangat (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Sonrisa

Nama suara: Sonisa

Deskripsi: Wanita Amerika Latin yang ceria dan terbuka (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Alek

Nama suara: Alek

Deskripsi: Dingin seperti roh Rusia, namun hangat seperti lapisan mantel wol (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Dolce

Nama suara: Dolce

Deskripsi: Pria Italia yang santai (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Sohee

Nama suara: Sohee

Deskripsi: Unnie Korea yang hangat, ceria, dan ekspresif secara emosional (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Ono Anna

Nama suara: Ono Anna

Deskripsi: Teman masa kecil yang cerdas dan bersemangat (perempuan)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Lenn

Nama suara: Lenn

Deskripsi: Rasional dalam hati, memberontak dalam detail—pemuda Jerman yang mengenakan setelan jas dan mendengarkan post-punk

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Emilien

Nama suara: Emilien

Deskripsi: Kakak laki-laki Prancis yang romantis (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Andre

Nama suara: Andre

Deskripsi: Suara laki-laki yang magnetis, alami, dan stabil

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Radio Gol

Nama suara: Radio Gol

Deskripsi: Penyair sepak bola Radio Gol! Hari ini saya akan berkomentar tentang sepak bola menggunakan nama saya (laki-laki)

Tiongkok (Mandarin), Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27

Jada

Nama suara: Shanghai - Jada

Deskripsi: Bibi Shanghai yang berbicara cepat dan energetik (perempuan)

Shanghainese, Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

  • Qwen-TTS: qwen-tts-latest, qwen-tts-2025-05-22

Dylan

Nama suara: Beijing - Dylan

Deskripsi: Pemuda yang dibesarkan di hutong Beijing (laki-laki)

Dialek Beijing, Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

  • Qwen-TTS: qwen-tts-latest, qwen-tts-2025-05-22

Li

Nama suara: Nanjing - Li

Deskripsi: Guru yoga yang sabar (laki-laki)

Dialek Nanjing, Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

Marcus

Nama suara: Shaanxi - Marcus

Deskripsi: Wajah lebar, sedikit bicara, hati tulus, suara dalam—rasa autentik Shaanxi (laki-laki)

Dialek Shaanxi, Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

Roy

Nama suara: Min Selatan - Roy

Deskripsi: Pria Taiwan yang humoris, langsung, dan hidup (laki-laki)

Min Selatan, Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

Peter

Nama suara: Tianjin - Peter

Deskripsi: Crosstalk ala Tianjin, lawan bicara profesional (laki-laki)

Dialek Tianjin, Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, dan qwen3-tts-flash-2025-09-18

Sunny

Nama suara: Sichuan - Sunny

Deskripsi: Gadis Sichuan yang manisnya melelehkan hati (perempuan)

Dialek Sichuan, Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

  • Qwen-TTS: qwen-tts-latest, qwen-tts-2025-05-22

Eric

Nama suara: Sichuan - Eric

Deskripsi: Pria Sichuan dari Chengdu yang menonjol dalam kehidupan sehari-hari (laki-laki)

Dialek Sichuan, Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, qwen3-tts-flash-2025-09-18

Rocky

Nama suara: Kanton - Rocky

Deskripsi: A Qiang yang humoris dan cerdas memberikan obrolan langsung (laki-laki)

Kanton, Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, dan qwen3-tts-flash-2025-09-18

Kiki

Nama suara: Kanton - Kiki

Deskripsi: Sahabat perempuan Hong Kong yang manis (perempuan)

Kanton, Inggris, Prancis, Jerman, Rusia, Italia, Spanyol, Portugis, Jepang, Korea

  • Qwen3-TTS-Flash: qwen3-tts-flash, qwen3-tts-flash-2025-11-27, dan qwen3-tts-flash-2025-09-18

FAQ

T: Berapa lama URL file audio berlaku?

J: URL file audio kedaluwarsa setelah 24 jam.