语音合成 v2,支持百度音色、语速、返回 JSON 或音频流。
| 参数名 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
| key | string | 是 | 接口调用密钥,也支持通过 X-API-Key 请求头或 Authorization: Bearer 传递 | |
| text | string | 是 | 需要转换为语音的文本,最多 500 个字符 | |
| msg | string | 否 | text 的兼容参数,旧版接口使用此参数 | |
| provider | string | 否 | 语音引擎,当前仅支持 baidu,默认值为 baidu | |
| type | string | 否 | provider 的兼容参数,传 baidu | |
| voice | integer | 否 | 百度音色编号,默认值为 4 | |
| id | string | 否 | voice 的兼容参数,也可传 list 获取音色列表 | |
| language | string | 否 | 语音语言,例如 zh、en;默认根据文本自动判断 | |
| le | string | 否 | language 的兼容参数 | |
| rate | integer | 否 | 语速,取值范围 0 到 10,默认值为 4 | |
| mode | string | 否 | 返回模式,可选 json 或 audio,默认值为 json | |
| format | string | 否 | mode 的兼容参数,可选 json 或 audio |
[
{
"name": "key",
"type": "string",
"required": true,
"description": "接口调用密钥,也支持通过 X-API-Key 请求头或 Authorization: Bearer 传递",
"example": ""
},
{
"name": "text",
"type": "string",
"required": true,
"description": "需要转换为语音的文本,最多 500 个字符",
"example": ""
},
{
"name": "msg",
"type": "string",
"required": false,
"description": "text 的兼容参数,旧版接口使用此参数",
"example": ""
},
{
"name": "provider",
"type": "string",
"required": false,
"description": "语音引擎,当前仅支持 baidu,默认值为 baidu",
"example": ""
},
{
"name": "type",
"type": "string",
"required": false,
"description": "provider 的兼容参数,传 baidu",
"example": ""
},
{
"name": "voice",
"type": "integer",
"required": false,
"description": "百度音色编号,默认值为 4",
"example": ""
},
{
"name": "id",
"type": "string",
"required": false,
"description": "voice 的兼容参数,也可传 list 获取音色列表",
"example": ""
},
{
"name": "language",
"type": "string",
"required": false,
"description": "语音语言,例如 zh、en;默认根据文本自动判断",
"example": ""
},
{
"name": "le",
"type": "string",
"required": false,
"description": "language 的兼容参数",
"example": ""
},
{
"name": "rate",
"type": "integer",
"required": false,
"description": "语速,取值范围 0 到 10,默认值为 4",
"example": ""
},
{
"name": "mode",
"type": "string",
"required": false,
"description": "返回模式,可选 json 或 audio,默认值为 json",
"example": ""
},
{
"name": "format",
"type": "string",
"required": false,
"description": "mode 的兼容参数,可选 json 或 audio",
"example": ""
}
]
{
"openapi": "3.1.1",
"info": {
"title": "语言合成_v2",
"description": "语音合成 v2,支持百度音色、语速、返回 JSON 或音频流。",
"version": "1.0.0"
},
"paths": {
"\/api\/tts\/v2.php": {
"get": {
"summary": "语言合成_v2",
"description": "语音合成 v2,支持百度音色、语速、返回 JSON 或音频流。",
"parameters": [
{
"name": "key",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "接口调用密钥,也支持通过 X-API-Key 请求头或 Authorization: Bearer 传递"
},
{
"name": "text",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "需要转换为语音的文本,最多 500 个字符"
},
{
"name": "msg",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "text 的兼容参数,旧版接口使用此参数"
},
{
"name": "provider",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "语音引擎,当前仅支持 baidu,默认值为 baidu"
},
{
"name": "type",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "provider 的兼容参数,传 baidu"
},
{
"name": "voice",
"in": "query",
"required": false,
"schema": {
"type": "integer"
},
"description": "百度音色编号,默认值为 4"
},
{
"name": "id",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "voice 的兼容参数,也可传 list 获取音色列表"
},
{
"name": "language",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "语音语言,例如 zh、en;默认根据文本自动判断"
},
{
"name": "le",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "language 的兼容参数"
},
{
"name": "rate",
"in": "query",
"required": false,
"schema": {
"type": "integer"
},
"description": "语速,取值范围 0 到 10,默认值为 4"
},
{
"name": "mode",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "返回模式,可选 json 或 audio,默认值为 json"
},
{
"name": "format",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "mode 的兼容参数,可选 json 或 audio"
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application\/json": {
"schema": {
"type": "object"
}
}
}
}
}
},
"post": {
"summary": "语言合成_v2",
"description": "语音合成 v2,支持百度音色、语速、返回 JSON 或音频流。",
"parameters": [
{
"name": "key",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "接口调用密钥,也支持通过 X-API-Key 请求头或 Authorization: Bearer 传递"
},
{
"name": "text",
"in": "query",
"required": true,
"schema": {
"type": "string"
},
"description": "需要转换为语音的文本,最多 500 个字符"
},
{
"name": "msg",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "text 的兼容参数,旧版接口使用此参数"
},
{
"name": "provider",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "语音引擎,当前仅支持 baidu,默认值为 baidu"
},
{
"name": "type",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "provider 的兼容参数,传 baidu"
},
{
"name": "voice",
"in": "query",
"required": false,
"schema": {
"type": "integer"
},
"description": "百度音色编号,默认值为 4"
},
{
"name": "id",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "voice 的兼容参数,也可传 list 获取音色列表"
},
{
"name": "language",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "语音语言,例如 zh、en;默认根据文本自动判断"
},
{
"name": "le",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "language 的兼容参数"
},
{
"name": "rate",
"in": "query",
"required": false,
"schema": {
"type": "integer"
},
"description": "语速,取值范围 0 到 10,默认值为 4"
},
{
"name": "mode",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "返回模式,可选 json 或 audio,默认值为 json"
},
{
"name": "format",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "mode 的兼容参数,可选 json 或 audio"
}
],
"responses": {
"200": {
"description": "成功",
"content": {
"application\/json": {
"schema": {
"type": "object"
}
}
}
}
}
}
}
},
"servers": [
{
"url": "https:\/\/api.vsaa.cn",
"description": "当前访问入口(https)"
}
]
}
{
"text": "欢迎使用万象数据API",
"provider": "baidu",
"language": "zh",
"voice": 4,
"id": "",
"rate": 4,
"cached": false,
"content_type": "audio/mpeg",
"size": 22176,
"url": "https://api2.vsaa.cn/api/tts/audio.php/MDM2YWRiYmM0YzQ2YjNhNzFlNjI0MWNmMmU1NzQ4Yzk2YThjYmU0YTkwYjAxOGE4YjQwMDczNmI2ZjRiNzhiMi4xNzg5NzM1NjAx.1553a105ce363a76a4c66592d922da107c73e62df98a5b28ac0566d62e1639ec",
"expires_in": 300
}
该接口将指定文本转换为语音音频流,适用于需要文本转语音功能的开发者及应用程序。支持自定义音色、语速及返回格式,免费调用且需通过 Query 参数传递密钥进行鉴权。
/api/tts/v2.php
GET 或 POST
接口调用需携带密钥。通过 Query 参数 key 传递密钥,该参数为必填项。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| key | string | 是 | 接口调用密钥。 |
| text | string | 是 | 需要转换为语音的文本,最多 500 个字符。 |
| msg | string | 否 | text 的兼容参数,旧版接口使用此参数。 |
| provider | string | 否 | 语音引擎,当前仅支持 baidu,默认值为 baidu。 |
| type | string | 否 | provider 的兼容参数,传 baidu。 |
| voice | integer | 否 | 音色编号,默认值为 4。 |
| id | string | 否 | voice 的兼容参数;也可传 list 获取音色列表。 |
| language | string | 否 | 语音语言,例如 zh、en;默认根据文本自动判断。 |
| le | string | 否 | language 的兼容参数。 |
| rate | integer | 否 | 语速,取值范围 0 到 10,默认值为 4。 |
| mode | string | 否 | 返回模式,可选 json 或 audio,默认值为 json。 |
| format | string | 否 | mode 的兼容参数,可选 json 或 audio。 |
{
"text": "欢迎使用万象数据API",
"provider": "baidu",
"language": "zh",
"voice": 4,
"id": "",
"rate": 4,
"cached": false,
"content_type": "audio/mpeg",
"size": 22176,
"url": "https://api2.vsaa.cn/api/tts/audio.php/MDM2YWRiYmM0YzQ2YjNhNzFlNjI0MWNmMmU1NzQ4Yzk2YThjYmU0YTkwYjAxOGE4YjQwMDczNmI2ZjRiNzhiMi4xNzg5NzM1NjAx.1553a105ce363a76a4c66592d922da107c73e62df98a5b28ac0566d62e1639ec",
"expires_in": 300
}
| 字段名 | 类型 | 说明 |
|---|---|---|
| text | string | 本次请求提交的合成文本内容。 |
| provider | string | 使用的语音引擎标识,当前固定为 baidu。 |
| language | string | 合成的语音语言代码,如 zh、en 等。 |
| voice | integer | 对应的音色编号,默认为 4。 |
| id | string | 音色编号的兼容字段,通常为空字符串。 |
| rate | integer | 实际应用的语速数值,范围 0-10。 |
| cached | boolean | 标识该结果是否来自缓存,false 表示实时生成。 |
| content_type | string | 音频文件的 MIME 类型,如 audio/mpeg。 |
| size | integer | 音频文件的大小,单位为字节(Bytes)。 |
| url | string | 音频文件的有效访问链接。 |
| expires_in | integer | 链接或缓存的有效时长,单位为秒。 |
调用「语言合成_v2」接口时,若发生鉴权失败、参数校验错误或业务逻辑限制,接口将返回统一的 JSON 错误结构。code 字段固定为 0,msg 字段包含人类可读的错误描述,errcode 字段标识具体的业务错误代码。
以下是一个当调用密钥缺失或无效时的错误响应示例:
{
"code": 0,
"msg": "未提供调用密钥",
"errcode": 11001
}
当密钥余额不足或积分系统异常时,响应示例如下:
{
"code": 0,
"msg": "积分余额不足",
"errcode": 11004
}
本接口在鉴权、计费及请求校验过程中可能返回以下业务错误码。开发者应根据 errcode 值判断错误类型并采取相应处理措施。
| 错误码 (errcode) | 错误含义 | 说明与建议 |
|---|---|---|
| 11001 | 未提供调用密钥 | 请求中未携带 key 参数。请检查是否遗漏必填鉴权参数。 |
| 11002 | 密钥错误 | 提供的密钥无效或不存在。请核实密钥拼写是否正确。 |
| 11003 | 密钥已禁用 | 该密钥已被手动禁用或停用。请联系管理员恢复状态。 |
| 11004 | 积分余额不足 | 账户积分不足以支付本次调用费用。请充值或检查计费策略。 |
| 11005 | 请求过于频繁 | 触发 QPM(每分钟请求数)限制(约 60 次/分钟)。请增加请求间隔。 |
| 11006 | 接口维护中 | 当前接口处于计划内维护状态。请稍后重试。 |
| 11007 | 接口已禁用 | 该接口已被后台禁用,暂不可用。 |
| 11008 | 接口不可用 | 接口因未知原因暂时不可用,请稍后重试。 |
| 11009 | 密钥校验暂不可用 | 鉴权服务出现临时故障,无法完成密钥校验。 |
| 11010 | 积分系统暂不可用 | 计费服务出现临时故障,无法验证余额。 |
| 11011 | 收费接口须提供有效密钥 | 该接口为收费接口,必须通过有效密钥鉴权。 |
| 11012 | 鉴权方式错误 | 密钥传递方式不符合要求,请确保通过 Query 参数传递。 |
| 11013 | 接口不存在 | 请求的 API 路径无效或已下线。 |
| 11014 | ***地址无效 | 后端语音引擎地址配置错误或无法解析。 |
| 11015 | ***地址不允许 | 请求指定的引擎地址不在允许列表内。 |
| 11016 | ***请求失败 | 后端语音引擎返回错误或超时。 |
| 11017 | 服务暂不可用 | 底层服务资源紧张或故障,请稍后重试。 |
| 11018 | 请求方式不允许 | 该接口不支持当前 HTTP 方法(仅限 GET 或 POST)。 |
| 11019 | 当前IP不在白名单内 | 调用方 IP 地址未在服务白名单中。 |
| 11020 | 启用出口代理须提供有效密钥 | 涉及代理配置时缺失有效鉴权信息。 |
| 11021 | 未配置可用出口代理 | 系统未检测到可用的出口代理配置。 |
| 11022 | 出口代理不可用 | 配置的出口代理连接失败或不可用。 |
| 11023 | 密钥已过期 | 提供的密钥已超过有效期。请更换新密钥。 |
| 11024 | 令牌分配积分不足 | 当前令牌分配的积分额度不足,无法执行扣费。 |
以下示例展示如何通过 GET 请求调用语言合成接口,并将密钥通过查询参数传递。请将 YOUR_KEY 替换为您的实际密钥。
curl -X GET "https://api2.vsaa.cn/api/tts/v2.php?key=YOUR_KEY&text=你好,世界&voice=4&rate=4&mode=json"
若需获取音频流而非 JSON 元数据,可将 mode 参数改为 audio:
curl -X GET "https://api2.vsaa.cn/api/tts/v2.php?key=YOUR_KEY&text=你好,世界&mode=audio" -o output.mp3
以下 PHP 示例演示如何发起 POST 请求以调用语言合成接口。密钥通过查询字符串附在 URL 中。请将 YOUR_KEY 替换为实际密钥。
// PHP 示例:POST 请求调用 TTS 接口
$key = 'YOUR_KEY';
$text = '欢迎使用万象数据API';
$url = 'https://api2.vsaa.cn/api/tts/v2.php?key=' . urlencode($key);
$payload = [
'text' => $text,
'voice' => 4,
'rate' => 4,
'mode' => 'json'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($payload));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
text 参数最大支持 500 个字符,超出部分可能导致截断或报错,长文本需分段处理。text、provider)和旧版兼容参数(如 msg、type、id、le、format),建议统一使用新版参数以保证语义清晰。mode 为 audio 则直接返回二进制音频流,请根据客户端处理逻辑选择。url 具有时效性(expires_in 指定有效期),请勿将其作为永久链接存储,需在使用后立即下载。voice 参数目前仅支持百度引擎默认音色及编号,如需获取可用音色列表可传入 id=list 进行查询。暂无代码示例。管理员可在后台用 AI 生成或手动编写。
欢迎使用 万象数据API(以下简称“本平台”,域名为 api.vsaa.cn)。在使用本平台提供的任何接口、数据及相关服务之前,请您务必仔细阅读并充分理解本免责声明的全部内容。您对本平台任何服务的使用,均视为您已阅读、理解并同意本声明的全部条款。
最后更新日期:2026年10月6日