功能描述
CreateSpeechJobs 接口用于创建一个语音识别任务。
请求
请求示例
POST /asr_jobs HTTP/1.1Host: <BucketName-APPID>.ci.<Region>.myqcloud.comDate: <GMT Date>Authorization: <Auth String>Content-Length: <length>Content-Type: application/xml<body>
请求头
请求体
该请求操作的实现需要有如下请求体。
<Request><Tag>SpeechRecognition</Tag><Input><Object></Object></Input><Operation><SpeechRecognition></SpeechRecognition><Output><Region></Region><Bucket></Bucket><Object></Object></Output></Operation><QueueId></QueueId></Request>
具体的数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Request | 无 | 保存请求的容器 | Container | 是 |
Container 类型 Request 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Tag | Request | 创建任务的 Tag,目前仅支持:SpeechRecognition | String | 是 |
Input | Request | 待操作的语音文件 | Container | 是 |
Operation | Request | 操作规则 | Container | 是 |
QueueId | Request | 任务所在的队列 ID | String | 是 |
Container 类型 Input 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Object | Request.Input | 语音文件在 COS 上的 key,Bucket 由 Host 指定 | String | 是 |
Container 类型 Operation 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
SpeechRecognition | Request.Operation | 当 Tag 为 SpeechRecognition 时有效,指定该任务的参数 | Container | 否 |
Output | Request.Operation | 结果输出地址 | Container | 是 |
Container 类型 SpeechRecognition 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
EngineModelType | Request.Operation.Speech Recognition | 引擎模型类型,分为电话场景和非电话场景。 电话场景: 8k_zh:电话 8k 中文普通话通用(可用于双声道音频); 8k_zh_s:电话 8k 中文普通话话者分离(仅适用于单声道音频); 非电话场景: 16k_zh:16k 中文普通话通用; 16k_zh_video:16k 音视频领域; 16k_en:16k 英语; 16k_ca:16k 粤语。 | String | 是 |
ChannelNum | Request.Operation.Speech Recognition | 语音声道数: 1表示单声道; 2表示双声道(仅支持 8k_zh 引擎模型)。 | Integer | 是 |
ResTextFormat | Request.Operation.Speech Recognition | 识别结果返回形式: 0表示识别结果文本(含分段时间戳); 1表示仅支持16k中文引擎,含识别结果详情(词时间戳列表,一般用于生成字幕场景)。 | Integer | 是 |
FilterDirty | Request.Operation.Speech Recognition | 是否过滤脏词(目前支持中文普通话引擎): 0表示不过滤脏词; 1表示过滤脏词; 2表示将脏词替换为 * 。默认值为0。 | Integer | 否 |
FilterModal | Request.Operation.Speech Recognition | 是否过滤语气词(目前支持中文普通话引擎): 0表示不过滤语气词; 1表示部分过滤; 2表示严格过滤 。默认值为 0。 | Integer | 否 |
ConvertNumMode | Request.Operation.Speech Recognition | 是否进行阿拉伯数字智能转换(目前支持中文普通话引擎): 0表示不转换,直接输出中文数字; 1表示根据场景智能转换为阿拉伯数字。默认值为1。 | Integer | 否 |
Container 类型 Output 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Region | Request.Operation.Output | 存储桶的地域 | String | 是 |
Bucket | Request.Operation.Output | 存储结果的存储桶 | String | 是 |
Object | Request.Operation.Output | 结果文件的名称 | String | 是 |
响应
响应头
响应体
该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
<Response><JobsDetail><Code></Code><Message></Message><JobId></JobId><State></State><CreationTime></CreationTime><QueueId></QueueId><Tag><Tag><Input><Object></Object></Input><Operation><SpeechRecognition></SpeechRecognition><Output><Region></Region><Bucket></Bucket><Object></Object></Output><MediaInfo></MeidaInfo></Operation></JobsDetail></Response>
具体的数据内容如下:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Response | 无 | 保存结果的容器 | Container |
Container 节点 Response 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
JobsDetail | Response | 任务的详细信息 | Container |
Container 节点 JobsDetail 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Code | Response.JobsDetail | 错误码,只有 State 为 Failed 时有意义 | String |
Message | Response.JobsDetail | 错误描述,只有 State 为 Failed 时有意义 | String |
JobId | Response.JobsDetail | 新创建任务的 ID | String |
Tag | Response.JobsDetail | 新创建任务的 Tag:SpeechRecognition | String |
State | Response.JobsDetail | 任务的状态,为 Submitted、Running、Success、Failed、Pause、Cancel 其中一个 | String |
CreationTime | Response.JobsDetail | 任务的创建时间 | String |
QueueId | Response.JobsDetail | 任务所属的队列 ID | String |
Input | Response.JobsDetail | 该任务的输入资源地址 | Container |
Operation | Response.JobsDetail | 该任务的规则 | Container |
Container 节点 Input 的内容:
同上面请求中的 Request.Input 节点。
Container 节点 Operation 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
TemplateId | Response.JobsDetail.Operation | 任务的模板 ID | String |
Output | Response.JobsDetail.Operation | 文件的输出地址 | Container |
MediaInfo | Response.JobsDetail.Operation | 转码输出视频的信息,没有时不返回 | Container |
Container 节点 Output 的内容:
同上面请求中的 Request.Operation.Output 节点。
Container 节点 SpeechRecognition 的内容:
同上面请求中的 Request.Operation.SpeechRecognition节点。
错误码
实际案例
请求:创建语音识别任务
POST /asr_jobs HTTP/1.1Connection: keep-aliveAccept-Encoding: gzip, deflateAccept: */*User-Agent: cos-python-sdk-v5.3.2Host: examplebucket-1250000000.ci.ap-chongqing.myqcloud.comContent-Type: application/xmlContent-Length: 411Authorization: q-sign-algorithm=sha1&q-ak=AKIDnOr9IDiIUNYWGrrWb2IJ4YmywDXc****&q-sign-time=1597915249;1597925309&q-key-time=1597915249;1597925309&q-header-list=content-type;host&q-url-param-list=&q-signature=cb18718939be449e84d22358e8f0e****<?xml version="1.0" encoding="utf-8"?><Request><Input><Object>music.mp3</Object></Input><Operation><Output><Region>ap-chongqing</Region><Object>music.mp3</Object><Bucket>examplebucket-1250000000</Bucket></Output><SpeechRecognition><ChannelNum>1</ChannelNum><EngineModelType>16k_zh</EngineModelType></SpeechRecognition></Operation><Tag>SpeechRecognition</Tag><QueueId>p2e11b0a26d404d029c15f06c48803dde</QueueId></Request>
响应
HTTP/1.1 200 OKDate: DateContent-Type: application/xmlContent-Length: 863Connection: keep-aliveServer: tencent-cix-ci-request-id: request-id<?xml version="1.0" encoding="utf-8"?><Response><JobsDetail><Code>Success</Code><CreationTime>2020-08-20T17:35:11+0800</CreationTime><EndTime>-</EndTime><Input><Object>16k.mp3</Object></Input><JobId>s716d8c8ee2c811ea94a0b170ddb38f60</JobId><Message/><Operation><Output><Bucket>test005-1251704708</Bucket><Object>music.txt</Object><Region>ap-chongqing</Region></Output><SpeechRecognition><ChannelNum>1</ChannelNum><ConvertNumMode>1</ConvertNumMode><EngineModelType>16k_zh</EngineModelType><FilterDirty>0</FilterDirty><FilterModal>0</FilterModal><ResTextFormat>0</ResTextFormat></SpeechRecognition></Operation><QueueId>p5275b560c7fd498db9a36e5e202827b6</QueueId><State>Submitted</State><Tag>SpeechRecognition</Tag></JobsDetail></Response>