全部產品
Search
文件中心

Alibaba Cloud Model Studio:語音合成(Qwen-TTS)

更新時間:Dec 20, 2025

本文為您介紹語音合成-通義千問模型的輸入與輸出參數。

模型的使用方法請參見語音合成-通義千問

請求體

非流式輸出

Python

DashScope Python SDK中的SpeechSynthesizer介面已統一為MultiModalConversation,使用方法和參數保持完全一致。
# 請安裝 DashScope SDK 的最新版本
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 = "那我來給大家推薦一款T恤,這款呢真的是超級好看,這個顏色呢很顯氣質,而且呢也是搭配的絕佳單品,大家可以閉眼入,真的是非常好看,對身材的包容性也很好,不管啥身材的寶寶呢,穿上去都是很好看的。推薦寶寶們下單哦。"
# SpeechSynthesizer介面使用方法:dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
response = dashscope.MultiModalConversation.call(
    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="Chinese"
)
print(response)

Java

// 請安裝 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.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;

public class Main {

    private static final String MODEL = "qwen3-tts-flash";
    public static void call() throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                .model(MODEL)
                // 新加坡和北京地區的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"))
                .text("Today is a wonderful day to build something people love!")
                .voice(AudioParameters.Voice.CHERRY)
                .languageType("English")
                .build();
        MultiModalConversationResult result = conv.call(param);
        System.out.println(JsonUtils.toJson(result));
    }
    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
# 若沒有配置環境變數,請用阿里雲百鍊API Key將$DASHSCOPE_API_KEY替換為:sk-xxx。
# === 執行時請刪除該注釋 ===

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": "那我來給大家推薦一款T恤,這款呢真的是超級好看,這個顏色呢很顯氣質,而且呢也是搭配的絕佳單品,大家可以閉眼入,真的是非常好看,對身材的包容性也很好,不管啥身材的寶寶呢,穿上去都是很好看的。推薦寶寶們下單哦。",
        "voice": "Cherry",
        "language_type": "Chinese"
    }
}'

流式輸出

Python

DashScope Python SDK中的SpeechSynthesizer介面已統一為MultiModalConversation,使用新介面只需替換名稱即可,其他參數完全相容。
# DashScope SDK 版本不低於 1.24.5
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 = "那我來給大家推薦一款T恤,這款呢真的是超級好看,這個顏色呢很顯氣質,而且呢也是搭配的絕佳單品,大家可以閉眼入,真的是非常好看,對身材的包容性也很好,不管啥身材的寶寶呢,穿上去都是很好看的。推薦寶寶們下單哦。"
# SpeechSynthesizer介面使用方法:dashscope.audio.qwen_tts.SpeechSynthesizer.call(...)
response = dashscope.MultiModalConversation.call(
    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="Chinese",
    stream=True
)
for chunk in response:
    print(chunk)

Java

// DashScope SDK 版本需要不低於 2.19.0
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.utils.JsonUtils;
import io.reactivex.Flowable;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    private static final String MODEL = "qwen3-tts-flash";
    public static void streamCall() throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                .model(MODEL)
                // 新加坡和北京地區的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"))
                .text("Today is a wonderful day to build something people love!")
                .voice(AudioParameters.Voice.CHERRY)
                .languageType("English")
                .build();
        Flowable<MultiModalConversationResult> result = conv.streamCall(param);
        result.blockingForEach(r -> {System.out.println(JsonUtils.toJson(r));
        });
    }
    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
# 若沒有配置環境變數,請用阿里雲百鍊API Key將$DASHSCOPE_API_KEY替換為:sk-xxx。
# === 執行時請刪除該注釋 ===

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": "那我來給大家推薦一款T恤,這款呢真的是超級好看,這個顏色呢很顯氣質,而且呢也是搭配的絕佳單品,大家可以閉眼入,真的是非常好看,對身材的包容性也很好,不管啥身材的寶寶呢,穿上去都是很好看的。推薦寶寶們下單哦。",
        "voice": "Cherry",
        "language_type": "Chinese"
    }
}'
即時播放Base64 音訊方法請參見:即時播放

model string (必選)

模型名稱,支援的模型請參見語音合成-通義千問

text string (必選)

要合成的文本,支援中文、英文、中英混合輸入。通義千問-TTS模型最長輸入為512 Token。通義千問3-TTS-Flash模型最長輸入為600字元。

voice string (必選)

使用的音色,參見支援的音色

language_type string (可選)

指定合成音訊語種,預設為 Auto

  • Auto:適用無法確定文本的語種或文本包含多種語言的情境,模型會自動為文本中的不同語言片段匹配各自的發音,但無法保證發音完全精準。

  • 指定語種:適用於文本為單一語種的情境,此時指定為具體語種,能顯著提升合成品質,效果通常優於 Auto。可選值包括:

    • Chinese

    • English

    • German

    • Italian

    • Portuguese

    • Spanish

    • Japanese

    • Korean

    • French

    • Russian

