全部產品
Search
文件中心

Alibaba Cloud Model Studio:語音合成-千問

更新時間:Apr 02, 2026

語音合成-千問提供多種擬人音色,支援多語言及方言,並可在同一音色下輸出多語言內容。系統可自適應語氣,流暢處理複雜文本。

核心功能

  • 支援流式輸出,可以邊合成邊播放

  • 覆蓋多種語言,包含中文方言

  • 提供豐富音色,滿足情境需求

  • 提供聲音複刻聲音設計兩種音色定製方式

  • 支援指令控制,可通過自然語言指令控制語音表現力

適用範圍

支援的模型:

國際

服務部署範圍為國際時,資料存放區位於新加坡接入地區,模型推理計算資源在全球範圍內動態調度(不含中國內地)。

調用以下模型時,請選擇新加坡地區的API Key

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash(穩定版,當前等同qwen3-tts-instruct-flash-2026-01-26)、qwen3-tts-instruct-flash-2026-01-26(最新快照版)

  • 千問3-TTS-VDqwen3-tts-vd-2026-01-26(最新快照版)

  • 千問3-TTS-VCqwen3-tts-vc-2026-01-22(最新快照版)

  • 千問3-TTS-Flash:qwen3-tts-flash(穩定版,當前等同qwen3-tts-flash-2025-11-27)、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

中國內地

服務部署範圍為中國內地時,資料存放區位於北京接入地區,模型推理計算資源僅限於中國內地。

調用以下模型時,請選擇北京地區的API Key

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash(穩定版,當前等同qwen3-tts-instruct-flash-2026-01-26)、qwen3-tts-instruct-flash-2026-01-26(最新快照版)

  • 千問3-TTS-VDqwen3-tts-vd-2026-01-26(最新快照版)

  • 千問3-TTS-VCqwen3-tts-vc-2026-01-22(最新快照版)

  • 千問3-TTS-Flash:qwen3-tts-flash(穩定版,當前等同qwen3-tts-flash-2025-11-27)、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

  • 千問-TTS:qwen-tts(穩定版,當前等同qwen-tts-2025-04-10)、qwen-tts-latest(最新版,當前等同qwen-tts-2025-05-22)、qwen-tts-2025-05-22(快照版)、qwen-tts-2025-04-10(快照版)

更多資訊請參見模型列表

模型選型

情境

推薦模型

推薦理由

品牌形象、專屬聲音、擴充系統音色等語音定製(基於文本描述)

qwen3-tts-vd-2026-01-26

支援聲音設計,無需音頻樣本,通過文本描述建立定製化音色,適合從零開始設計品牌專屬聲音

品牌形象、專屬聲音、擴充系統音色等語音定製(基於音頻樣本)

qwen3-tts-vc-2026-01-22

支援聲音複刻,基於真實音頻樣本快速複刻音色,打造擬人化品牌聲紋,確保音色高度還原與一致性

情感化內容生產(有聲書、廣播劇、遊戲/動畫配音)

qwen3-tts-instruct-flash

支援指令控制,通過自然語言描述精確控制音調、語速、情感、角色性格,適合需要豐富表現力和角色塑造的情境

移動端導航/通知播報

qwen3-tts-flash

按字元計費簡單透明,適合短文本高頻調用情境

線上教育課件配音

qwen3-tts-flash

支援多語種與方言,滿足地區化教學需求

有聲讀物批量生產

qwen3-tts-flash

成本可控,多音色選擇豐富內容表現力

更多說明請參見模型功能特性對比

快速開始

準備工作

  • 配置 API Key配置API Key到環境變數

  • 如果通過 DashScope SDK 進行調用,需要安裝最新版SDK。DashScope Java SDK 版本需要不低於 2.21.9,DashScope Python SDK 版本需要不低於 1.24.6。

    說明

    DashScope Python SDK中的SpeechSynthesizer介面已統一為MultiModalConversation,使用新介面只需替換介面名稱即可,其他參數完全相容。

使用系統音色進行語音合成

以下樣本示範如何使用系統音色進行語音合成。

非流式輸出

通過返回的url來擷取合成的語音。URL 有效期間為24 小時。

Python

import os
import dashscope

# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

