本文介紹了調用圖片同步檢測介面(/green/image/scan)進行圖片內容審核的方法。圖片審核協助您檢測圖片中的風險或違規內容,具體包括以下情境:圖片智能鑒黃、圖片暴恐涉政、圖文違規、圖片二維碼、圖片不良情境、圖片logo。
使用說明
業務介面:/green/image/scan,表示圖片同步檢測。
您可以調用該介面建立圖片同步檢測任務。關於如何構造HTTP請求,請參見請求結構;您也可以直接選用已構造好的HTTP請求,更多資訊,請參見SDK概覽。
- 計費資訊:
該介面為收費介面。關於計費方式,請參見Alibaba Content Security Service產品定價。
- 檢測逾時:
同步檢測允許的最長檢測時間是6秒,如果檢測在該時間限制內沒有完成,系統會強制返回逾時錯誤碼。如果您對即時性要求不高,可以選擇非同步檢測,其他情況下請選擇同步檢測,同步檢測介面的調用相對簡單些。對於同步檢測介面的調用,建議您將逾時時間設定為6秒。
- 返回結果:
同步檢測請求一般會在一秒內同步返回結果,但在一些特殊情境(例如系統繁忙導致堆積嚴重、圖片較大、含有OCR內容較多等),耗時可能會增加。
- 圖片要求:
圖片連結支援以下協議:HTTP和HTTPS。
圖片支援以下格式:PNG、JPG、JPEG、BMP、GIF、WEBP。
圖片大小限制為20 MB以內(適用於同步和非同步呼叫)。
圖片下載時間限制為3秒內,如果下載時間超過3秒,返回下載逾時。
圖片像素建議不低於256*256(px),像素過低可能會影響識別效果。
圖片檢測介面的回應時間依賴圖片的下載時間。請保證被檢測圖片所在的儲存服務穩定可靠,建議您使用阿里雲OSS儲存或者CDN緩衝等。
情境名稱 | 描述 | 檢測結果分類 |
圖片智能鑒黃 | 檢測圖片是否包含色情、性感內容。 | 正常、色情、性感 |
圖片暴恐涉政 | 檢測圖片是否包含暴恐或涉政類內容。 | 正常、血腥、爆炸煙光、特殊裝束、特殊標識、武器、涉政、打鬥、聚眾、遊行、車禍現場、旗幟、地標 |
圖文違規 | 檢測圖片是否包含廣告和文字違規資訊。 | 正常、文字含涉政內容、文字含涉黃內容、文字含辱罵內容、文字含暴恐內容、文字含違禁內容、文字含其他垃圾內容、牛皮癬廣告、含二維碼、含小程式碼、其他廣告 說明 請根據實際情況,設定您需要的檢測分類。更多資訊,請參見自訂機審標準。 |
圖片二維碼 | 檢測圖片是否包含二維碼或小程式碼。 | 正常、含二維碼、含小程式碼 說明 請根據實際情況,設定您需要的檢測分類。更多資訊,請參見自訂機審標準。 |
圖片不良情境 | 檢測圖片是否包含黑屏、黑邊、昏暗畫面、畫中畫、吸煙、車內直播等不良情境。 | 正常、圖片中無內容(例如黑屏、白屏)、畫中畫、吸煙、車內直播 |
圖片logo | 檢測圖片是否包含logo資訊,例如台標,商標等。 | 正常、含受管控的logo、含商標 |
QPS限制
本介面的單使用者QPS限制為50次/秒。超過限制,API調用會被限流,這可能會影響您的業務,請合理調用。
請求參數
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
bizType | String | 否 | default | 該欄位用於標識您的業務情境。您可以通過Alibaba Content Security Service控制台建立業務情境(具體操作,請參見自訂機審標準)。 |
scenes | StringArray | 是 | ["porn","terrorism","ad","live","qrcode","logo"] | 指定檢測情境。取值:
支援指定多個情境,例如, ["porn", "terrorism"] 表示對圖片同時進行智能鑒黃和暴恐涉政檢測。說明 同時檢測多個情境的情況下,將按照每個情境的檢測圖片數量×每個情境的單價進行累加計費。 |
tasks | JSONArray | 是 | 指定檢測對象,JSON數組中的每個元素是一個檢測任務結構體。最多支援100個元素,即每次提交100條內容進行檢測,支援100個元素的前提是需要將並發任務調整到100個以上。關於每個元素的具體結構描述,請參見task。 |
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
clientInfo | JSONObject | 否 | {"userId":"12023****","userNick":"Mike","userType":"others"} | 用戶端資訊,請參見公用參數中的公用查詢參數。 伺服器會把全域的clientInfo和此處獨立的clientInfo合并。 說明 獨立的clientInfo優先順序更高。 |
dataId | String | 否 | cfd33235-71a4-468b-8137-a5ffe323**** | 檢測對象對應的資料ID。 由大小寫英文字母、數字、底線(_)、短劃線(-)、英文句號(.)組成,不超過128個字元,可以用於唯一標識您的業務資料。 |
url | String | 是 | http://www.aliyundoc.com/xxx.jpg | 公網HTTP/HTTPS URL,且長度不超過2048個字元。 |
extras | JSONObject | 否 | {"hitLibInfo":[{"context":"好看視頻","libCode":"2144002","libName":"預發測試廣告相似文本庫a"}]} | 額外調用參數。圖片審核情境下無需傳入該參數。 |
interval | Integer | 否 | 2 | 截幀頻率,GIF圖、長圖檢測專用。
預設只會檢測GIF圖、長圖的第一幀,interval參數用於指示後台在檢測時可按照該間隔跳著檢測,以節省檢測成本。 說明 interval需要與maxFrames參數組合使用。例如,設定interval為2,maxFrames為10,在檢測GIF圖、長圖時,將每間隔1幀檢測一次,最多檢測10幀,計費則按照實際檢測的數量計算。 |
maxFrames | Integer | 否 | 10 | 最大截幀數量,GIF圖、長圖檢測專用,預設值為1。 當 |
返回資料
名稱 | 類型 | 樣本值 | 描述 |
code | Integer | 200 | 錯誤碼,和HTTP狀態代碼一致。 更多資訊,請參見公用錯誤碼。 |
msg | String | OK | 請求資訊的響應資訊。 |
dataId | String | cfd33235-71a4-468b-8137-a5ffe323**** | 檢測對象對應的資料ID。 說明 如果在檢測請求參數中傳入了dataId,則此處返回對應的dataId。 |
taskId | String | img4wlJcb7p4wH4lAP3111111-123456 | 檢測任務的ID。 |
url | String | http://www.aliyundoc.com/xxx.jpg | 公網HTTP/HTTPS URL,且長度不超過2048個字元。 |
storedUrl | String | http://www.aliyundoc.com | 如果使用者開啟了證據轉存到OSS儲存空間的功能,並且檢測任務符合配置的規則,則會把圖片轉存到使用者的OSS儲存空間,並返回對應的HTTP URL。 |
extras | JSONObject | {"hitLibInfo":[{"context":"好看視頻","libCode":"2144002","libName":"預發測試廣告相似文本庫a"}]} | 額外附加資訊。 圖文違規(ad)情境中,該參數可能返回以下內容。 hitLibInfo:如果圖片中的文字命中了自訂文本庫,則返回命中的文本庫資訊。格式為數組,具體結構描述請參見hitLibInfo。 |
results | JSONArray | 返回結果。調用成功時(code=200),返回結果中包含一個或多個元素。每個元素是個結構體,具體結構描述請參見result。 |
名稱 | 類型 | 樣本值 | 描述 |
scene | String | porn | 圖片檢測情境,和調用請求中的情境對應。取值:
|
label | String | sexy | 檢測結果的分類。不同檢測情境的結果分類不同,具體如下:
|
sublabel | String | porn | 如果檢測情境包含智能鑒黃(porn)和暴恐涉政(terrorism),則該欄位可以返回檢測結果的細分類標籤。 該欄位預設不會返回。 |
suggestion | String | block | 建議您執行的後續操作。取值:
|
rate | Float | 91.54 | 信賴度分數,取值範圍:0(表示信賴度最低)~100(表示信賴度最高)。 如果suggestion為pass,則信賴度越高,表示內容正常的可能性越高;如果suggestion為review或block,則信賴度越高,表示內容違規的可能性越高。 重要 建議您參考suggestion和label(或者部分介面返回的sublabel)結果用於內容違規判定。 |
frames | JSONArray | 如果待檢測圖片因為過長被截斷,該參數返回截斷後的每一幀映像的臨時訪問地址。具體結構描述請參見frame。 | |
hintWordsInfo | JSONArray | 圖片中含有廣告或文字違規資訊時,返回圖片中廣告文字命中的風險關鍵詞資訊。具體結構描述,請參見hintWordsInfo。 說明 只有圖文違規(ad)情境會返回該結果。 樣本值:
| |
qrcodeData | StringArray | ["http://www.aliyundoc.com/01ZZOliO"] | 圖片中含有二維碼時,返回圖片中所有二維碼包含的文本資訊。 說明 只有圖片二維碼(qrcode)情境會返回該結果。 |
qrcodeLocations | JSONArray | 返回圖片中識別到的二維碼的座標資訊,關於具體的結構描述,請參見qrcodeLocation。 | |
programCodeData | JSONArray | 圖片中含有小程式碼時,返回小程式碼的位置資訊。關於具體結構的描述,請參見programCodeData。 說明 只有圖片二維碼(qrcode)情境會返回該結果,且必須已經開啟小程式碼識別。 | |
logoData | JSONArray | 圖片中含有logo時,返回識別出來的logo資訊。關於具體結構的描述,請參見logoData。 說明 只有圖片logo(logo)情境會返回該結果。 | |
sfaceData | JSONArray | 圖片中包含暴恐識涉政內容時,返回識別出來的暴恐涉政資訊。關於具體結構的描述,請參見sfaceData。 說明 只有圖片暴恐涉政(terrorism)情境會返回該結果。 | |
ocrData | Array | 好看視頻 | 識別到的圖片中的完整文字資訊。 說明 預設不返回。 |
名稱 | 類型 | 樣本值 | 描述 |
rate | Float | 89.85 | 信賴度分數,取值範圍:0~100,信賴度越高表示檢測結果的可信度越高。建議您不要在業務中使用該分數。 |
url | String | http://www.aliyundoc.com/xxx-0.jpg | 被截斷的圖片的臨時訪問URL,地址有效期間是5分鐘。 |
名稱 | 類型 | 樣本值 | 描述 |
x | Float | 11.0 | 以圖片左上方為座標原點,小程式碼地區左上方到y軸距離,單位:像素。 |
y | Float | 0.0 | 以圖片左上方為座標原點,小程式碼地區左上方到x軸距離,單位:像素。 |
w | Float | 402.0 | 小程式碼地區寬度,單位:像素。 |
h | Float | 413.0 | 小程式碼地區高度,單位:像素。 |
名稱 | 類型 | 樣本值 | 描述 |
type | String | TV | 識別出的logo類型,取值為TV(台標)。 |
name | String | xxx台 | 識別出的logo名稱。 |
x | Float | 140 | 以圖片左上方為座標原點,logo地區左上方到y軸距離,單位:像素。 |
y | Float | 68 | 以圖片左上方為座標原點,logo地區左上方到x軸距離,單位:像素。 |
w | Float | 106 | logo地區寬度,單位:像素。 |
h | Float | 106 | logo地區高度,單位:像素。 |
名稱 | 類型 | 樣本值 | 描述 |
x | Float | 49 | 以圖片左上方為座標原點,人臉地區左上方到y軸距離,單位:像素。 |
y | Float | 39 | 以圖片左上方為座標原點,人臉地區左上方到x軸距離,單位:像素。 |
w | Float | 97 | 人臉地區寬度,單位:像素。 |
h | Float | 131 | 人臉地區高度,單位:像素。 |
faces | JSONArray | [{"name":"命中人名","rate":91.54,"id":"AliFace_0123****"}] | 識別出的人臉資訊,具體結構如下:
|
名稱 | 類型 | 樣本值 | 描述 |
context | String | 好看視頻 | 文字命中的自訂常值內容。 |
libCode | String | 123456 | 文字命中的自訂常值內容對應的庫code。 |
libName | String | abc | 文字命中的自訂常值內容對應的庫名稱。 |
名稱 | 類型 | 樣本值 | 描述 |
context | String | 好看視頻 | 文字命中的風險關鍵詞內容。 |
名稱 | 類型 | 樣本值 | 描述 |
x | Float | 11.0 | 以圖片左上方為座標原點,二維碼地區左上方到y軸距離,單位:像素。 |
y | Float | 0.0 | 以圖片左上方為座標原點,二維碼地區左上方到x軸距離,單位:像素。 |
w | Float | 402.0 | 二維碼地區寬度,單位:像素。 |
h | Float | 413.0 | 二維碼地區高度,單位:像素。 |
qrcode | String | http://www.aliyundoc.com/0.ZZOliO | 識別到的二維碼連結。 |
樣本
http(s)://[Endpoint]/green/image/scan
&<公用請求參數>
{
"scenes": [
"porn",
"terrorism",
"ad",
"live",
"qrcode",
"logo"
],
"tasks": [
{
"dataId": "uuid-xxxx-xxxx-1234",
"url": "http://www.aliyundoc.com/xxx.jpg"
}
]
}
{
"msg": "OK",
"code": 200,
"data": [
{
"msg": "OK",
"code": 200,
"dataId": "cfd33235-71a4-468b-8137-a5ffe323****",
"extras": {
},
"results": [
{
"rate": 99.63,
"suggestion": "block",
"label": "sexy",
"scene": "porn"
},
{
"label": "politics",
"rate": 91.54,
"scene": "terrorism",
"sfaceData": [
{
"faces": [
{
"id": "AliFace_0123****",
"name": "命中人名",
"rate": 91.54
}
],
"h": 131,
"w": 97,
"x": 49,
"y": 39
}
],
"suggestion": "block"
},
{
"extras": {
"qrcodes": "http://www.aliyundoc.com/0.ZZOliO",
"npx": "72.01",
"hitCustomLibCode": "8012345000",
"hitCustomLibName": "自訂圖庫名",
"hitLibInfo": [
{
"context": "命中的文本",
"libCode": "123456",
"libName": "文本庫名"
}
]
},
"programCodeData": [
{
"w": 402.0,
"h": 413.0,
"x": 11.0,
"y": 0.0
}
],
"frames": [
{
"rate": 89.85,
"url": "http://www.aliyundoc.com/xxx-0.jpg"
},
{
"rate": 68.06,
"url": "http://www.aliyundoc.com/xxx-1.jpg"
}
],
"rate": 99.91,
"suggestion": "block",
"label": "ad",
"scene": "ad"
},
{
"rate": 99.91,
"suggestion": "block",
"label": "drug",
"scene": "live"
},
{
"qrcodeData": [
"http://www.aliyundoc.com/01ZZOliO"
],
"rate": 99.91,
"suggestion": "review",
"label": "qrcode",
"scene": "qrcode"
},
{
"logoData": [
{
"name": "xxx台",
"type": "TV",
"x": 140,
"y": 68,
"w": 106,
"h": 106
}
],
"rate": 99.9,
"suggestion": "block",
"label": "TV",
"scene": "logo"
}
],
"taskId": "img4wlJcb7p4wH4lAP3111111-123456",
"url": "http://www.aliyundoc.com/xxx.jpg"
}
],
"requestId": "69B41AE8-1234-1234-1234-12D395695D2D"
}