API 接口文档
详细的接口调用说明和参数配置指南
快速导航
文字识别(OCR)调用教程
支持图片文字识别和文本位置检测
接口地址
POST https://www.tulingyun.com/api/ocr
请求参数(JSON格式提交)
| 参数名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| token | String | 是 | 测试时统一使用"www.tulingyun.com" |
| upfile_b64 | String | 是 | 使用base64编码图片文件 |
| return_text | Int | 否 | 识别到多处文字时的拼接符号,0为不拼接返回list,1为用空格拼接,2为换行拼接,默认为0。注意:此值为1或2时只返回纯识别文本,无位置信息 |
| only_rec | Int | 否 | 是否为单行文本,0为普通识别模式,1为单行文本识别,5为截图文本识别,默认为0。注意:单行文本使用1时识别更准确,但要求请求图片必须为单行,否则无法识别 |
| model_version | String | 否 | 可选择paddle ocr v4或者paddle ocr v5模型,选择paddle ocr v4则此参数设置为v4,选择paddle ocr v5则此参数设置为v5,不设置默认为v5模型 |
| change_color | Int | 否 | 颜色处理选项,默认为0(不开启)。设置为5则开启颜色处理增强特定颜色文本的识别效果。 |
| color_filter | String | 否 | 颜色过滤,支持:红橙黄绿青蓝紫粉白黑灰,可自由组合。例如填入"红绿"表示仅过滤/保留红色和绿色。默认为空(不开启)。 |
返回结果
| 参数名称 | 类型 | 描述 |
|---|---|---|
| msg | 字符串 | 识别成功则返回"识别成功",否则返回识别失败原因 |
| text | 字符串数组 | 所识别的文本数组 |
| scores | 数组 | 所识别的文本数组置信度 |
| position | 数组 | 所识别文字位置数组,8个数字代表的四个角的坐标,排序为x1,y1,x2,y2,x3,y3,x4,y4 |
| status_code | 整数型 | 识别状态,正常为200000,其余为异常 |
| status_message | 字符串 | 识别状态,正常为"success",否则为出错原因 |
| tip | 字符串 | 保留参数 |
调用示例
{"token":"www.tulingyun.com","upfile_b64":"UklGRs...AA..","change_color":5,"color_filter":"红绿"}
测试接口
如调用失败则参考web测试接口调用:https://www.tulingyun.com/index.html
离线语音识别调用教程
支持音频文件识别和文本转换
接口地址
POST https://www.tulingyun.com/api/asr
请求参数(JSON格式提交)
| 参数名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| token | String | 是 | 测试时统一使用"www.tulingyun.com" |
| punc | Integer | 否 | 整数格式,0为不添加标点,1为添加标点,默认为0 |
| itn | Integer | 否 | 整数格式,0为不转换数字,1为转换数字,默认为0 |
| use_enhance_hot | Integer | 否 | 整数格式,0为不使用二次热词强化,1为使用二次热词强化,默认为0 |
| hotwords | String | 否 | 此处为热词,如不需要则留空即可,每个热词需要用|分隔,例如"语音识别|文字识别" |
| upfile_b64 | String | 是 | 使用base64编码音频文件 |
返回结果
| 参数名称 | 类型 | 描述 |
|---|---|---|
| result | 字符串 | 识别的内容 |
| raw_tokens | 字符串数组 | 识别的内容的原始token,字级别 |
| timestamp | 字符串数组 | 原始token,字级别时间戳 |
| status_code | 整数型 | 识别状态,正常为200000,其余为异常 |
| status_message | 字符串 | 识别状态,正常为"success",否则为出错原因 |
调用示例
{"token":"www.tulingyun.com","punc":0,"hotwords":"语音识别|文字识别|流式识别","upfile_b64":"UklGRs...AA.."}
测试接口
如调用失败则参考web测试接口调用:https://www.tulingyun.com/yuyin.html
实时语音识别调用教程(PCM流)
WebSocket实时音频流识别
接口地址
wss://www.tulingyun.com/api/asr_streaming
WebSocket参数
参数说明
首包发送JSON格式的验证信息,后续使用Bytes格式提交PCM流数据
| 参数名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| token | String | 是 | 测试时统一使用"www.tulingyun.com" |
| punc | Integer | 否 | 整数格式,0为不添加标点,1为添加标点,默认为0 |
| itn | Integer | 否 | 整数格式,0为不转换数字,1为转换数字,默认为0 |
| hotwords | String | 否 | 此处为热词,如不需要则留空即可,每个热词需要用|分隔,例如"语音识别|文字识别" |
| wav | Bytes | 是 | PCM流,发送验证信息后,就可以直接发送PCM流了 |
返回结果
| 参数名称 | 类型 | 描述 |
|---|---|---|
| msg | 字符串 | 识别成功则返回"识别成功",否则返回识别失败原因 |
| mode | 字符串 | 返回当前模式:online和offline,online实时显示当前结果,offline为一句话结束后修正识别结果 |
| online | 字符串 | 实时识别结果 |
| offline | 字符串 | 上一句话修正结果 |
| offline_isnew | 布尔型 | 是否第一次返回上一句话修正结果 |
| offline_id | 整数型 | 修正结果id,用于区分,每出现一次新的offline修正结果,id值加1 |
调用示例
调用流程
1. 连接WebSocket后首包发送验证信息
2. 提交验证信息后,直接发送PCM流(16000Hz,单声道)
2. 提交验证信息后,直接发送PCM流(16000Hz,单声道)
{"token":"www.tulingyun.com","punc":0,"hotwords":"语音识别|文字识别|流式识别"}
实时语音识别调用教程(Base64编码)
WebSocket实时音频Base64识别
接口地址
wss://www.tulingyun.com/api/asr_streaming
WebSocket参数(JSON格式提交)
| 参数名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| token | String | 是 | 测试时统一使用"www.tulingyun.com" |
| punc | Integer | 否 | 整数格式,0为不添加标点,1为添加标点,默认为0 |
| itn | Integer | 否 | 整数格式,0为不转换数字,1为转换数字,默认为0 |
| hotwords | String | 否 | 此处为热词,如不需要则留空即可,每个热词需要用|分隔,例如"语音识别|文字识别" |
| wav | String | 是 | 使用base64编码音频文件 |
返回结果
| 参数名称 | 类型 | 描述 |
|---|---|---|
| msg | 字符串 | 识别成功则返回"识别成功",否则返回识别失败原因 |
| mode | 字符串 | 返回当前模式:online和offline,online实时显示当前结果,offline为一句话结束后修正识别结果 |
| online | 字符串 | 实时识别结果 |
| offline | 字符串 | 上一句话修正结果 |
| offline_isnew | 布尔型 | 是否第一次返回上一句话修正结果 |
| offline_id | 整数型 | 修正结果id,用于区分,每出现一次新的offline修正结果,id值加1 |
调用示例
{"token":"www.tulingyun.com","punc":0,"hotwords":"语音识别|文字识别|流式识别","wav":"UklGRs...AA.."}
语音合成 HTTP API 调用教程
支持将文字极速转换为高质量的音频流
接口地址
POST https://tts_api.tulingyun.com/api/tts
请求参数(JSON格式提交)
| 参数名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| token | String | 否 | 认证密钥,测试时使用"www.tulingyun.com" |
| text | String | 是 | 需要合成语音的文本内容 |
| voice | String | 否 | 发音人,如"gentle_female_voice_v2"、"gentle_female_voice"、"cute_female_voice",默认为"gentle_female_voice_v2" |
| format | String | 否 | 返回的音频格式,可选: "mp3", "wav", "ogg", "opus",默认为"mp3" |
| return_type | String | 否 | 返回格式设置,"bytes"代表直接返回音频流文件(application/octet-stream),"json"或其他返回带有Base64的JSON结构。默认为"bytes" |
返回结果
提示
当
否则返回包含
return_type 设为 bytes 时(默认情况),接口将直接下发可播放的音频二进制流数据,HTTP Header的 Content-Type 将变为对应格式的 MIME 类型(如 `audio/mpeg`)。否则返回包含
audio_data (Base64) 的 JSON 对象。
调用示例
{"token":"www.tulingyun.com", "text":"您好,欢迎使用图灵云语音合成!", "voice":"gentle_female_voice_v2", "format":"mp3", "return_type":"bytes"}
流式语音合成调用教程(WebSocket)
首字节极速下发,边合成边返回音频流
接口地址
wss://tts_api.tulingyun.com/ws/tts
首包参数(JSON格式提交)
连接指南
建立 WebSocket 连接后,客户端首先下发一段 JSON 配置数据。服务端在极速高并发切割和处理合成任务时,会第一时间流式返回音频切片的**二进制数据帧 (Binary Frame)**,绝不长时等待。
| 参数名称 | 类型 | 必选 | 描述 |
|---|---|---|---|
| token | String | 否 | 测试认证Token |
| text | String | 是 | 需要流式合成的长文本内容 |
| voice | String | 否 | 指定发音人,如 "gentle_female_voice_v2" |
| format | String | 否 | 接收流媒体的格式(如 mp3, wav),配合Web Audio API,首推 WAV 实现完美无缝播放 |
下发结果说明
服务端将向客户端混合极速下发 JSON 格式文本帧 和 音频块二进制数据帧:
| 帧类型 | 返回内容示例 / 格式 | 描述 |
|---|---|---|
| 文本帧 (JSON) | {"status": "start", "chunks": 5} | 握手成功并已开始进行切片合成,告知预计的合成段数 |
| 二进制帧 (Bytes) | [二进制流数据] |
生成的一小段音频数据流。收到后即可压入播放缓冲池或立即播放。 ⚠️ 开发者避坑注意:如果 format 为 wav,由于每次服务端生成的文件都会包含 44 字节的 WAV RIFF 文件头,**在前端对切片进行最终组装合并时,除了第 1 个包,后续所有包都必须强行剔除前 44 字节的数据** (如 JS 代码:blob.slice(44)),否则直接暴力拼接会因为文件头冲突而产生灾难性的爆音与卡顿!
|
| 文本帧 (JSON) | {"status": "done"} | 整段长文本所有的音频块已全部下发完毕 |
| 文本帧 (JSON) | {"status": "error", "message": "..."} | 发生错误时的通知 |
客户端握手发送示例
{"token":"www.tulingyun.com", "text":"首先,服务端立刻返回第一句话...随后,流式传输会将每句话无缝衔接。", "voice":"gentle_female_voice_v2", "format":"wav"}