text = "Today is a wonderful day to build something people love!"
# SpeechSynthesizer介面使用方法:dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
response = dashscope.MultiModalConversation.call(
    # 如需使用指令控制功能,請將model替換為qwen3-tts-instruct-flash
    model="qwen3-tts-flash",
    # 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key = "sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    text=text,
    voice="Cherry",
    language_type="English", # 建議與文本語種一致,以獲得正確的發音和自然的語調。
    # 如需使用指令控制功能,請取消下方注釋,並將model替換為qwen3-tts-instruct-flash
    # instructions='語速較快,帶有明顯的上揚語調,適合介紹時尚產品。',
    # optimize_instructions=True,
    stream=False
)
print(response)

Java

需要匯入Gson依賴,若是使用Maven或者Gradle,添加依賴方式如下:

Maven

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

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 {
    // 如需使用指令控制功能,請將MODEL替換為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()
                // 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
                // 若沒有配置環境變數,請用百鍊API Key將下行替換為:.apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .model(MODEL)
                .text("Today is a wonderful day to build something people love!")
                .voice(AudioParameters.Voice.CHERRY)
                .languageType("English") // 建議與文本語種一致,以獲得正確的發音和自然的語調。
                // 如需使用指令控制功能,請取消下方注釋,並將model替換為qwen3-tts-instruct-flash
                // .parameter("instructions","語速較快,帶有明顯的上揚語調,適合介紹時尚產品。")
                // .parameter("optimize_instructions",true)
                .build();
        MultiModalConversationResult result = conv.call(param);
        String audioUrl = result.getOutput().getAudio().getUrl();
        System.out.print(audioUrl);

        // 下載音頻檔案到本地
        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("\n音頻檔案已下載到本地: downloaded_audio.wav");
        } catch (Exception e) {
            System.out.println("\n下載音頻檔案時出錯: " + e.getMessage());
        }
    }
    public static void main(String[] args) {
        // 以下為新加坡地區url,若使用北京地區的模型,需將url替換為: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

# ======= 重要提示 =======
# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
# 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# === 執行時請刪除該注釋 ===

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": "Today is a wonderful day to build something people love!",
        "voice": "Cherry",
        "language_type": "English"
    }
}'

流式輸出

可以流式地將音頻資料以 Base64 格式進行輸出,此時最後一個資料包中包含完整音訊 URL。

Python

# coding=utf-8
#
# Installation instructions for 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

# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

p = pyaudio.PyAudio()
# 建立音頻流
stream = p.open(format=pyaudio.paInt16,
                channels=1,
                rate=24000,
                output=True)


