Skip to main content
語音合成

非即時語音合成(Qwen-TTS)API參考

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

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

請求體

  • 非流式輸出
  • 流式輸出
  • Python
  • Java
  • curl
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)
modelstring(必選)模型名稱,詳情請參見支援的模型
inputobject(必選)輸入參數

屬性

text string (必選)要合成的文本,支援多語種混合輸入。最大輸入長度:千問-TTS模型為 512 Token,其他模型為 600 字元。voice string (必選)使用的音色,參見支援的系統音色language_type string (可選)合成音訊語種。預設為 Auto
  • Auto:適用於文本包含多種語言或語種不確定的情境。模型自動為不同語言片段匹配發音,但無法保證完全精準。
  • 指定語種:適用於單一語種文本。指定具體語種能顯著提升合成品質,效果通常優於 Auto。可選值:
    • Chinese
    • English
    • German
    • Italian
    • Portuguese
    • Spanish
    • Japanese
    • Korean
    • French
    • Russian
instructionsstring(可選)設定指令,參見指令控制預設值:無,不設定時不生效。最大長度:1600 Token。支援語言:僅支援中文和英文。適用範圍:該功能僅適用於千問3-TTS-Instruct-Flash系列模型。optimize_instructionsboolean(可選)instructions 進行語義最佳化,以提升語音合成的自然度和表現力。預設值:false。行為說明:當設定為 true 時,系統將對 instructions 的內容進行語義增強與重寫,產生更適合語音合成的內部指令。推薦在追求高品質、精細化語音表達時開啟。依賴 instructions 參數。若 instructions 為空白,此參數不生效。適用範圍:該功能僅適用於千問3-TTS-Instruct-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=YOUR_ACCESS_KEY_ID&Signature=YOUR_SIGNATURE",
            "id": "audio_5c63c65c-cad8-4bf4-959d-xxxxxxxxxxxx",
            "expires_at": 1766113409
        }
    },
    "usage": {
        "input_tokens": 0,
        "output_tokens": 0,
        "characters": 195
    }
}
status_code integerHTTP狀態代碼。遵循 RFC 9110標準定義。例如:
• 200:請求成功,正常返回結果
• 400:用戶端請求參數錯誤
• 401:未授權訪問
• 404:資源未找到
• 500:伺服器內部錯誤。
request_id string本次請求的唯一標識,可用於問題排查。
code string請求失敗時展示錯誤碼(參見錯誤碼)。
message string請求失敗時展示錯誤資訊(參見錯誤碼)。
outputobject模型的輸出。

屬性

textstring始終為null,無需關注該參數。choicesstring始終為null,無需關注該參數。finish_reasonstring產生狀態標識:
  • 正在產生時為"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 stringBase 64 編碼的音頻資料。非流式輸出和流式輸出的中間 chunk 中返回 Base 64 編碼的音頻片段;流式輸出的最後一個 chunk 中該欄位為空白字串,音頻通過同級的 url 欄位擷取。id string音訊唯一標識。expires_at integerURL 到期時間的 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。