圖片鑒黃
更新時間 2024-10-25 15:12:53
最近更新時間: 2024-10-25 15:12:53
分享文章
1、接口描述
用于自動審核指定圖片中是否存在色情內容,并給出該圖片的涉黃指數,表明圖片內容的涉黃程度。
2、請求方法。
POST
3、接口要求
- 圖片格式限制:圖片格式支持 png、jpg、jpeg、bmp、heic格式
- 圖片大小限制:圖片單張大小不超過 10MB,批量請求單次不超過50張
- 圖片尺寸限制:圖片像素尺寸大于等于32x32 ,小于等于5000x5000
4、URI
/v1/aiop/api/2f820wzpai9s/PictureIdentity/api/v1/image_porn.json
5、請求參數
請求頭header參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| Content-Type | 是 | String | json格式 | application/json | |
| appkey | 是 | String | 平臺應用appkey | 562b89493b1a40e1b97ea05e50dd8170 | |
| ctyun-eop-request-id | 是 | String | 用戶請求 id,由用戶構造,用戶可以通過 uuid 等方法自行生成唯一字符串,用于日志請求追蹤。 詳見文檔:Python3調用示例 |
33dfa732-b27b-464f-b15a-21ed6845afd5 | |
| eop-date | 是 | String | 請求時間,由用戶構造,形如 yyyymmddTHHMMSSZ。 詳見文檔:Python3調用示例 |
20211221T163014Z | |
| host | 是 | String | 終端節點域名,固定字段 | ai-global.ctapi.daliqc.cn | |
| Eop-Authorization | 是 | String | 由天翼云官網 accessKey 和 securityKey 經簽名后生成,參與簽名生成的字段包括天翼云官網 accessKey 、securityKey、平臺應用的appkey(非必須),用戶請求id(非必須),請求時間,終端節點域名(非必須)以及請求體內容。 簽名邏輯詳見文檔:認證鑒權和Python3調用示例 |
請求體body參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| data | 是 | List | 請求參數放置于http body中,一張或多張圖像Base64編碼數據構成的list,注意:圖片需要使用常規base64編碼方式 | - |
6、 請求代碼示例
Curl -X POST
"//ai-global.ctapi.daliqc.cn/v1/aiop/api/2f820wzpai9s/PictureIdentity/api/v1/image_porn.json "
-H "Content-Type: application/json"
-H "ctyun-eop-request-id:33dfa732-b27b-464f-b15a-21ed6845afd5"
-H "appkey:XXX"
-H "Eop-Authorization:XXX"
-H "eop-date:20211109T104641Z"
-H "host:ai-global.ctapi.daliqc.cn"
--data '{"data":["AAAAAAAAA...."]}'
7、 返回值說明
請求成功返回響應參數
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| statusCode | 是 | Int | 請求響應狀態碼,返回 0 表示成功,返回錯誤代碼參考下面的錯誤代碼列表。 | 0 | |
| message | 是 | Object | 請求信息結構體,message["success"]代表請求list中的成功數量,message["fail"]代表請求list中的失敗數量 | "success":3, "fail":0 | |
| returnObj | 是 | Oject | 返回結果鍵值集合,鍵為場景名稱”porn”;值為場景對應的圖片結果,按照列表形式排列,每個元素為圖片對應的鑒定結果鍵值對,元素排序按照傳入順序排列 | returnObj |
表returnObj
| 參數 | 是否必填 | 參數類型 | 說明 | 示例 | 下級對象 |
|---|---|---|---|---|---|
| porn | 是 | List | 場景對應的圖片結果,按照列表形式排列,每個元素為圖片對應的鑒定結果鍵值對,元素排序按照傳入順序排列 | - | |
| porn[].label | 否 | Int | 圖片的分類結果,0表示正常,1表示該場景下違規,2表示人工審核 | - | |
| porn[].class_name | 否 | String | 圖片分類結果描述,為正常、違規或人工審核 | - | |
| porn[].confidence | 否 | Float | 圖片違規的置信度,在0到1區間 | - | |
| porn[].err_code | 否 | Int | 若該張圖片處理異常,則返回該圖片的錯誤代碼 | - | |
| porn[].err_msg | 否 | String | 若該張圖片處理異常,則返回該圖片的錯誤消息 | - |
8、 返回值示例
請求成功返回值示例
{
"statusCode":0,
"message": {"success":3, "fail":0},
"returnObj":{
"porn": [
{
"label": 0,
"class_name": "正常",
"confidence": 0.315978
},
{
"label": 0,
"class_name": "正常",
"confidence": 0.0000078003
},
{
"label": 1,
"class_name": "違規",
"confidence": 0.985978
}
]
}
}
請求失敗返回值示例
{
"statusCode": 4003,
"message": "error",
"details": "請求中未包data字段",
"error":"AI_OP_4003"
}
9、狀態碼
| http狀態碼 | 描述 |
|---|---|
| 200 | 表示請求成功。 |
10、錯誤碼說明
4 位錯誤碼。4 開頭為業務錯誤碼,5 開頭為服務錯誤碼。
| 錯誤碼 | 錯誤信息 | 錯誤描述 |
|---|---|---|
| AI_OP_4002 | 請求文件格式不支持 | 請求的數據格式該接口暫不支持 |
| AI_OP_4006 | base64數據處理異常 | 客戶端傳遞的base64格式在處理時發生異常,可以嘗試在本地轉換base64是否有異常 |
| AI_OP_4008 | 圖片分辨率不符合要求 | 該圖片的分辨率過大或過小,目前系統可接受的尺寸在 32*32 到 5000 * 5000 之間 |
| AI_OP_4009 | 圖片文件大小不符合要求 | 該文件大小不符合要求,靜態圖片要求小于10M,動態圖片要求小于50M |
| AI_OP_4017 | 處理該請求超時 | 該請求內部處理超時,請稍后再試。 |
| AI_OP_4018 | 單次批量請求數量超過限制 | 該批次請求量超過限制,請降低單批次請求量 |
| AI_OP_5000 | 服務內部錯誤 | 需要聯系管理員處理 |
| AI_OP_5001 | 服務接口異常,請聯系管理員 | 當前接口無法正常處理請求,需要聯系管理員處理。 |
| AI_OP_5003 | 場景接口異常,具體參見返回消息 | 后端服務超時等 |
11、base64 編碼規則:使用常規的 safe base64 編碼方式
- python 中推薦使用
base64.urlsafe_b64encode()函數進行編碼。 - java 中推薦使用
BASE64.getUrlEncoder().encodeToString()函數進行編碼。