全部產品
Search
文件中心

Alibaba Cloud Model Studio:非即時語音合成(Qwen-TTS)API參考

更新時間:Jul 08, 2026

非即時語音合成(Qwen-TTS)API 的請求參數與返回欄位說明。

模型的使用方法請參見 非即時語音合成

請求體

非流式輸出

Python

DashScope Python SDK中的SpeechSynthesizer介面已統一為MultiModalConversation,使用方法和參數保持完全一致。
# 請安裝 DashScope SDK 的最新版本
    import os
    import dashscope

    # 以下為新加坡地區的配置。
    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-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"
        # 如需使用指令控制功能,請取消下方注釋,並將model替換為qwen3-tts-instruct-flash
        # instructions='語速較快,帶有明顯的上揚語調,適合介紹時尚產品。',
        # optimize_instructions=True
    )
    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 {
    // 如需使用指令控制功能,請將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()
                .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")
                // 如需使用指令控制功能,請取消下方注釋,並將model替換為qwen3-tts-instruct-flash
                // .parameter("instructions","語速較快,帶有明顯的上揚語調,適合介紹時尚產品。")
                // .parameter("optimize_instructions",true)
                .build();
        MultiModalConversationResult result = conv.call(param);
        System.out.println(JsonUtils.toJson(result));
    }
    public static void main(String[] args) {
        // 以下為新加坡地區的配置。
        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

# ======= 重要提示 =======
# 以下為新加坡地區的配置。
# 新加坡地區和北京地區的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

    # 以下為新加坡地區的配置。
    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-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",
        # 如需使用指令控制功能,請取消下方注釋,並將model替換為qwen3-tts-instruct-flash
        # instructions='語速較快,帶有明顯的上揚語調,適合介紹時尚產品。',
        # optimize_instructions=True,
        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 {
    // 如需使用指令控制功能,請將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()
                .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")
                // 如需使用指令控制功能,請取消下方注釋,並將model替換為qwen3-tts-instruct-flash
                // .parameter("instructions","語速較快,帶有明顯的上揚語調,適合介紹時尚產品。")
                // .parameter("optimize_instructions",true)
                .build();
        Flowable<MultiModalConversationResult> result = conv.streamCall(param);
        result.blockingForEach(r -> {System.out.println(JsonUtils.toJson(r));
        });
    }
    public static void main(String[] args) {
        // 以下為新加坡地區的配置。
        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

# ======= 重要提示 =======
# 以下為新加坡地區的配置。
# 新加坡地區和北京地區的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 (必選)

模型名稱,詳情請參見支援的模型

input object (必選)

輸入參數

屬性

text string (必選)

要合成的文本,支援多語種混合輸入。最大輸入長度:千問-TTS模型為 512 Token,其他模型為 600 字元。

voice string (必選)

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

language_type string (可選)

合成音訊語種。預設為 Auto

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

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

    • Chinese

    • English

    • German

    • Italian

    • Portuguese

    • Spanish

    • Japanese

    • Korean

    • French

    • Russian

instructions string (可選)

設定指令,參見指令控制

預設值:無,不設定時不生效。

最大長度:1600 Token。

支援語言:僅支援中文和英文。

適用範圍:該功能僅適用於千問3-TTS-Instruct-Flash-Realtime系列模型。

optimize_instructions boolean (可選)

instructions 進行語義最佳化,以提升語音合成的自然度和表現力。

預設值:false。

行為說明:當設定為 true 時,系統將對 instructions 的內容進行語義增強與重寫,產生更適合語音合成的內部指令。

推薦在追求高品質、精細化語音表達時開啟。

依賴 instructions 參數。若 instructions 為空白,此參數不生效。

適用範圍:該功能僅適用於千問3-TTS-Instruct-Flash系列模型。

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

千問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"。

audio object

模型輸出的音頻資訊。

屬性

url string

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

說明

流式輸出說明:流式模式下,API 返回多個 chunk。中間 chunk 的 audio.data 包含 Base 64 編碼的音頻片段,audio.url 為空白;最後一個 chunk 的 audio.data 為空白字串,audio.url 包含完整音頻檔案的 OSS 地址。開發人員可在最後一個 chunk 中通過 url 欄位下載完整音頻。非流式模式下,該欄位直接返回完整音頻檔案 URL。

data string

Base 64 編碼的音頻資料。非流式輸出和流式輸出的中間 chunk 中返回 Base 64 編碼的音頻片段;流式輸出的最後一個 chunk 中該欄位為空白字串,音頻通過同級的 url 欄位擷取。

id string

音訊唯一標識。

expires_at integer

URL 到期時間的 UNIX 時間戳記。

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。