text = "Today is a wonderful day to build something people love!"
response = dashscope.MultiModalConversation.call(
    # 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key = "sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 如需使用指令控制功能,請將model替換為qwen3-tts-instruct-flash
    model="qwen3-tts-flash",
    text=text,
    voice="Cherry",
    language_type="English", # 建議與文本語種一致,以獲得正確的發音和自然的語調。
    # 如需使用指令控制功能,請取消下方注釋,並將model替換為qwen3-tts-instruct-flash
    # instructions='語速較快,帶有明顯的上揚語調,適合介紹時尚產品。',
    # 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)
          # 直接播放音頻資料
          stream.write(audio_np.tobytes())
      if chunk.output.finish_reason == "stop":
          print("finish at: {} ", chunk.output.audio.expires_at)
time.sleep(0.8)
# 清理資源
stream.stop_stream()
stream.close()
p.terminate()

Java

需要匯入Gson依賴,若是使用Maven或者Gradle,添加依賴方式如下:

Maven

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

build.gradle中添加如下內容:

// https://mvnrepository.com/artifact/com.google.code.gson/gson
implementation("com.google.code.gson:gson:2.13.1")
// 請安裝 DashScope SDK 的最新版本
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 {
    // 如需使用指令控制功能,請將MODEL替換為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()
                // 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
                // 若沒有配置環境變數,請用百鍊API Key將下行替換為:.apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .model(MODEL)
                .text("Today is a wonderful day to build something people love!")
                .voice(AudioParameters.Voice.CHERRY)
                .languageType("English") // 建議與文本語種一致,以獲得正確的發音和自然的語調。
                // 如需使用指令控制功能,請取消下方注釋,並將model替換為qwen3-tts-instruct-flash
                // .parameter("instructions","語速較快,帶有明顯的上揚語調,適合介紹時尚產品。")
                // .parameter("optimize_instructions",true)
                .build();
        Flowable<MultiModalConversationResult> result = conv.streamCall(param);
        result.blockingForEach(r -> {
            try {
                // 1. 擷取Base64編碼的音頻資料
                String base64Data = r.getOutput().getAudio().getData();
                byte[] audioBytes = Base64.getDecoder().decode(base64Data);

                // 2. 配置音頻格式(根據API返回的音頻格式調整)
                AudioFormat format = new AudioFormat(
                        AudioFormat.Encoding.PCM_SIGNED,
                        24000, // 採樣率(需與API返回格式一致)
                        16,    // 採樣位元
                        1,     // 聲道數
                        2,     // 幀大小(位元/位元組數)
                        24000, // 資料轉送率(需與採樣率一致)
                        false  // 是否壓縮
                );

                // 3. 即時播放音頻資料
                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) {
        // 以下為新加坡地區url,若使用北京地區的模型,需將url替換為: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

# ======= 重要提示 =======
# 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
# 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# === 執行時請刪除該注釋 ===

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": "Today is a wonderful day to build something people love!",
        "voice": "Cherry",
        "language_type": "Chinese"
    }
}'

使用聲音複刻音色進行語音合成

聲音複刻服務不提供預覽音頻。需將複刻產生的音色應用於語音合成後,才能試聽並評估效果。

以下樣本示範了如何在語音合成中使用聲音複刻產生的專屬音色,實現與原音高度相似的輸出效果。這裡參考了使用系統音色進行語音合成DashScope SDK的“非流式輸出”範例程式碼,將voice參數替換為複刻產生的專屬音色進行語音合成。

  • 關鍵原則:聲音複刻時使用的模型 (target_model) 必須與後續進行語音合成時使用的模型 (model) 保持一致,否則會導致合成失敗。

  • 樣本使用本地音頻檔案 voice.mp3 進行聲音複刻,運行代碼時,請注意替換。

Python

import os
import requests
import base64
import pathlib
import dashscope

# ======= 常量配置 =======
DEFAULT_TARGET_MODEL = "qwen3-tts-vc-2026-01-22"  # 聲音複刻、語音合成要使用相同的模型
DEFAULT_PREFERRED_NAME = "guanyu"
DEFAULT_AUDIO_MIME_TYPE = "audio/mpeg"
VOICE_FILE_PATH = "voice.mp3"  # 用於聲音複刻的本地音頻檔案的相對路徑


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:
    """
    建立音色,並返回 voice 參數
    """
    # 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    # 若沒有配置環境變數,請用百鍊API Key將下行替換為: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_path}")

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

    # 以下為新加坡地區url,若使用北京地區的模型,需將url替換為: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", # 不要修改該值
        "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"建立 voice 失敗: {resp.status_code}, {resp.text}")

    try:
        return resp.json()["output"]["voice"]
    except (KeyError, ValueError) as e:
        raise RuntimeError(f"解析 voice 響應失敗: {e}")


if __name__ == '__main__':
    # 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1
    dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

    text = "今天天氣怎麼樣?"
    # SpeechSynthesizer介面使用方法:dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
    response = dashscope.MultiModalConversation.call(
        model=DEFAULT_TARGET_MODEL,
        # 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key = "sk-xxx"
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        text=text,
        voice=create_voice(VOICE_FILE_PATH), # 將voice參數替換為複刻產生的專屬音色
        stream=False
    )
    print(response)

Java

需要匯入Gson依賴,若是使用Maven或者Gradle,添加依賴方式如下:

Maven

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

build.gradle中添加如下內容:

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

使用聲音複刻產生的專屬音色進行語音合成時,必須按照如下方式設定音色:

MultiModalConversationParam param = MultiModalConversationParam.builder()
                .parameter("voice", "your_voice") // 將voice參數替換為複刻產生的專屬音色
                .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 {
    // ===== 常量定義 =====
    // 聲音複刻、語音合成要使用相同的模型
    private static final String TARGET_MODEL = "qwen3-tts-vc-2026-01-22";
    private static final String PREFERRED_NAME = "guanyu";
    // 用於聲音複刻的本地音頻檔案的相對路徑
    private static final String AUDIO_FILE = "voice.mp3";
    private static final String AUDIO_MIME_TYPE = "audio/mpeg";

    // 產生 data URI
    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;
    }

    // 調用 API 建立 voice
    public static String createVoice() throws Exception {
        // 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        // 若沒有配置環境變數,請用百鍊API Key將下行替換為:String apiKey = "sk-xxx"
        String apiKey = System.getenv("DASHSCOPE_API_KEY");

        String jsonPayload =
                "{"
                        + "\"model\": \"qwen-voice-enrollment\"," // 不要修改該值
                        + "\"input\": {"
                        +     "\"action\": \"create\","
                        +     "\"target_model\": \"" + TARGET_MODEL + "\","
                        +     "\"preferred_name\": \"" + PREFERRED_NAME + "\","
                        +     "\"audio\": {"
                        +         "\"data\": \"" + toDataUrl(AUDIO_FILE) + "\""
                        +     "}"
                        + "}"
                        + "}";

        // 以下為新加坡地區url,若使用北京地區的模型,需將url替換為: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("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("返回內容: " + response);

            if (status == 200) {
                JsonObject jsonObj = new Gson().fromJson(response.toString(), JsonObject.class);
                return jsonObj.getAsJsonObject("output").get("voice").getAsString();
            }
            throw new IOException("建立語音失敗: " + status + " - " + response);
        }
    }

    public static void call() throws Exception {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
                // 若沒有配置環境變數,請用百鍊API Key將下行替換為:.apikey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .model(TARGET_MODEL)
                .text("今天天氣怎麼樣?")
                .parameter("voice", createVoice()) // 將voice參數替換為複刻產生的專屬音色
                .build();
        MultiModalConversationResult result = conv.call(param);
        String audioUrl = result.getOutput().getAudio().getUrl();
        System.out.print(audioUrl);

        // 下載音頻檔案到本地
        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("\n音頻檔案已下載到本地: downloaded_audio.wav");
        } catch (Exception e) {
            System.out.println("\n下載音頻檔案時出錯: " + e.getMessage());
        }
    }
    public static void main(String[] args) {
        try {
            // 以下為新加坡地區url,若使用北京地區的模型,需將url替換為: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);
    }
}

使用聲音設計音色進行語音合成

使用聲音設計功能時,服務會返回預覽音頻資料。建議先試聽該預覽音頻,確認效果符合預期後再用於語音合成,降低調用成本。

  1. 產生專屬音色並試聽效果,若對效果滿意,進行下一步;否則重建。

    Python

    import requests
    import base64
    import os
    
    def create_voice_and_play():
        # 新加坡和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key = "sk-xxx"
        api_key = os.getenv("DASHSCOPE_API_KEY")
        
        if not api_key:
            print("錯誤: 未找到DASHSCOPE_API_KEY環境變數,請先設定API Key")
            return None, None, None
        
        # 準備請求資料
        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"
            }
        }
        
        # 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization
        url = "https://dashscope-intl.aliyuncs.com/api/v1/services/audio/tts/customization"
        
        try:
            # 發送請求
            response = requests.post(
                url,
                headers=headers,
                json=data,
                timeout=60  # 添加逾時設定
            )
            
            if response.status_code == 200:
                result = response.json()
                
                # 擷取音色名稱
                voice_name = result["output"]["voice"]
                print(f"音色名稱: {voice_name}")
                
                # 擷取預覽音頻資料
                base64_audio = result["output"]["preview_audio"]["data"]
                
                # 解碼Base64音頻資料
                audio_bytes = base64.b64decode(base64_audio)
                
                # 儲存音頻檔案到本地
                filename = f"{voice_name}_preview.wav"
                
                # 將音頻資料寫入本地檔案
                with open(filename, 'wb') as f:
                    f.write(audio_bytes)
                
                print(f"音頻已儲存到本地檔案: {filename}")
                print(f"檔案路徑: {os.path.abspath(filename)}")
                
                return voice_name, audio_bytes, filename
            else:
                print(f"請求失敗,狀態代碼: {response.status_code}")
                print(f"響應內容: {response.text}")
                return None, None, None
                
        except requests.exceptions.RequestException as e:
            print(f"網路請求發生錯誤: {e}")
            return None, None, None
        except KeyError as e:
            print(f"響應資料格式錯誤,缺少必要的欄位: {e}")
            print(f"響應內容: {response.text if 'response' in locals() else 'No response'}")
            return None, None, None
        except Exception as e:
            print(f"發生未知錯誤: {e}")
            return None, None, None
    
    if __name__ == "__main__":
        print("開始建立語音...")
        voice_name, audio_data, saved_filename = create_voice_and_play()
        
        if voice_name:
            print(f"\n成功建立音色 '{voice_name}'")
            print(f"音頻檔案已儲存: '{saved_filename}'")
            print(f"檔案大小: {os.path.getsize(saved_filename)} 位元組")
        else:
            print("\n音色建立失敗")

    Java

    需要匯入Gson依賴,若是使用Maven或者Gradle,添加依賴方式如下:

    Maven

    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

    build.gradle中添加如下內容:

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

    使用聲音設計產生的專屬音色進行語音合成時,必須按照如下方式設定音色:

    MultiModalConversationParam param = MultiModalConversationParam.builder()
                    .parameter("voice", "your_voice") // 將voice參數替換為聲音設計產生的專屬音色
                    .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() {
            // 新加坡和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
            // 若沒有配置環境變數,請用百鍊API Key將下行替換為:String apiKey = "sk-xxx"
            String apiKey = System.getenv("DASHSCOPE_API_KEY");
    
            // 建立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 {
                // 以下為新加坡地區url,若使用北京地區的模型,需將url替換為: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();
    
                // 佈建要求方法和頭部
                connection.setRequestMethod("POST");
                connection.setRequestProperty("Authorization", "Bearer " + apiKey);
                connection.setRequestProperty("Content-Type", "application/json");
                connection.setDoOutput(true);
                connection.setDoInput(true);
    
                // 發送請求體
                try (OutputStream os = connection.getOutputStream()) {
                    byte[] input = jsonBody.getBytes("UTF-8");
                    os.write(input, 0, input.length);
                    os.flush();
                }
    
                // 擷取響應
                int responseCode = connection.getResponseCode();
                if (responseCode == HttpURLConnection.HTTP_OK) {
                    // 讀取響應內容
                    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());
                        }
                    }
    
                    // 解析JSON響應
                    JsonObject jsonResponse = JsonParser.parseString(response.toString()).getAsJsonObject();
                    JsonObject outputObj = jsonResponse.getAsJsonObject("output");
                    JsonObject previewAudioObj = outputObj.getAsJsonObject("preview_audio");
    
                    // 擷取音色名稱
                    String voiceName = outputObj.get("voice").getAsString();
                    System.out.println("音色名稱: " + voiceName);
    
                    // 擷取Base64編碼的音頻資料
                    String base64Audio = previewAudioObj.get("data").getAsString();
    
                    // 解碼Base64音頻資料
                    byte[] audioBytes = Base64.getDecoder().decode(base64Audio);
    
                    // 儲存音頻到本地檔案
                    String filename = voiceName + "_preview.wav";
                    saveAudioToFile(audioBytes, filename);
    
                    System.out.println("音頻已儲存到本地檔案: " + filename);
    
                } else {
                    // 讀取錯誤響應
                    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("請求失敗,狀態代碼: " + responseCode);
                    System.out.println("錯誤響應: " + errorResponse.toString());
                }
    
            } catch (Exception e) {
                System.err.println("請求發生錯誤: " + 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("音頻已儲存到: " + file.getAbsolutePath());
            } catch (IOException e) {
                System.err.println("儲存音頻檔案時發生錯誤: " + e.getMessage());
                e.printStackTrace();
            }
        }
    }
  2. 使用上一步產生的專屬音色進行語音合成(非流式合成)。

    這裡參考了使用系統音色進行語音合成DashScope SDK的“非流式輸出”範例程式碼,將voice參數替換為聲音設計產生的專屬音色進行語音合成。單向流式合成請參見語音合成-千問

    關鍵原則:聲音設計時使用的模型 (target_model) 必須與後續進行語音合成時使用的模型 (model) 保持一致,否則會導致合成失敗。

    Python

    import os
    import dashscope
    
    
    if __name__ == '__main__':
        # 以下為新加坡地區url,若使用北京地區的模型,需將url替換為:https://dashscope.aliyuncs.com/api/v1
        dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
    
        text = "今天天氣怎麼樣?"
        # SpeechSynthesizer介面使用方法:dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
        response = dashscope.MultiModalConversation.call(
            model="qwen3-tts-vd-2026-01-26",
            # 新加坡和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
            # 若沒有配置環境變數,請用百鍊API Key將下行替換為:api_key = "sk-xxx"
            api_key=os.getenv("DASHSCOPE_API_KEY"),
            text=text,
            voice="myvoice", # 將voice參數替換為聲音設計產生的專屬音色
            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()
                    // 新加坡地區和北京地區的API Key不同。擷取API Key:https://www.alibabacloud.com/help/zh/model-studio/get-api-key
                    // 若沒有配置環境變數,請用百鍊API Key將下行替換為:.apiKey("sk-xxx")
                    .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                    .model(MODEL)
                    .text("Today is a wonderful day to build something people love!")
                    .parameter("voice", "myvoice") // 將voice參數替換為聲音設計產生的專屬音色
                    .build();
            MultiModalConversationResult result = conv.call(param);
            String audioUrl = result.getOutput().getAudio().getUrl();
            System.out.print(audioUrl);
    
            // 下載音頻檔案到本地
            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("\n音頻檔案已下載到本地: downloaded_audio.wav");
            } catch (Exception e) {
                System.out.println("\n下載音頻檔案時出錯: " + e.getMessage());
            }
        }
        public static void main(String[] args) {
            try {
                // 以下為新加坡地區url,若使用北京地區的模型,需將url替換為: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);
        }
    }

