Skip to main content
语音合成

非实时语音合成(Qwen-TTS)API参考

非实时语音合成(Qwen-TTS)API 的请求参数与返回字段说明。

模型的使用方法请参见 非实时语音合成

请求体

  • 非流式输出
  • 流式输出
  • Python
  • Java
  • curl
DashScope Python SDK中的SpeechSynthesizer接口已统一为MultiModalConversation,使用方法和参数保持完全一致。
# 请安装 DashScope SDK 的最新版本
import os
import dashscope

# 以下为华北2(北京)地域的配置。
dashscope.base_http_api_url = 'https://dashscope.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://help.aliyun.com/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 包含 Base64 编码的音频片段,audio.url 为空;最后一个 chunk 的 audio.data 为空字符串,audio.url 包含完整音频文件的 OSS 地址。开发者可在最后一个 chunk 中通过 url 字段下载完整音频。非流式模式下,该字段直接返回完整音频文件 URL。
data stringBase64 编码的音频数据。非流式输出和流式输出的中间 chunk 中返回 Base64 编码的音频片段;流式输出的最后一个 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。
文本生成
图像生成
视频生成
3D模型生成
音频
    • 非实时语音合成(Qwen-TTS)
    • 声音设计
Realtime API
  • 概述
向量与排序
模型生产