语音合成接口
更新时间:2026-07-14
- 通过 API Key 调用语音合成能力,将文本合成为音频。
- 当前接口为同步创建/处理入口,成功后返回
taskId、targetAudioUrl、音色与音频相关信息。 - 用户身份由 API Key 自动识别,无需传入用户 ID、渠道或来源字段。
本文档示例使用以下服务地址:
https://video-translation.viitor.com
所有开放 API 请求必须在 Header 中传入 API Key:
Authorization: Bearer vt_live_xxx
说明:
- API Key 可在控制台创建。
- 创建和调用 API Key 时,账号需开通包含 API 权限的有效套餐。
- 调用时账号仍需保持 VIP 状态,否则接口会返回无权限错误。
- API Key 仅在创建成功时完整展示一次,请妥善保存。
| 字段 | 类型 | 说明 |
|---|
code | Integer | 0 表示成功,非 0 表示失败 |
message | String | 返回信息 |
data | Object | 业务数据 |
- 请求 URL:
https://video-translation.viitor.com/openapi/v1/speech-synthesis/textToSpeech - 请求方法:
POST - Content-Type:
application/json - 返回结构:
{code, message, data}
| Header | 必填 | 类型 | 说明 |
|---|
Content-Type | 是 | String | application/json;charset=UTF-8 |
Accept | 建议 | String | application/json;charset=UTF-8 |
Authorization | 是 | String | Bearer <API_KEY> |
| 字段 | 类型 | 必填 | 说明 |
|---|
sourceText | String | 是 | 待合成文本,超过 5000 字符时服务端截断到前 5000 字符 |
voiceName | String | 是 | 音色名称标识,可通过开放 API 音色列表接口获取 |
emotion | Integer | 否 | 情绪枚举,默认 0;取值见下方 emotion 枚举 |
format | String | 否 | 音频格式:wav、mp3、pcm;不传或非法时默认 wav |
speed | Float | 否 | 语速倍率,默认 1.0 范围 0.5 ~ 2.0 |
loudnessLufs | Float | 否 | 响度参数,范围 -30 到 -6 |
| 值 | 说明 |
|---|
0 | 默认,default |
2 | 愤怒,angry |
3 | 悲伤,sad |
4 | 开心,happy |
5 | 恐惧,fearful |
6 | 惊讶,surprised |
sourceText 必填。voiceName 必填,可通过开放 API 音色列表接口获取。- OpenAPI 语音合成接口不支持翻译合成,不需要传
targetLanguage。 format 仅支持 wav、mp3、pcm;不传或非法时默认 wav。speed 范围为 0.5 到 2.0,默认 1.0。loudnessLufs 范围为 -30 到 -6。emotion 支持 0、2、3、4、5、6,默认 0。
| 字段 | 类型 | 说明 |
|---|
userId | Long | API Key 绑定的用户 ID |
taskId | String | 任务 ID |
targetAudioUrl | String | 合成后的音频 URL |
loudnessLufs | Float | 响度参数 |
speed | Float | 语速参数 |
fileFormat | String | 文件格式 |
curl -X POST "https://video-translation.viitor.com/openapi/v1/speech-synthesis/textToSpeech" \
-H "Content-Type: application/json" \
-H "Accept: application/json;charset=UTF-8" \
-H "Authorization: Bearer vt_live_xxx" \
-d '{
"sourceText": "Welcome to ViiTor AI.",
"voiceName": "alloy",
"emotion": 0,
"speed": 1.0,
"loudnessLufs": -18,
"format": "mp3"
}'
{
"code": 0,
"message": "OK",
"data": {
"userId": 123456,
"taskId": "ViiTor_AI_50C7A13A74DC46D8B31EAEF3382895BA",
"targetAudioUrl": "https://cdn.example.com/audio/result.mp3",
"fileFormat": "mp3"
}
}
| code | message | 说明 |
|---|
0 | OK | 成功 |
1103 | No Privilege | 账号不是 VIP 或无权限调用 |
2001 | Invalid Parameter | 参数非法,例如文本为空、音色缺失、参数范围错误 |
400001 | missing_api_key | 缺少 API Key |
400002 | invalid_api_key | API Key 无效 |
400003 | disabled_api_key | API Key 已禁用 |
400004 | expired_api_key | API Key 已过期 |