指令控制

指令控制是一項進階語音合成功能,通過自然語言描述的方式精確控制語音的表達效果。您可以使用簡單的文字描述,讓合成語音呈現出特定的音調、語速、情感、音色特點,無需調整複雜的音頻參數。

支援的模型:僅支援千問3-TTS-Instruct-Flash系列模型。

使用方式:通過instructions參數指定指令內容,例如“語速較快,帶有明顯的上揚語調,適合介紹時尚產品”。

支援語言:描述文本僅支援中文和英文。

長度限制:長度不得超過 1600 Token。

適用情境

  • 有聲書和廣播劇配音

  • 廣告和宣傳片配音

  • 遊戲角色和動畫配音

  • 情感化的智能語音助手

  • 紀錄片和新聞播報

如何編寫高品質的聲音描述:

  • 核心原則:

    1. 具體而非模糊:使用能夠描繪具體聲音特質的詞語,如“低沉”、“清脆”、“語速偏快”。避免使用“好聽”、“普通”等主觀且缺乏資訊量的詞彙。

    2. 多維而非單一:優秀的描述通常結合多個維度(如下文所述的音調、語速、情感等)。單一維度描述(如僅“高音”)過於寬泛,難以產生特色鮮明的效果。

    3. 客觀而非主觀:專註於聲音本身的物理和感知特徵,而不是個人的喜好。例如,用“音調偏高,帶有活力”代替“我最喜歡的聲音”。

    4. 原創而非模仿:請描述聲音的特質,而不是要求模仿特定人物(如名人、演員)。此類請求涉及著作權風險且模型不支援直接模仿。

    5. 簡潔而非冗餘:確保每個詞都有其意義。避免重複使用同義字或無意義的強調詞(如“非常非常棒的聲音”)。

  • 描述維度參考:可以組合多個維度,創造更豐富的表達效果。

    維度

    描述樣本

    音調

    高音、中音、低音、偏高、偏低

    語速

    快速、中速、緩慢、偏快、偏慢

    情感

    開朗、沉穩、溫柔、嚴肅、活潑、冷靜、治癒

    特點

    有磁性、清脆、沙啞、圓潤、甜美、渾厚、有力

    用途

    新聞播報、廣告配音、有聲書、動畫角色、語音助手、紀錄片解說

  • 樣本:

    • 標準播音風格:吐字清晰精準,字正腔圓

    • 情緒遞進效果:音量由正常對話迅速增強至高喊,性格直率,情緒易激動且外露

    • 特殊情感狀態:哭腔導致發音略微含糊,略顯沙啞,帶有明顯哭腔的緊張感

    • 廣告配音風格:音調偏高,語速中等,充滿活力和感染力,適合廣告配音

    • 溫柔治癒風格:語速偏慢,音調溫柔甜美,語氣治癒溫暖,像貼心朋友般關懷

