通义千问 Qwen-TTS
本文介绍接入的阿里云通义千问语音合成模型 qwen3-tts-flash 调用 API 的输入输出参数,供您使用接口时查阅字段含义。
该模型提供多种拟人音色,支持多语言及中文方言,并可在同一音色下输出多语言内容,系统可自适应语气、流畅处理复杂文本。
支持的模型
| 模型 | 说明 |
|---|---|
qwen3-tts-flash | 按字符计费、低延迟,适合导航播报、通知、在线教育课件、短文本高频合成等场景。支持多语种与中文方言。 |
同步合成
接口
https://api.modelverse.cn/v1/audio/speech说明:该接口与 OpenAI
/v1/audio/speech路径兼容,但响应体为阿里云原始 JSON(包含音频 URL),并非 OpenAI 的二进制音频流。请参见“响应格式”章节。
请求参数
| 参数 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
model | string | 是 | 要使用的 TTS 模型名称,例如 qwen3-tts-flash。 |
input | string | 是 | 需要合成语音的文本,支持多语种混合输入,最长 600 字符。 |
voice | string | 是 | 系统音色名称,例如 Cherry、Ethan、Serena、Chelsie 等。完整列表参见阿里云官方音色列表 (opens in a new tab)。 |
metadata.language_type | string | 否 | 指定合成音频的语种。不传时为 Auto。可选值:Chinese、English、German、Italian、Portuguese、Spanish、Japanese、Korean、French、Russian、Auto(大小写均可)。非法值会返回 400 错误,并在 message 中列出当前支持的完整语种列表。 |
请求示例
如果您使用 Windows 系统,建议使用 Postman 或其他 API 调用工具。
curl
curl https://api.modelverse.cn/v1/audio/speech \
-H "Authorization: Bearer $MODELVERSE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-tts-flash",
"input": "那我来给大家推荐一款T恤,这款呢真的是超级好看,这个颜色呢很显气质。",
"voice": "Cherry"
}'Python
import os
import requests
resp = requests.post(
"https://api.modelverse.cn/v1/audio/speech",
headers={
"Authorization": f"Bearer {os.getenv('MODELVERSE_API_KEY')}",
"Content-Type": "application/json",
},
json={
"model": "qwen3-tts-flash",
"input": "那我来给大家推荐一款T恤,这款呢真的是超级好看,这个颜色呢很显气质。",
"voice": "Cherry",
},
)
data = resp.json()
audio_url = data["output"]["audio"]["url"]
print("audio url:", audio_url)
# 下载音频
audio_bytes = requests.get(audio_url).content
with open("output.wav", "wb") as f:
f.write(audio_bytes)指定语种(可选)
当输入文本为单一语种时,通过 metadata.language_type 显式指定语种可获得更精准的发音和更自然的语调,效果通常优于默认的 Auto:
curl https://api.modelverse.cn/v1/audio/speech \
-H "Authorization: Bearer $MODELVERSE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-tts-flash",
"input": "今天天气真好,我们去公园散步吧。",
"voice": "Cherry",
"metadata": {
"language_type": "Chinese"
}
}'响应格式
接口返回 application/json,为阿里云 DashScope 原始响应结构透传。客户端需从 output.audio.url 字段中取得音频 URL,再自行下载。URL 有效期为 24 小时。
输出
| 参数 | 类型 | 描述 |
|---|---|---|
request_id | string | 本次请求的唯一标识,可用于定位和排查问题。 |
code | string | 业务错误码,成功时为空字符串。 |
message | string | 业务错误信息,成功时为空字符串。 |
output | object | 模型输出。 |
output.finish_reason | string | 结束原因:生成中为 null,正常结束为 stop。 |
output.audio | object | 合成音频信息。 |
output.audio.url | string | 合成音频的完整文件 URL,有效期 24 小时。 |
output.audio.data | string | 流式输出时的 Base64 音频数据;当前仅同步模式,固定为空字符串。 |
output.audio.id | string | 音频信息的 ID。 |
output.audio.expires_at | integer | 音频 URL 的过期时间戳。 |
usage | object | 本次请求的用量信息。 |
usage.characters | integer | 输入文本字符数,计费依据。 |
usage.input_tokens | integer | 固定为 0。 |
usage.output_tokens | integer | 固定为 0。 |
响应示例
{
"request_id": "5c63c65c-cad8-4bf4-959d-xxxxxxxxxxxx",
"code": "",
"message": "",
"output": {
"finish_reason": "stop",
"audio": {
"data": "",
"url": "https://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xx/xxxxxxxx.wav?Expires=1766113409&OSSAccessKeyId=LTAI5xxxxxx&Signature=xxxxxx",
"id": "audio_5c63c65c-cad8-4bf4-959d-xxxxxxxxxxxx",
"expires_at": 1766113409
}
},
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"characters": 195
}
}错误响应
当请求失败时,接口会返回标准 JSON 格式错误响应:
{
"error": {
"message": "错误描述信息",
"type": "invalid_request_error",
"code": "error_code",
"param": "<请求 ID,用于反馈或排查错误原因>"
}
}注意事项
- 响应不是二进制音频流:与 OpenAI 原生
/v1/audio/speech不同,本接口返回 JSON 而非音频字节。若此前使用 OpenAI SDK 的with_streaming_response.create(...).stream_to_file(...),请改为解析 JSON 并二次下载output.audio.url。 - 音频 URL 有效期 24 小时:请及时下载,或保存到自己的对象存储。
- 文本长度限制:最长
600字符,超长文本请自行切分。 - 计费方式:按字符数计费,以上游返回的
usage.characters为准。 - 音色选择:
voice字段需传入阿里云系统音色名称(如Cherry),完整列表参见阿里云官方文档。