同期画像検出 API (/green/image/scan) を呼び出して、画像コンテンツを審査します。サポートされているシナリオには、ポルノ検出、テロ・政治的に敏感なコンテンツの検出、広告違反検出、QR コード検出、不適切なシーンの検出、ロゴ検出などがあります。
注意事項
/green/image/scan オペレーションは、画像を同期的に審査します。
このオペレーションを呼び出して、同期画像審査タスクを作成します。HTTP リクエストの作成方法については、「リクエスト構造」をご参照ください。または、「SDK 概要」に示されているように、事前に作成されたリクエストを使用することもできます。
- 課金:
これは有料の API オペレーションです。課金の詳細については、「Content Moderation 料金」をご参照ください。
- 応答タイムアウト:
同期検出リクエストの最大検出時間は 6 秒です。この時間内に検出が完了しない場合、タイムアウトエラーが返されます。リアルタイムの結果が必要ない場合は、非同期検出を使用できます。それ以外の場合は、API 呼び出しがよりシンプルな同期検出を使用してください。これらの呼び出しでは、タイムアウト期間を 6 秒に設定してください。
- 返される結果:
同期検出リクエストは通常 1 秒以内に結果を返します。ただし、システムの負荷が高い、画像サイズが大きい、または光学文字認識 (OCR) のためのテキスト量が多いなどの特定のシナリオでは、応答時間が長くなることがあります。
- 画像要件:
-
画像の URL は HTTP または HTTPS プロトコルを使用する必要があります。
-
サポートされている画像フォーマット:PNG、JPG、JPEG、BMP、GIF、WEBP。
-
同期および非同期呼び出しの両方で、画像サイズは 20 MB を超えることはできません。
-
画像は 3 秒以内にダウンロードされる必要があります。ダウンロード時間が 3 秒を超えると、ダウンロードタイムアウトエラーが返されます。
-
最適なパフォーマンスを得るには、画像の解像度を 256x256 ピクセル以上にすることを推奨します。解像度が低いと、検出精度に影響する可能性があります。
-
画像検出 API の応答時間は、画像のダウンロード時間に依存します。画像が保存されているストレージサービスが安定していて信頼できることを確認してください。最高のパフォーマンスを得るには、Alibaba Cloud Object Storage Service (OSS) またはコンテンツデリバリーネットワーク (CDN) を使用してください。
-
| シナリオ | 説明 | 検出カテゴリ |
| ポルノ検出 | 画像内のポルノまたは性的な示唆を含むコンテンツを検出します。 | 正常、ポルノ、性的な示唆 |
| テロコンテンツ検出 | 画像内のテロリストまたは政治的に敏感なコンテンツを検出します。 | 正常、血なまぐさい、爆発と煙/閃光、特殊な服装、特殊なシンボル、武器、政治、戦闘、集会、行進、交通事故現場、旗、ランドマーク |
| 広告違反検出 | 画像内のポリシーに違反する広告またはテキストを検出します。 | 正常、テキストに政治的に敏感なコンテンツが含まれる、テキストにポルノコンテンツが含まれる、テキストに罵詈雑言が含まれる、テキストにテロコンテンツが含まれる、テキストに禁止コンテンツが含まれる、テキストにその他のスパムコンテンツが含まれる、小さな広告ステッカー、QR コードを含む、ミニプログラムコードを含む、その他の広告 説明 ビジネス要件に基づいて検出カテゴリを設定してください。詳細については、「カスタム機械審査ポリシー」をご参照ください。 |
| QR コード検出 | 画像内の QR コードまたはミニプログラムコードを検出します。 | 正常、QR コードを含む、ミニプログラムコードを含む 説明 ビジネス要件に基づいて検出カテゴリを設定してください。詳細については、「カスタム機械審査ポリシー」をご参照ください。 |
| 不適切なシーンの検出 | ブラックスクリーン、黒い枠線、暗い映像、ピクチャーインピクチャー、喫煙、車内でのライブストリーミングなど、画像内の不適切なシーンを検出します。 | 正常、画像にコンテンツがない (例:ブラックスクリーンまたはホワイトスクリーン)、ピクチャーインピクチャー、喫煙、車内でのライブストリーミング |
| ロゴ検出 | テレビ局のロゴや商標など、画像内のロゴを検出します。 | 正常、管理対象のロゴを含む、商標を含む |
QPS 制限
この API の秒間クエリ数 (QPS) 制限は、ユーザーあたり 50 です。この制限を超えるとスロットリングがトリガーされ、ビジネスに影響を与える可能性があります。呼び出しを適切に計画してください。
リクエストパラメーター
| パラメーター | 型 | 必須 | 例 | 説明 |
| bizType | String | いいえ | default |
このフィールドは、ビジネスシナリオを識別します。Content Moderation コンソールでビジネスシナリオを作成できます。詳細については、「審査ルールのカスタマイズ」をご参照ください。 |
| scenes | StringArray | はい | ["porn","terrorism","ad","live","qrcode","logo"] | 審査シナリオを指定します。有効な値:
複数のシナリオを指定できます。たとえば、
["porn", "terrorism"] は、画像がポルノとテロコンテンツの両方について審査されることを示します。説明 審査に複数のシナリオを指定した場合、すべてのシナリオの累積料金が請求されます。各シナリオの料金は、審査された画像の数にシナリオの単価を乗じて計算されます。 |
| tasks | JSONArray | はい | 審査タスクをタスクオブジェクトの配列として指定します。1 回のリクエストで最大 100 個のタスクを送信できます。一度に 100 個のタスクを送信するには、同時実行数制限を 100 以上に設定する必要があります。オブジェクト構造の詳細については、「task」をご参照ください。 |
| パラメーター | 型 | 必須 | 例 | 説明 |
| clientInfo | JSONObject | いいえ | {"userId":"12023****","userNick":"マイク","userType":"その他"} |
クライアント情報。詳細については、「共通パラメーター」の共通クエリパラメーターをご参照ください。 サーバーは、グローバルな clientInfo とリクエストに指定された個別の clientInfo をマージします。 説明
個別の clientInfo が優先されます。 |
| dataId | String | いいえ | cfd33235-71a4-468b-8137-a5ffe323**** |
検出オブジェクトのデータ ID。 この ID には、大文字と小文字の英字、数字、アンダースコア (_)、ハイフン (-)、ピリオド (.) を含めることができ、128 文字以下である必要があります。ビジネスデータを一意に識別するために使用します。 |
| url | String | はい | http://www.aliyundoc.com/xxx.jpg |
パブリックな HTTP または HTTPS の URL。URL の長さは 2,048 文字を超えることはできません。 |
| extras | JSONObject | いいえ | {"hitLibInfo":[{"context":"Haokan Video","libCode":"2144002","libName":"Pre-release Test Ad Similar Text Librarya"}]} | API 呼び出しの追加パラメーター。画像審査シナリオでは必須ではありません。 |
| interval | Integer | いいえ | 2 | GIF および長尺画像の審査のためのフレームキャプチャ間隔。
デフォルトでは、GIF または長尺画像の最初のフレームのみが審査されます。interval パラメーターを設定して、間隔ベースのフレームキャプチャを有効にし、審査コストを削減します。 説明 interval パラメーターは maxFrames パラメーターと一緒に使用する必要があります。たとえば、GIF または長尺画像に対して interval を 2、maxFrames を 10 に設定した場合、システムは 2 フレームごとに 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。URL の長さは 2,048 文字を超えることはできません。 |
| storedUrl | String | http://www.aliyundoc.com | 証拠保存機能を有効にし、審査タスクが設定されたルールに一致する場合、画像はご利用の Alibaba Cloud OSS バケットに保存され、対応する URL が返されます。 |
| extras | JSONObject | {"hitLibInfo":[{"context":"Haokan Video","libCode":"2144002","libName":"Ad text library for pre-release testing a"}]} | 追加情報。 広告違反 (ad) シナリオでは、以下のコンテンツが返されることがあります。 hitLibInfo:画像内のテキストがカスタムテキストライブラリにヒットした場合、一致したテキストライブラリに関する情報を含む配列を返します。詳細については、「hitLibInfo」をご参照ください。 |
| results | JSONArray | 審査結果。呼び出しが成功した場合 (code=200)、このパラメーターには 1 つ以上の結果オブジェクトの配列が含まれます。オブジェクト構造については、「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 (または一部の API オペレーションでは sublabel) フィールドを使用して、コンテンツが違反しているかどうかを判断することを推奨します。 |
| frames | JSONArray | 審査対象の画像が長すぎて切り捨てられた場合、切り捨てられた画像の各フレームの一時的な URL を返します。構造については、「frame」をご参照ください。 | |
| hintWordsInfo | JSONArray | 画像に広告違反が含まれる場合、広告テキストから一致したリスクキーワードを返します。構造については、「hintWordsInfo」をご参照ください。 説明 ad 広告違反のシナリオの場合にのみ返されます。 例:
|
|
| qrcodeData | StringArray | ["http://www.aliyundoc.com/01ZZOliO"] | 画像に QR コードが含まれる場合、検出されたすべての QR コードのテキストコンテンツを返します。 説明 QR code) の場合にのみ返されます。 |
| qrcodeLocations | JSONArray | 画像内で検出された QR コードの座標。構造については、「qrcodeLocation」をご参照ください。 | |
| programCodeData | JSONArray | 画像にミニプログラムコードが含まれる場合、コードの場所を返します。構造については、「programCodeData」をご参照ください。 説明 QR コードQR コード検出シナリオで、ミニプログラムコード認識が有効になっている場合にのみ返されます。 |
|
| logoData | JSONArray | 画像にロゴが含まれる場合、検出されたロゴに関する情報を返します。構造については、「logoData」をご参照ください。 説明 Logoロゴ検出シナリオの場合にのみ返されます。 |
|
| sfaceData | JSONArray | 画像にテロリストまたは政治的なコンテンツが含まれる場合、検出された顔に関する情報を返します。構造については、「sfaceData」をご参照ください。 説明 テロ: テロと政治コンテンツ検出シナリオでのみ返されます。 |
|
| ocrData | Array | Haokan Video | 画像内で認識された全文。 説明 デフォルトでは返されません。 |
| パラメーター | 型 | 例 | 説明 |
| rate | Float | 89.85 |
信頼度スコア。有効な値:0 から 100。信頼度スコアが高いほど、検出結果が正確である確率が高くなります。ビジネスロジックでこのスコアを使用することは避けてください。 |
| url | String | http://www.aliyundoc.com/xxx-0.jpg | 切り捨てられた画像フレームの一時的な URL。URL は 5 分間有効です。 |
| パラメーター | 型 | 例 | 説明 |
| x | Float | 11.0 | ミニプログラムコード領域の左上隅の x 座標。原点 (0,0) は画像の左上隅です。単位:ピクセル。 |
| y | Float | 0.0 | ミニプログラムコード領域の左上隅の y 座標。原点 (0,0) は画像の左上隅です。単位:ピクセル。 |
| w | Float | 402.0 | ミニプログラムコード領域の幅。単位:ピクセル。 |
| h | Float | 413.0 | ミニプログラムコード領域の高さ。単位:ピクセル。 |
| パラメーター | 型 | 例 | 説明 |
| type | String | TV | 検出されたロゴのタイプ。値は TV で、テレビ局のロゴを示します。 |
| name | String | xxx TV | 検出されたロゴの名前。 |
| x | Float | 140 | ロゴ領域の左上隅の x 座標。原点 (0,0) は画像の左上隅です。単位:ピクセル。 |
| y | Float | 68 | ロゴ領域の左上隅の y 座標。原点 (0,0) は画像の左上隅です。単位:ピクセル。 |
| w | Float | 106 | ロゴ領域の幅。単位:ピクセル。 |
| h | Float | 106 | ロゴ領域の高さ。単位:ピクセル。 |
| パラメーター | 型 | 例 | 説明 |
| x | Float | 49 | 顔領域の左上隅の x 座標。原点 (0,0) は画像の左上隅です。単位:ピクセル。 |
| y | Float | 39 | 顔領域の左上隅の y 座標。原点 (0,0) は画像の左上隅です。単位:ピクセル。 |
| w | Float | 97 | 顔領域の幅。単位:ピクセル。 |
| h | Float | 131 | 顔領域の高さ。単位:ピクセル。 |
| faces | JSONArray | [{"name":"Matched person","rate":91.54,"id":"AliFace_0123****"}] | 検出された顔に関する情報。各オブジェクトには以下のフィールドが含まれます:
|
| パラメーター | 型 | 例 | 説明 |
| context | String | Haokan Video | カスタムテキストライブラリから一致したコンテンツ。 |
| libCode | String | 123456 | 一致したカスタムテキストライブラリのコード。 |
| libName | String | abc | 一致したカスタムテキストライブラリの名前。 |
| パラメーター | 型 | 例 | 説明 |
| context | String | Haokan Video | 一致したリスクキーワード。 |
| パラメーター | 型 | 例 | 説明 |
| x | Float | 11.0 | QR コード領域の左上隅の x 座標。原点 (0,0) は画像の左上隅です。単位:ピクセル。 |
| y | Float | 0.0 | QR コード領域の左上隅の y 座標。原点 (0,0) は画像の左上隅です。単位:ピクセル。 |
| w | Float | 402.0 | QR コード領域の幅。単位:ピクセル。 |
| h | Float | 413.0 | QR コード領域の高さ。単位:ピクセル。 |
| qrcode | String | http://www.aliyundoc.com/0.ZZOliO | 検出された QR コードが指す URL。 |
例
http(s)://[Endpoint]/green/image/scan
&<common request parameters>
{
"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": "matched 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": "Name of the custom image library",
"hitLibInfo": [
{
"context": "matched text",
"libCode": "123456",
"libName": "Name of the text library"
}
]
},
"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 TV",
"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"
}