API 參考

語音合成-千問API參考

聲音複刻-API參考

聲音設計-API參考

模型功能特性對比

功能/特性

千問3-TTS-Instruct-Flash

千問3-TTS-VD

千問3-TTS-VC

千問3-TTS-Flash

千問-TTS

支援語言

音色而異:中文(普通話)、英文、西班牙語、俄語、意大利語、法語、韓語、日語、德語、葡萄牙語

中文(普通話)、英文、西班牙語、俄語、意大利語、法語、韓語、日語、德語、葡萄牙語

音色而異:中文(普通話、上海話、北京話、四川話、南京話、陝西話、閩南語、天津話)、粵語、英文、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

音色而異:中文(普通話、上海話、北京話、四川話)、英文

音頻格式

  • wav:非流式輸出時

  • pcm:流式輸出時,Base64編碼

音頻採樣率

24kHz

聲音複刻

不支援

支援

不支援

聲音設計

不支援

支援

不支援

SSML

不支援

LaTeX

不支援

音量大小

支援

可通過指令控制調節

不支援

語速調節

支援

可通過指令控制調節

不支援

語調(音高)調節

支援

可通過指令控制調節

不支援

碼率調節

不支援

時間戳記

不支援

指令控制(Instruct)

支援

不支援

流式輸入

