长文本在线合成API
更新时间:2024-06-03
接口描述
长文本在线合成接口可以将10万字以内文本一次性合成,异步返回音频。支持多种优质音库,将超长文本快速转换成稳定流畅、饱满真实的音频。适用于阅读听书、新闻播报等客户。
步骤: 1、根据文本内容、音频格式、音库等参数创建语音合成任务,获取task_id参数。 2、根据task_id的数组批量查询语音合成任务结果。
在线调试&示例代码
您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。
Python Demo 点击下载 (文件为.zip压缩包,若无法打开时,可尝试在文件后上增加".zip"后缀)
创建长文本在线合成任务-请求说明
请求接口:https://aip.baidubce.com/rpc/2.0/tts/v1/create
HTTP 方法:POST
URL参数:
参数 | 取值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考Access Token获取 |
Body中按JSON格式放置请求参数,参数如下:
参数名 | 类型 | 是否必需 | 描述 | 取值范围 |
---|---|---|---|---|
text | list | 是 | 待合成的文本,需要为UTF-8编码;输入多段文本时,文本间会插入1s长度的空白间隔 | 总字数不超过10万个字符,1个中文字、英文字母、数字或符号均算作1个字符 |
format | string | 否 | 音频格式 | "mp3-16k","mp3-48k","wav","pcm-8k","pcm-16k",默认为mp3-16k |
voice | int | 否 | 音库 | 基础音库:度小宇=1,度小美=0,度逍遥(基础)=3,度丫丫=4; 精品音库:度逍遥(精品)=5003,度小鹿=5118,度博文=106,度小童=110,度小萌=111,度米朵=103,度小娇=5。默认为度小美 |
lang | string | 是 | 语言 | 固定值zh。语言选择,目前只有中英文混合模式,填写固定值zh |
speed | int | 否 | 语速 | 取值0-15,默认为5中语速 |
pitch | int | 否 | 音调 | 取值0-15,默认为5中语调 |
volume | int | 否 | 音量 | 音量,基础音库取值0-9,精品音库取值0-15,默认为5中音量(取值为0时为音量最小值,并非为无声) |
enable_subtitle | int | 否 | 是否开启字幕时间戳 | 取值范围0, 1, 2,默认为0。0表示不开启字幕时间戳,1表示开启句级别字幕时间戳,2表示开启词级别字幕时间戳 |
break | int | 否 | 段落间隔 | 取值 0-5000 ,单位ms,用于合成文本分段传入时设置段落间间隔。 |
请求示例:
{
"text": [
"今年上半年我国工业经济面临的内外部环境还是比较严峻复杂的",
"段落2",
"段落3"
],
"format": "mp3-16k",
"voice": 3,
"lang": "zh",
"speed": 5,
"enable_subtitle": 2,
"break": 0
}
创建长文本在线合成任务-返回说明
返回参数
参数名 | 类型 | 是否必需 | 对外状态 |
---|---|---|---|
log_id | int | 是 | log id |
task_id | str | 否 | 任务id。注意保存该id,用于后续请求结果 |
task_status | str | 否 | 任务状态 |
error_code | int | 否 | 错误码 |
error_msg | str | 否 | 错误信息 |
返回示例:
创建成功
{
"log_id": 1234567890,
"task_id": "234acb234acb234acb234acb", #注意保存该id,用于后续请求结果
"task_status": "Running"
}
创建失败,缺少参数
{
"error_code": 100000,
"error_msg": "missing param: xxx",
"log_id": 5414433131138366128
}
注意:查询结果时,需要该步骤返回的task_id来进行请求。请注意保存task_id列表。
查询长文本在线合成任务-请求说明
请求接口:https://aip.baidubce.com/rpc/2.0/tts/v1/query
HTTP 方法:POST
URL参数:
参数 | 取值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考Access Token获取 |
Body中放置请求参数,参数如下:
参数名 | 类型 | 是否必需 | 描述 | 取值范围 |
---|---|---|---|---|
task_ids | list | 是 | 任务id | 推荐一次查询多个任务id,单次最多可查询200个 |
请求示例:
{
"task_ids": ["234acb234acb234acb234acb", "234acb234acb234acb234acd", "234acb234acb234acb234acbe"]
}
查询长文本在线合成任务-返回说明
返回参数:
参数名 | 类型 | 是否必需 | 描述 |
---|---|---|---|
log_id | int | 是 | log id |
tasks_info | list | 否 | 任务信息 |
+task_id | str | 是 | 任务id |
+task_status | str | 是 | 任务状态 |
+task_result | dict | 否 | 任务结果 |
++speech_url | str | 否 | 音频下载链接,任务完成后储存72小时 |
++speech_timestamp | dict | 否 | 字幕时间戳信息 |
+++sentences | list | 否 | 句子列表 |
++++paragraph_index | int | 否 | 句子在传入文本中段落位置 |
++++sentence_texts | str | 否 | 句子文本信息 |
++++begin_time | int | 否 | 句子文本在合成音频的开始时间戳 |
++++end_time | int | 否 | 句子文本在合成音频的结束时间戳 |
++++characters | list | 否 | 句子中各个词的信息 |
+++++character_text | str | 否 | 句子中的词文本 |
+++++begin_time | int | 否 | 句子中的词在合成音频的开始时间戳 |
+++++end_time | int | 否 | 句子中的词在合成音频的结束时间戳 |
++err_no | int | 否 | 错误码 |
++err_msg | str | 否 | 错误信息 |
++sn | str | 否 | |
error_code | int | 否 | 错误码 |
error_msg | str | 否 | 错误信息 |
error_info | list | 否 | 错误的或查询不存在taskId数组 |
返回示例:
{
"log_id": 16739423288701914,
"tasks_info": [
{
"task_status": "Success",
"task_result": {
"speech_url": "http://bj.bcebos.com/aipe-speech/text_to_speech/2023-01-17/63c6550e52064d000104da0d/speech/0.mp3?authorization=bce-auth-v1%2F8a6ca9b78c124d89bb6bca18c6fc5944%2F2023-01-17T07%3A58%3A12Z%2F259200%2F%2Fbb3f38b53425ced397a107aebe21d2e951ed0e27a964f39c2a350249ba07b47c",
"speech_timestamp": {
"sentences": [
{ "paragraph_index": 0,
"sentence_texts": "今年上半年我国工业经济面临的内外部环境还是比较严峻复杂的",
"begin_time": 104,
"end_time": 5970,
"characters": [
{
"character_text": "今",
"begin_time": 106,
"end_time": 313
},
{
"character_text": "年",
"begin_time": 316,
"end_time": 522
},
{
"character_text": "上",
"begin_time": 525,
"end_time": 732
},
{
"character_text": "半",
"begin_time": 735,
"end_time": 941
},
{
"character_text": "年",
"begin_time": 944,
"end_time": 1151
},
{
"character_text": "我",
"begin_time": 1154,
"end_time": 1360
},
{
"character_text": "国",
"begin_time": 1363,
"end_time": 1570
},
{
"character_text": "工",
"begin_time": 1573,
"end_time": 1779
},
{
"character_text": "业",
"begin_time": 1782,
"end_time": 1989
},
{
"character_text": "经",
"begin_time": 1992,
"end_time": 2198
},
{
"character_text": "济",
"begin_time": 2201,
"end_time": 2408
},
{
"character_text": "面",
"begin_time": 2411,
"end_time": 2617
},
{
"character_text": "临",
"begin_time": 2620,
"end_time": 2827
},
{
"character_text": "的",
"begin_time": 2830,
"end_time": 3036
},
{
"character_text": "内",
"begin_time": 3039,
"end_time": 3246
},
{
"character_text": "外",
"begin_time": 3249,
"end_time": 3455
},
{
"character_text": "部",
"begin_time": 3458,
"end_time": 3664
},
{
"character_text": "环",
"begin_time": 3667,
"end_time": 3874
},
{
"character_text": "境",
"begin_time": 3877,
"end_time": 4083
},
{
"character_text": "还",
"begin_time": 4086,
"end_time": 4293
},
{
"character_text": "是",
"begin_time": 4296,
"end_time": 4502
},
{
"character_text": "比",
"begin_time": 4505,
"end_time": 4712
},
{
"character_text": "较",
"begin_time": 4715,
"end_time": 4921
},
{
"character_text": "严",
"begin_time": 4924,
"end_time": 5131
},
{
"character_text": "峻",
"begin_time": 5134,
"end_time": 5340
},
{
"character_text": "复",
"begin_time": 5343,
"end_time": 5550
},
{
"character_text": "杂",
"begin_time": 5553,
"end_time": 5759
},
{
"character_text": "的",
"begin_time": 5762,
"end_time": 5969
}
]
}
]
}
},
"task_id": "63c6550e52064d000104da0d"
}
]
}