stream boolean (可選)預設值為 false

是否流式輸出回複。參數值:

  • 模型產生完後返迴音頻的 URL。

  • 邊產生邊輸出 Base 64 編碼格式的音頻資料。您需要即時地逐個讀取這些片段以獲得完整的結果。請參見:即時播放

該參數僅支援Python SDK。通過Java SDK實現流式輸出請通過streamCall介面調用;通過HTTP實現流式輸出請在Header中指定X-DashScope-SSEenable

返回對象(流式與非流式輸出格式一致)

通義千問3-TTS-Flash

{
    "status_code": 200,
    "request_id": "5c63c65c-cad8-4bf4-959d-xxxxxxxxxxxx",
    "code": "",
    "message": "",
    "output": {
        "text": null,
        "finish_reason": "stop",
        "choices": null,
        "audio": {
            "data": "",
            "url": "http://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/1d/ab/20251218/d2033070/39b6d8f2-c0db-4daa-9073-5d27bfb66b78.wav?Expires=1766113409&OSSAccessKeyId=LTAI5xxxxxxxxxxxx&Signature=NOrqxxxxxxxxxxxx%3D",
            "id": "audio_5c63c65c-cad8-4bf4-959d-xxxxxxxxxxxx",
            "expires_at": 1766113409
        }
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0,
        "characters": 195
    }
}

通義千問-TTS

{
    "status_code": 200,
    "request_id": "f4e8139b-3203-4887-92cb-xxxxxxxxxxxx",
    "code": "",
    "message": "",
    "output": {
        "text": null,
        "finish_reason": "stop",
        "choices": null,
        "audio": {
            "data": "",
            "url": "http://dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com/1d/50/20251218/e6c1b9cc/9acec74e-e317-4dbd-9e76-745c47bcbf2d.wav?Expires=1766116806&OSSAccessKeyId=LTAxxxxxxxxx&Signature=afYZxxxxxxxxx%2FAX9bk%3D",
            "id": "audio_f4e8139b-3203-4887-92cb-xxxxxxxxxxxx",
            "expires_at": 1766116806
        }
    },
    "usage": {
        "input_tokens": 76,
        "output_tokens": 1045,
        "characters": 0,
        "input_tokens_details": {
            "text_tokens": 76
        },
        "output_tokens_details": {
            "audio_tokens": 1045,
            "text_tokens": 0
        },
        "total_tokens": 1121
    }
}

status_code integer

HTTP狀態代碼。遵循 RFC 9110標準定義。例如:
• 200:請求成功,正常返回結果
• 400:用戶端請求參數錯誤
• 401:未授權訪問
• 404:資源未找到
• 500:伺服器內部錯誤。




request_id string

本次請求的唯一標識。可用於定位和排查問題。

code string

請求失敗時展示錯誤碼(參見錯誤資訊)。

message string

請求失敗時展示錯誤資訊(參見錯誤資訊)。

output object

模型的輸出。

屬性

text string

始終為null,無需關注該參數。

choices string

始終為null,無需關注該參數。

finish_reason string

有兩種情況:

  • 正在產生時為"null";

  • 因模型輸出自然結束,或觸發輸入參數中的stop條件而結束時為"stop"。

audio object

模型輸出的音頻資訊。

屬性

url string

模型輸出的完整音頻檔案的URL,有效期間24小時。

data string

流式輸出時的Base64 音頻資料。

id string

模型輸出的音頻資訊對應的ID。

expires_at integer

url 將要到期的時間戳記。

usage object

本次請求的 Token 或字元消耗資訊。通義千問-TTS模型返回Token消耗資訊,通義千問3-TTS-Flash模型返回字元消耗資訊

屬性

input_tokens_details object

輸入文本的 Token消耗資訊。僅通義千問-TTS模型返回該欄位。

屬性

text_tokens integer

輸入文本的 Token 消耗量。

total_tokens integer

本次請求總共消耗的 Token 量。僅通義千問-TTS模型返回該欄位。

output_tokens integer

輸出音訊 Token 消耗量。對於通義千問3-TTS-Flash模型,該欄位固定為0。

input_tokens integer

輸入文本的 Token 消耗量。對於通義千問3-TTS-Flash模型,該欄位固定為0。

output_tokens_details object

輸出的 Token 消耗資訊。僅通義千問-TTS模型返回該欄位。

屬性

audio_tokens integer

輸出音訊 Token 消耗量。

text_tokens integer

輸出文本的 Token 消耗量,當前固定為0。

characters integer

輸入文本的字元數。僅通義千問3-TTS-Flash模型返回該欄位。

request_id string

本次請求的 ID。