不支援

流式輸出

支援

限流

每分鐘調用次數(RPM):180

每分鐘調用次數(RPM):180

每分鐘調用次數(RPM):180

每分鐘調用次數(RPM)因模型而異:

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

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

每分鐘調用次數(RPM):10

每分鐘消耗Token數(TPM,含輸入與輸出Token):100,000

接入方式

Java/Python SDK、WebSocket API

價格

國際:$0.115/萬字元

中國內地:$0.115/萬字元

國際:$0.115/萬字元

中國內地:$0.115/萬字元

國際:$0.115/萬字元

中國內地:$0.115/萬字元

國際:$0.1/萬字元

中國內地:$0.114682/萬字元

中國內地:

  • 輸入成本:$0.230/千Token

  • 輸出成本:$1.434/千Token

音頻轉換為 Token 的規則:每1秒的音頻對應 50個 Token ;若音頻時間長度不足1秒,則按 50個 Token 計算

支援的系統音色

不同模型支援的音色有所差異,使用時將請求參數voice設定為音色列表中voice參數列對應的值。

voice參數

詳情

支援語種

支援模型

Cherry

音色名:芊悅

描述:陽光積極、親切自然小姐姐(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

  • 千問-TTS:qwen-tts、qwen-tts-2025-04-10、qwen-tts-latest、qwen-tts-2025-05-22

Serena

音色名:蘇瑤

描述:溫柔小姐姐(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

  • 千問-TTS:qwen-tts、qwen-tts-2025-04-10、qwen-tts-latest、qwen-tts-2025-05-22

Ethan

音色名:晨煦

描述:標準普通話,帶部分北方口音。陽光、溫暖、活力、朝氣(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

  • 千問-TTS:qwen-tts、qwen-tts-2025-04-10、qwen-tts-latest、qwen-tts-2025-05-22

Chelsie

音色名:千雪

描述:二次元虛擬女友(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

  • 千問-TTS:qwen-tts、qwen-tts-2025-04-10、qwen-tts-latest、qwen-tts-2025-05-22

Momo

音色名:茉兔

描述:撒嬌搞怪,逗你開心(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Vivian

音色名:十三

描述:拽拽的、可愛的小暴躁(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Moon

音色名:月白

描述:率性帥氣的月白(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Maia

音色名:四月

描述:知性與溫柔的碰撞(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Kai

音色名:凱

描述:耳朵的一場SPA(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Nofish

音色名:不吃魚

描述:不會翹舌音的設計師(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

Bella

音色名:萌寶

描述:喝酒不打醉拳的小蘿莉(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Jennifer

音色名:詹妮弗

描述:品牌級、電影質感般美語女聲(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

Ryan

音色名:甜茶

描述:節奏拉滿,戲感炸裂,真實與張力共舞(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

Katerina

音色名:卡捷琳娜

描述:禦姐音色,韻律回味十足(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

Aiden

音色名:艾登

描述:精通廚藝的美語大男孩(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Eldric Sage

音色名:滄明子

描述:沉穩睿智的老者,滄桑如松卻心明如鏡(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Mia

音色名:乖小妹

描述:溫順如春水,乖巧如初雪(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Mochi

音色名:沙小彌

描述:聰明伶俐的小大人,童真未泯卻早慧如禪(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Bellona

音色名:燕錚鶯

描述:聲音洪亮,吐字清晰,人物鮮活,聽得人熱血沸騰;金戈鐵馬入夢來,字正腔圓間盡顯千面人聲的江湖(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Vincent

音色名:田叔

描述:一口獨特的沙啞煙嗓,一開口便道盡了千軍萬馬與江湖豪情(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Bunny

音色名:萌小姬

描述:“萌屬性”爆棚的小蘿莉(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Neil

音色名:阿聞

描述:平直的基準語調,字正腔圓的咬字發音,這就是最專業的新聞主持人(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Elias

音色名:墨講師

描述:既保持學科嚴謹性,又通過敘事技巧將複雜知識轉化為可消化的認知模組(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

Arthur

音色名:徐大爺

描述:被歲月和旱煙浸泡過的質樸嗓音,不疾不徐地搖開了滿村的奇聞異事(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Nini

音色名:鄰家妹妹

描述:糯米糍一樣又軟又黏的嗓音,那一聲聲拉長了的“哥哥”,甜得能把人的骨頭都叫酥了(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Seren

音色名:小婉

描述:溫和舒緩的聲線,助你更快地進入睡眠,晚安,好夢(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Pip

音色名:頑屁小孩

描述:調皮搗蛋卻充滿童真的他來了,這是你記憶中的小新嗎(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Stella

音色名:少女阿月

描述:平時是甜到發膩的迷糊少女音,但在喊出“代表月亮消滅你”時,瞬間充滿不容置疑的愛與正義(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Instruct-Flash:qwen3-tts-instruct-flash、qwen3-tts-instruct-flash-2026-01-26

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Bodega

音色名:博德加

描述:熱情的西班牙大叔(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Sonrisa

音色名:索尼莎

描述:熱情開朗的拉美大姐(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Alek

音色名:阿列克

描述:一開口,是戰鬥民族的冷,也是毛呢大衣下的暖(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Dolce

音色名:多爾切

描述:慵懶的意大利大叔(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Sohee

音色名:素熙

描述:溫柔開朗,情緒豐富的韓國歐尼(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Ono Anna

音色名:小野杏

描述:鬼靈精怪的青梅竹馬(女性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Lenn

音色名:萊恩

描述:理性是底色,叛逆藏在細節裡——穿西裝也聽後龐克的德國青年(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Emilien

音色名:埃米爾安

描述:浪漫的法國大哥哥(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Andre

音色名:安德雷

描述:聲音磁性,自然舒服、沉穩男生(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Radio Gol

音色名:拉迪奧·戈爾

描述:足球詩人Rádio Gol!今天我要用名字為你們解說足球(男性)

中文(普通話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27

Jada

音色名:上海-阿珍

描述:風風火火的滬上阿姐(女性)

中文(上海話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

  • 千問-TTS:qwen-tts-latest、qwen-tts-2025-05-22

Dylan

音色名:北京-曉東

描述:北京胡同裡長大的少年(男性)

中文(北京話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

  • 千問-TTS:qwen-tts-latest、qwen-tts-2025-05-22

Li

音色名:南京-老李

描述:耐心的瑜伽老師(男性)

中文(南京話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

Marcus

音色名:陝西-秦川

描述:面寬話短,心實聲沉——老陝的味道(男性)

中文(陝西話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

Roy

音色名:閩南-阿傑

描述:詼諧直爽、市井活潑的台灣哥仔形象(男性)

中文(閩南語)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

Peter

音色名:天津-李彼得

描述:天津相聲,專業捧哏(男性)

中文(天津話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

Sunny

音色名:四川-晴兒

描述:甜到你心裡的川妹子(女性)

中文(四川話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

  • 千問-TTS:qwen-tts-latest、qwen-tts-2025-05-22

Eric

音色名:四川-程川

描述:一個跳脫市井的四川成都男子(男性)

中文(四川話)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

Rocky

音色名:粵語-阿強

描述:幽默風趣的阿強,線上陪聊(男性)

中文(粵語)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

Kiki

音色名:粵語-阿清

描述:甜美的港妹閨蜜(女性)

中文(粵語)、英語、法語、德語、俄語、意大利語、西班牙語、葡萄牙語、日語、韓語

  • 千問3-TTS-Flash:qwen3-tts-flash、qwen3-tts-flash-2025-11-27、qwen3-tts-flash-2025-09-18

常見問題

Q:音頻檔案連結的有效期間是多久?

A:24小時後音頻檔案連結將失效。