本文介紹了調用語音審核增強版接口審核音頻內容的方法,包括音頻文件審核和音頻流審核。
使用說明
業務接口:https://green-cip.{region}.aliyuncs.com
。
您可以調用該接口創建語音內容檢測任務。關于如何構造HTTP請求,請參見HTTP原生調用;您也可以直接選用已構造好的HTTP請求,更多信息,請參見語音審核增強版SDK及接入指南。
業務接口:
提交審核任務:VoiceModeration
查詢審核任務:VoiceModerationResult
取消審核任務:VoiceModerationCancel
支持的地域及接入地址:
地域
外網接入地址
內網接入地址
華東2(上海)
green-cip.cn-shanghai.aliyuncs.com
green-cip-vpc.cn-shanghai.aliyuncs.com
華北2(北京)
green-cip.cn-beijing.aliyuncs.com
green-cip-vpc.cn-beijing.aliyuncs.com
華東1(杭州)
green-cip.cn-hangzhou.aliyuncs.com
green-cip-vpc.cn-hangzhou.aliyuncs.com
華南1(深圳)
https://green-cip.cn-shenzhen.aliyuncs.com
green-cip-vpc.cn-shenzhen.aliyuncs.com
計費信息:
該接口為收費接口。僅對HTTP狀態碼為200的請求進行計量計費,產生其他錯誤碼時不會計費。關于計費方式,請參見計費說明。
服務性能:
服務性能
說明
音頻文件大小
增強版支持音頻文件的大小限制從200 MB提高到500 MB。
音頻文件格式
支持音頻文件格式:MP3、WAV、AAC、WMA、OGG、M4A、AMR。
支持視頻文件格式:AVI、FLV、MP4、MPG、ASF、WMV、MOV、RMVB、RM。
音頻直播流
支持以下協議:RTMP、HLS、HTTP-FLV、RTSP。
請求頻率(QPS)
提交任務請求頻率(QPS)從50次/秒提升至100次/秒。
并發路數
增強版支持的默認并發路數限制從20路提高至50路。
提交審核任務
請求參數
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
Service | String | 是 | live_stream_detection | 審核服務類型。取值:
|
ServiceParameters | JSONString | 是 | 審核服務需要的參數集。JSON字符串格式,關于每個字符串的描述,請參見ServiceParameters。 |
表 1. ServiceParameters
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
url | String | 是。音頻審核增強版支持三種方式傳入文件,請您選擇其中一種:
| http://aliyundoc.com/test.flv | 待檢測對象的URL:公網HTTP/HTTPS URL。 |
ossBucketName | String | bucket_01 | 已授權OSS空間的Bucket名。 說明 使用OSS視頻內網地址時必須先使用阿里云賬號(即主賬號)訪問云資源訪問授權頁面進行授權。 | |
ossObjectName | String | 20240307/07/28/test.flv | 已授權OSS空間的文件名。 | |
ossRegionId | String | cn-shanghai | OSS Bucket所在區域。 | |
callback | String | 否 | http://aliyundoc.com | 檢測結果回調通知您的URL,支持使用HTTP和HTTPS協議的地址。該字段為空時,您必須定時輪詢檢測結果。 callback接口必須支持POST方法、UTF-8編碼的傳輸數據,以及表單參數checksum和content。 內容安全按照以下規則和格式設置checksum和content,調用您的callback接口返回檢測結果。
說明 您的服務端callback接口收到內容安全推送的結果后,如果返回的HTTP狀態碼為200,則表示接收成功,其他的HTTP狀態碼均視為接收失敗。接收失敗時,內容安全將最多重復推送16次檢測結果,直到接收成功。重復推送16次后仍未接收成功,則不再推送,建議您檢查callback接口的狀態。 |
seed | String | 否 | abc**** | 隨機字符串,該值用于回調通知請求中的簽名。 由英文字母、數字、下劃線(_)組成,不超過64個字符。由您自定義,用于在接收到內容安全的回調通知時校驗請求由阿里云內容安全服務發起。 說明 當使用callback時,該字段必須提供。 |
cryptType | String | 否 | SHA256 | 使用回調通知時(callback),設置對回調通知內容進行簽名的算法。內容安全會將返回結果(由用戶uid + seed + content拼接的字符串)按照您設置的加密算法計算簽名,再發送到您的回調通知地址。取值:
|
liveId | String | 否 | liveId1**** | 語音直播流的ID。 該參數用于語音直播任務去重,防止重復檢測,如果傳遞該參數,會根據 |
dataId | String | 否 | voice20240307*** | 檢測對象對應的數據ID。 由大小寫英文字母、數字、下劃線(_)、短劃線(-)、英文句號(.)組成,不超過64個字符,可以用于唯一標識您的業務數據。 |
extra | String | 否 | {"VolcAppId":"6fabbd****1a7e", "VolcTokenId": "User123456", "VolcToken": "6fabbd****1a7e"} | 擴展參數JSON字符串,僅用于指定第三方音視頻通信RTC產品的參數。具體信息,請參見語音審核增強版對接第三方音視頻通信RTC。 |
返回參數
名稱 | 類型 | 示例值 | 描述 |
Code | Integer | 200 | 狀態碼。更多信息,請參見Code說明。 |
Data | JSONObject | {"TaskId": "AAAAA-BBBBB","DataId": "voice20240307***"} | 審核結果數據。 |
Message | String | OK | 請求消息的響應消息。 |
RequestId | String | AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE**** | 請求ID。 |
示例
請求示例
{
"Service": "audio_media_detection",
"ServiceParameters": {
"cryptType": "SHA256",
"seed": "abc***123",
"callback": "https://aliyun.com/callback",
"url": "http://aliyundoc.com/test.flv"
}
}
正常返回示例
{
"Code": 200,
"Data": {
"TaskId": "AAAAA-BBBBB",
"DataId": "voice20240307***"
},
"Message": "SUCCESS",
"RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}
查詢任務結果
直播類型審核任務過程中,查詢結果會返回最近N條語音片段數據。任務審核完成后,查詢結果會返回全部語音片段數據。
查詢審核任務:VoiceModerationResult。
計費信息:該接口不計費。
查詢超時:建議您將查詢間隔設置為30秒(即在提交異步檢測任務30秒后查詢結果),最長不能超過24小時,否則結果將會自動刪除。
QPS限制
本接口的單用戶QPS限制為100次/秒。超過限制,API調用會被限流,這可能會影響您的業務,請合理調用。
請求參數
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
Service | String | 是 | live_stream_detection | 審核服務類型。 |
ServiceParameters | JSONString | 是 | 審核服務需要的參數集。JSON字符串格式,關于每個字符串的描述,請參見ServiceParameters。 |
表 2. ServiceParameters
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
taskId | String | 是 | AAAAA-BBBBB | 提交任務返回的ID。 |
返回參數
名稱 | 類型 | 示例值 | 描述 |
Code | Integer | 200 | 狀態碼。更多信息,請參見Code說明。 |
Data | JSONObject | 音頻內容檢測結果。更多信息,請參見Data。 | |
Message | String | OK | 請求消息的響應消息。 |
RequestId | String | AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE**** | 請求ID。 |
表 3. Data
名稱 | 類型 | 示例值 | 描述 |
Url | String | https://aliyundoc.com | 檢測對象的URL。 |
LiveId | String | liveId1**** | 語音直播流的ID(可選)。 |
DataId | String | voice20240307*** | 檢測對象對應的數據ID(可選)。 |
RiskLevel | String | high | 音頻的風險等級,根據所有音頻切片計算后返回,返回值包括:
說明 高風險內容建議直接處置;中風險內容建議人工復查;低風險內容建議在高召回需求時再做處理,日常建議和未檢測到風險做相同處理。 |
SliceDetails | JSONArray | 返回語音片段的詳細結果。具體內容,請參見sliceDetails。 |
表 4. sliceDetails
名稱 | 類型 | 示例值 | 描述 |
StartTime | Integer | 0 | 句子開始的時間,單位:秒。 |
EndTime | Integer | 4065 | 句子結束的時間,單位:秒。 |
StartTimestamp | Integer | 1678854649720 | 切片開始時間戳,單位:毫秒。 |
EndTimestamp | Integer | 1678854649720 | 切片結束時間戳,單位:毫秒。 |
Text | String | 惡心的 | 語音轉換成文本內容。 |
Url | String | https://aliyundoc.com | 如果檢測的內容是語音流,表示該段文本對應的語音流的臨時訪問地址。該地址有效時間為30分鐘,需要及時轉存。 |
Labels | String | political_content,xxxx | 標簽,多個用英文逗號分隔。包括:
|
RiskLevel | String | high | 音頻切片的風險等級,返回值包括:
|
RiskWords | String | AAA,BBB,CCC | 命中風險詞,多個詞以逗號分隔。 |
RiskTips | String | 色情_低俗詞,色情_描述 | 細分標簽,多個標簽以逗號分隔。 |
Extend | String | {\"riskTips\":\"色情_低俗詞\",\"riskWords\":\"色情服務\"} | 保留字段。 |
示例
請求示例
{
"Service": "audio_media_detection",
"ServiceParameters": {
"taskId": "AAAAA-BBBBB"
}
}
正常返回示例
{
"Code": 200,
"Data": {
"DataId": "voice20240307***",
"LiveId": "liveId1****",
"RiskLevel": "high",
"SliceDetails": [
{
"EndTime": 4065,
"Labels": "political_content,xxxx",
"RiskLevel": "high",
"RiskTips": "違禁_違禁商品",
"RiskWords": "風險詞A",
"StartTime": 0,
"Text": "內容安全產品測試用例",
"Url": "https://aliyundoc.com"
}
]
},
"Message": "OK",
"RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}
取消審核任務
僅直播流的審核任務支持取消,文件類型的任務不支持取消。
取消審核任務:VoiceModerationCancel。
計費信息:該接口不計費。
請求參數
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
Service | String | 是 | live_stream_detection | 審核服務類型。 |
ServiceParameters | JSONString | 是 | 審核服務需要的參數集。JSON字符串格式,關于每個字符串的描述,請參見ServiceParameters。 |
表 5. ServiceParameters
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
taskId | String | 是 | AAAAA-BBBBB | 提交任務返回的ID。 |
返回參數
名稱 | 類型 | 示例值 | 描述 |
Code | Integer | 200 | 狀態碼。更多信息,請參見Code說明。 |
Message | String | OK | 請求消息的響應消息。 |
RequestId | String | AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE**** | 請求ID。 |
示例
請求示例
{
"Service": "live_stream_detection",
"ServiceParameters": {
"taskId": "AAAAA-BBBBB"
}
}
正常返回參數
{
"Code": 200,
"Message": "OK",
"RequestId": "AAAAAA-BBBB-CCCCC-DDDD-EEEEEEEE****"
}
回調消息格式
回調消息的數據為JSON格式的表單如下所示:
字段名 | 字段類型 | 描述 |
checksum | String | 校驗碼,字符串格式,由用戶 用戶UID即阿里云賬號ID,可以在阿里云控制臺查詢。為防篡改,您可以在獲取到推送結果時,按上述算法生成字符串,與checksum做一次校驗。 說明 用戶UID必須是阿里云賬號的UID,而不是RAM用戶的UID。 |
taskId | String | 回調消息的任務ID。 |
content | String | 序列化后的檢測結果,JSON字符串格式,請自行解析反轉成JSON對象。關于content結果的格式,與查詢任務結果的返回一致。詳細信息,請參見返回參數。 |
Code說明
以下為接口返回code的含義說明,系統僅對code返回為200的請求計量計費,其他code不會計費。
Code | 說明 |
200 | 請求正常。 |
280 | 檢測中。 |
400 | 請求參數為空。 |
401 | 請求參數錯誤。 |
402 | 請求參數長度不符合接口規定,請檢查并修改。 |
403 | 請求超過QPS限制,請檢查并調整QPS限制。 |
404 | 傳入的文件下載遇到錯誤,請檢查或重試。 |
405 | 傳入的文件下載超時,可能是因為文件無法訪問,請檢查調整后重試。 |
406 | 傳入的文件超過大小限制,請檢測調整后重試。 |
407 | 傳入的文件格式暫不支持,請檢查調整后重試。 |
408 | 該賬號無權限調用該接口,可能是賬號未開通或者已欠費,或者調用賬號未被授權訪問。 |
480 | 檢測并發路數超過限制,請檢查并調整并發。 |
500 | 系統異常。 |