语音技术 · 同步接口(V1/V2/V4/长文本)
文字转语音API(TTS)接入指南
文字转语音API把文本合成为可播放、可下载的音频文件。V1适合基础合成;V2支持多角色音色、方言、语速、音量和音调调节;V4保持V2的字段结构,使用独立角色目录并提供稳定MP3合成;长文本接口单次最多支持50000个字符,仅支持普通和中级音色。
接口速览
以下信息来自轻语API开放平台生产环境接口元数据,可直接用于技术选型评估。
| 接口地址 | POST /data/api/fetchVoiceByText(V1)/ POST /data/api/fetchVoiceByText_v2(V2)/ POST /data/api/fetchVoiceByText_v4(V4)/ POST /data/api/fetchVoiceByLongText(长文本) |
|---|---|
| 能力 | V1提供基础合成;V2支持多角色与语速、音量、音调参数;V4兼容V2字段并提供独立角色目录与稳定MP3合成;长文本接口单次最多50000个字符。 |
| 频率限制 | V1、V2为100次/分钟;V4为60次/分钟;长文本接口为10次/分钟 |
| 超时时间 | V1、V2为30秒;V4为180秒;长文本接口最长等待约240秒 |
| 鉴权方式 | apikey(注册后获取) |
| 内容类型 | application/json |
请求参数
| 参数名 | 必填 | 类型 | 说明 |
|---|---|---|---|
apikey | 必填 | string | 用户的apikey,身份凭证 |
text | 必填 | string | 用于生成语音文件的内容;V4中文最多150个汉字、纯英文最多500个字符;长文本接口单次最多50000个Unicode字符;不能传空文本 |
role | 选填(V2/V4/长文本) | string |
V2使用三段式角色名,如
国语|女|颜颜;V4和长文本接口的 role 只传中文角色名,例如 柔美女声,不要添加品质前缀,也不要传数字音色 ID。品质由下方分组单独标识,默认角色为 柔美女声;长文本接口仅支持普通、中级角色。V4 共 60 个可选角色。下方分组表示音色品质;调用时只需将角色名称传入
role,无需附加品质前缀。高级(29个)
元气女声
甜美女声
磁性男声
可爱女童声
亲和女声
解说男声
青春校园男声
活力男声
沉稳女声
美音女声
美音男声
机灵男童声
温柔女声
活力女声
客服女声
清晰解说男声
阳光男声
童趣演绎男声
情感女声
暖心男声
专业女声
懂事少年声
湘韵女声
趣味童声
随和男声
温柔清新女声
成熟男声
沉稳青叔声
邻家女孩声
中级(17个)
磁性播报男声
轻快女声
端庄女声
成熟大叔声
气质女声
温和男声
沉稳大气男声
青春男声
外语男声
外语女声
高冷男声
清纯女声
娇媚女声
活力少年男声
灵巧女声
知性姐姐声
清爽学生声
普通(14个)
美式男声
智能收银员
新闻播音男声
粤韵姐姐声
自然轻快男声
亲和解说男声
柔美女声
甜美助手声
阅读男声
纯真小朋友声
气场女声
优雅知性女声
新闻资讯男声
萌甜宝宝声
|
rate | 选填(V2/V4/长文本) | string | 语速:low1-low5减慢,normal正常,fast1-fast5加快 |
volume | 选填(V2/V4/长文本) | string | 音量:low1-low5降低,normal正常,fast1-fast5增大 |
pitch | 选填(V2/V4/长文本) | string | V2可调音调:low1-low5降低,normal正常,fast1-fast5升高;V4和长文本接口为兼容接收参数,当前合成不改变音调 |
V4 VOICE LIBRARY
V4 音色目录与试听
按音色类型整理全部可用角色。每张卡片都提供原生播放器,点击播放按钮即可试听固定示例音频。
正在加载音色目录...
长文本文字转语音
长文本接口独立于 V4 短文本接口,适合文章、课程、播报等较长内容。接口服务端会完成任务等待、音频下载和本地保存,调用方仍然只接收平台自己的音频地址。
| 请求地址 | POST /data/api/fetchVoiceByLongText |
|---|---|
| 请求格式 | application/json |
| 单条上限 | 50000 个 Unicode 字符;超过后返回业务错误,不会开始合成或扣费。 |
| 音色范围 | 仅支持“普通”和“中级”角色;“高级”角色不支持长文本合成。 |
| 计费规则 | 普通每 10000 字符 4680 金豆,中级每 10000 字符 5460 金豆;按实际字符数向上取整,单次不足 50 金豆按 50 金豆计。 |
| 响应格式 | 与 V2/V4 一致:code、msg、data.url。 |
长文本接口的 apikey、text、role、rate、volume、pitch 参数格式与 V2/V4 保持一致。音频生成失败不会扣除本次金豆。
计费规则
V4 与长文本分别按各自的音色品质和实际字符数扣除金豆;合成失败或校验未通过时不会扣费。
| V4 音色品质 | 每 10000 个字符 | 计算方式 |
|---|---|---|
| 普通 | 585 金豆 | max(30, ceil(字符数 × 585 ÷ 10000)) |
| 中级 | 2340 金豆 | max(30, ceil(字符数 × 2340 ÷ 10000)) |
| 高级 | 12675 金豆 | max(30, ceil(字符数 × 12675 ÷ 10000)) |
| 长文本音色品质 | 每 10000 个字符 | 计算方式 |
|---|---|---|
| 普通 | 4680 金豆 | max(50, ceil(字符数 × 4680 ÷ 10000)) |
| 中级 | 5460 金豆 | max(50, ceil(字符数 × 5460 ÷ 10000)) |
V4 中文最多150个字符、纯英文最多500个字符;长文本最多50000个 Unicode 字符,仅支持普通和中级音色。V2 使用独立计费规则:15 个字符以内 6 金豆;超过 15 个字符后,每增加 10 个字符(不足 10 个按 10 个计)增加 3 金豆,不受 V4 音色品质影响。
响应示例
V2 成功响应(HTTP 200)
{
"code": 200,
"msg": "操作成功",
"data": {
"url": "https://5555api.com/files/media/voice/tts_xxx.wav"
}
}
| 字段 | 类型 | 说明 |
|---|---|---|
code | number | 业务状态码,200表示成功 |
msg | string | 本次请求的处理结果说明 |
data.url | string | 生成的音频公开访问地址 |
V4 成功响应(HTTP 200)
{
"code": 200,
"msg": "操作成功",
"data": {
"url": "https://5555api.com/files/media/voice/tts_xxx.mp3"
}
}
长文本接口成功响应(HTTP 200)
{
"code": 200,
"msg": "操作成功",
"data": {
"url": "https://5555api.com/files/media/voice/tts_xxx.mp3"
}
}
错误响应示例
{
"code": 500,
"msg": "中文文本最多支持150个汉字(全角标点符号按1个字符计算)",
"data": null
}
请以 code 判断业务是否成功;接口可能以HTTP 200返回业务错误,具体原因以 msg 为准。
调用示例
cURL 示例
# V1 基础合成
curl -X POST 'https://5555api.com/data/api/fetchVoiceByText' \
-H 'Content-Type: application/json' \
-d '{"apikey":"YOUR_APIKEY","text":"欢迎使用轻语API文字转语音接口"}'
# V2 多角色合成(语速加快、音调升高)
curl -X POST 'https://5555api.com/data/api/fetchVoiceByText_v2' \
-H 'Content-Type: application/json' \
-d '{"apikey":"YOUR_APIKEY","text":"今天天气真不错","role":"国语|女|悦悦","rate":"fast1","pitch":"fast1"}'
# V4 稳定合成(请求参数与V2一致)
curl -X POST 'https://5555api.com/data/api/fetchVoiceByText_v4' \
-H 'Content-Type: application/json' \
-d '{"apikey":"YOUR_APIKEY","text":"欢迎使用轻语API文字转语音接口","role":"柔美女声","rate":"normal","volume":"normal","pitch":"normal"}'
# 长文本合成(最多50000个字符,仅普通/中级音色)
curl -X POST 'https://5555api.com/data/api/fetchVoiceByLongText' \
-H 'Content-Type: application/json' \
-d '{"apikey":"YOUR_APIKEY","text":"这里放入需要合成的长篇文本","role":"柔美女声","rate":"normal","volume":"normal","pitch":"normal"}'
JavaScript 示例
const body = {
apikey: 'YOUR_APIKEY',
text: '欢迎使用轻语API文字转语音接口',
role: '柔美女声', // V4 可选,默认柔美女声
rate: 'normal', // 语速,V4 可选
volume: 'normal', // 音量,V4 可选
pitch: 'normal' // 音调,V4 可选
};
const resp = await fetch('https://5555api.com/data/api/fetchVoiceByText_v4', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(body)
});
const result = await resp.json();
if (result.code === 200 && result.data.url) {
new Audio(result.data.url).play(); // 直接播放合成语音
}
Python 示例
import requests
resp = requests.post(
'https://5555api.com/data/api/fetchVoiceByText_v4',
json={
'apikey': 'YOUR_APIKEY',
'text': '欢迎使用轻语API文字转语音接口',
'role': '沉稳大气男声',
'rate': 'fast1'
}
)
result = resp.json()
if result['code'] == 200:
print('音频地址:', result['data']['url'])
应用场景
有声内容与配音
公众号文章、小说、科普内容一键转语音,多角色音色适合短剧和播客配音。
语音通知与播报
订单状态、告警信息、排队叫号实时合成播报,接入电话或音箱渠道。
无障碍与教育
课件、题库自动朗读,视障用户辅助阅读,语言学习发音示范。
常见问题
文字转语音API的V1、V2、V4和长文本接口有什么区别?
V1(fetchVoiceByText)只传text即可合成;V2(fetchVoiceByText_v2)支持角色音色、语速、音量和音调调节;V4(fetchVoiceByText_v4)面向短文本并保持相同的请求字段结构;长文本接口(fetchVoiceByLongText)单次最多支持50000个字符,仅支持普通和中级音色。
V2支持哪些角色声音?
支持国语男女声(颜颜、悦悦、小明、小强、小刚等)与方言角色(宁宁等),role参数格式为"国语|女|颜颜"三段式。
V4支持哪些角色声音?
V4提供普通、中级和高级三类独立角色目录;role参数只传中文角色名,不需要添加品质前缀。完整列表和试听入口见上方音色目录,接口参数中的角色列表与目录保持同步。
合成结果是什么格式?
V4、长文本、V1和V2返回可播放、可下载的音频地址,响应层次均为code、msg、data.url。
一次能合成多长的文本?
V4单次中文最多支持150个汉字(全角标点符号按1个字符计算);纯英文最多支持500个字符(半角标点符号按1个字符计算)。独立长文本接口单条最多50000个Unicode字符,仅支持普通和中级音色。中英文混合文本按对应接口规则校验。
语速音量音调怎么调?
V2和V4的rate、volume参数取值为low1-low5(减小/降低)、normal(默认)、fast1-fast5(增大);V2的pitch可调音调,V4保留pitch字段以兼容V2,但当前基础音色合成不改变音调。不传参数则使用normal。
V4缓存命中及合成失败如何处理?
相同文本和参数在缓存有效期内会复用已生成的音频;如果合成失败,接口不会返回音频地址。
V4如何计费?V2会跟随V4档位变化吗?
V4按普通、中级、高级音色档位和Unicode字符数扣除金豆:每10000个字符分别为585、2340、12675金豆,按实际字符数向上取整。V2保持独立计费:15个字符以内6金豆,之后每增加10个字符增加3金豆,不会因V4音色档位变化而改变。
可以在小程序或App里调用吗?
可以。接口为标准HTTP POST + JSON,任何能发HTTP请求的环境都能调用;建议apikey放在服务端转发,避免在前端明文暴露。