同期画像モデレーションタスクを送信し、結果をリアルタイムで返します。この操作を使用して、画像内のポルノコンテンツ、テロリストのコンテンツ、広告違反、QR コード、不適切なシーン、およびロゴを検出します。
サポートされているシナリオ
| シーン値 | シナリオ | 返されるラベル |
|---|---|---|
porn | ポルノ検出 | normal, porn, sexy |
terrorism | テロリストコンテンツ検出 | normal, bloody, explosion, outfit, logo, weapon, politics, violence, crowd, parade, carcrash, flag, location, drug, gamble, others |
ad | 広告違反検出 | normal, politics, porn, abuse, terrorism, contraband, spam, npx, qrcode, programCode, ad |
qrcode | QR コード検出 | normal, qrcode, programCode |
live | 不適切なシーン検出 | normal, meaningless, PIP, smoking, drivelive, drug, gamble |
logo | ロゴ検出 | normal, TV, trademark |
注意事項
応答時間:結果は通常1秒以内に返されます。最大許容応答時間は6秒です。クライアントのタイムアウトを適切に設定してください。高負荷シナリオや、画像が大きい場合、またはテキストが多い場合は、応答時間が増加する可能性があります。
画像要件:
サポートされている形式:PNG、JPG、JPEG、BMP、GIF、WEBP
最大サイズ:20 MB
ダウンロードタイムアウト:3秒。3秒以内に画像をダウンロードできない場合、タイムアウトエラーが返されます。
推奨最小解像度:256 × 256 ピクセル
URL は HTTP または HTTPS である必要があり、最大2,048文字です。
ストレージ:モデレーション応答時間は、画像ダウンロード速度に依存します。画像をホストするには、Object Storage Service (OSS) やコンテンツデリバリーネットワーク (CDN) などの安定したストレージサービスを使用してください。
複数のシナリオ:単一のリクエストで複数のシーンを指定すると、指定されたすべてのシナリオの累積料金が発生します。
GIF および長尺画像:デフォルトでは、最初のフレームのみがモデレートされます。interval と maxFrames を一緒に使用して、追加のフレームをモデレートします。課金は、実際にモデレートされたフレーム数に基づきます。
非同期モデレーション:この操作は結果を同期的に返します。リアルタイムの結果が必要ない場合は、代わりに非同期モデレーション操作を使用してください。
QPS 制限
アカウントあたり1秒あたり50呼び出し。この制限を超過すると、速度制限がトリガーされます。
リクエスト構文
POST http(s)://[Endpoint]/green/image/scanリクエストパラメーター
トップレベルパラメーター
| パラメーター | 型 | 必須 | 例 | 説明 |
|---|---|---|---|---|
bizType | String | いいえ | default | ビジネスシナリオを指定します。シナリオは、Content Moderation コンソールで作成します。詳細については、「機械審査によるモデレーションのポリシーをカスタマイズ」をご参照ください。 |
scenes | StringArray | はい | ["porn","terrorism"] | モデレーション対象のシナリオを指定します。有効な値は、porn、terrorism、ad、qrcode、live、logo です。複数の値を指定すると、1 回のリクエストで複数のシナリオを同時に実行できます。 |
tasks | JSONArray | はい | — | 提出するモデレーションタスクを指定します。各要素は task オブジェクトです。1 回のリクエストあたりの最大要素数は 100 です。100 タスクを一度に提出するには、関連する同時実行数の制限を 100 より大きい値に引き上げる必要があります。 |
タスク
| パラメーター | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
clientInfo | JSONObject | いいえ | {"userId":"12023****","userNick":"Mike","userType":"others"} | クライアント情報。 構造については、共通パラメーターの「共通リクエストパラメーター」セクションをご参照ください。 タスクレベルの clientInfo は、グローバルなものより優先されます。 |
dataId | String | いいえ | cfd33235-71a4-468b-8137-a5ffe323**** | モデレートするオブジェクトの ID。許可される文字:英字、数字、アンダースコア (_)、ハイフン (-)、ピリオド (.)。最大長:128文字。この ID は、関連付けのために応答で返されます。 |
url | String | はい | http://www.aliyundoc.com/xxx.jpg | 公開アクセス可能な HTTP または HTTPS URL のイメージ。最大長:2,048文字。 |
extras | JSONObject | いいえ | — | 追加パラメーター。標準画像モデレーションには不要です。 |
interval | Integer | いいえ | 2 | GIF または長尺画像モデレーションのフレームサンプリング間隔。interval フレームごとに1フレームがキャプチャされます。maxFrames と一緒に使用する必要があります。 |
maxFrames | Integer | いいえ | 10 | GIF または長尺画像からキャプチャするフレームの最大数。デフォルト値:1。interval × maxFrames が総フレーム数よりも少ない場合、システムは間隔を自動的に調整して、画像全体にキャプチャを均等に分散します。 |
長尺画像のフレーム数計算:
| 方向 | 条件 | フレーム数 |
|---|---|---|
| 縦向き | 高さ > 400 px、高さ/幅比 > 2.5 | round(高さ / 幅) |
| 横向き | 幅 > 400 px、幅/高さ比 > 2.5 | round(幅 / 高さ) |
応答パラメーター
トップレベルフィールド
| パラメーター | タイプ | 例 | 説明 |
|---|---|---|---|
code | Integer | 200 | HTTP ステータスコードです。ステータスコードの一覧については、「一般的なエラーコード」をご参照ください。 |
msg | String | OK | 応答メッセージです。 |
requestId | String | 69B41AE8-1234-1234-1234-12D395695D2D | リクエスト ID です。 |
data | JSONArray | — | モデレーション結果です。送信されたタスクごとに 1 つの要素が含まれます。各要素には、以下のセクションで説明するフィールドが含まれます。 |
タスクごとのフィールド
| パラメーター | タイプ | 例 | 説明 |
|---|---|---|---|
code | Integer | 200 | このタスクの HTTP ステータスコード。 |
msg | String | OK | このタスクの応答メッセージ。 |
dataId | String | cfd33235-71a4-468b-8137-a5ffe323**** | モデレートされたオブジェクトの ID。リクエストからエコーされます。 |
taskId | String | img4wlJcb7p4wH4lAP3111111-123456 | モデレーションタスク ID。 |
url | String | http://www.aliyundoc.com/xxx.jpg | モデレートされたイメージの URL。 |
storedUrl | String | http://www.aliyundoc.com | 画像証拠が保存される OSS URL。証拠ストレージ機能が有効になっており、イメージが設定されたルールに一致する場合にのみ返されます。 |
extras | JSONObject | — | 追加情報。scenes で ad が指定されている場合、このフィールドにはカスタムテキストライブラリの一致を記述する配列である hitLibInfo が含まれます。 |
results | JSONArray | — | モデレーション結果。指定されたシーンごとに1つの要素。構造については、result をご参照ください。 |
結果
| パラメーター | タイプ | 例 | 説明 |
|---|---|---|---|
scene | String | porn | モデレーションシナリオ。scenes で指定された値と一致します。 |
label | String | sexy | モデレーション結果のカテゴリです。詳細については、「シーン別ラベル値」をご参照ください。 |
sublabel | String | porn | 結果のサブカテゴリ。porn および terrorism シーンの場合にのみ返されます。デフォルトでは返されません。 |
suggestion | String | block | 推奨されるアクション。有効な値:pass (アクション不要)、review (手動レビューが必要)、block (違反が含まれているため、削除またはブロック)。suggestion、label、および sublabel を一緒に使用して、適切なアクションを決定します。 |
rate | Float | 91.54 | 信頼度スコア。0から100まで。スコアが高いほど信頼度が高いことを示します。pass 結果の場合、スコアが高いほどコンテンツが正常である可能性が高く、review または block 結果の場合、スコアが高いほど違反が存在する可能性が高いことを意味します。 |
frames | JSONArray | — | 切り詰められた長尺画像または GIF 画像のフレーム URL。各要素には、rate (信頼度スコア) と url (一時 URL、5分間有効) が含まれています。 |
hintWordsInfo | JSONArray | — | イメージで検出された違反テキストに一致する用語。ad シーンの場合のみ返されます。各要素には context (一致した用語) が含まれています。 |
qrcodeData | StringArray | ["http://www.aliyundoc.com/01ZZOliO"] | 検出された QR コードからデコードされた URL またはテキスト。qrcode シーンの場合のみ返されます。 |
qrcodeLocations | JSONArray | — | 検出された QR コードの座標。構造については、qrcodeLocation をご参照ください。 |
programCodeData | JSONArray | — | 検出されたミニプログラムコードの位置情報。qrcode シーンの場合のみ、ミニプログラムコード検出が有効になっている場合に返されます。構造については、programCodeData をご参照ください。 |
logoData | JSONArray | — | 検出されたロゴに関する情報。logo シーンの場合のみ返されます。構造については、logoData をご参照ください。 |
sfaceData | JSONArray | — | テロリストのコンテンツで検出された顔に関する情報。terrorism シーンの場合のみ返されます。構造については、sfaceData をご参照ください。 |
ocrData | Array | ["Haokan"] | OCR によってイメージで検出された全文。デフォルトでは返されません。 |
シーンごとのラベル値
| シーン | ラベル |
|---|---|
porn | normal (正常), sexy (セクシーなコンテンツ), porn (ポルノコンテンツ) |
terrorism | normal, bloody (血まみれのコンテンツ), explosion (爆発と煙), outfit (特殊な衣装), logo (特殊なロゴ), weapon, politics (政治的コンテンツ), violence, crowd, parade, carcrash (自動車事故), flag, location (ランドマーク), drug, gamble (ギャンブル), others |
ad | normal, ad (その他の広告), politics (政治的テキスト), porn (ポルノテキスト), abuse (虐待的テキスト), terrorism (テロリストテキスト), contraband (禁止テキスト), spam (迷惑テキスト), npx (オーバーレイ広告), qrcode (QR コード), programCode (ミニプログラムコード) |
qrcode | normal, qrcode (QR コード), programCode (ミニプログラムコード) |
live | normal, meaningless (空白または空の画面), PIP (ピクチャーインピクチャー), smoking, drivelive (運転中のストリーミング), drug, gamble (ギャンブル) |
logo | normal, TV (禁止されたメディアのロゴ), trademark |
QRコードの位置
| パラメーター | タイプ | 例 | 説明 |
|---|---|---|---|
x | Float | 11.0 | QR コード領域の左端から Y 軸までの距離。原点:イメージの左上隅。単位:ピクセル。 |
y | Float | 0.0 | QR コード領域の上端から X 軸までの距離。原点:イメージの左上隅。単位:ピクセル。 |
w | Float | 402.0 | QR コード領域の幅。単位:ピクセル。 |
h | Float | 413.0 | QR コード領域の高さ。単位:ピクセル。 |
qrcode | String | http://www.aliyundoc.com/0.ZZOliO | 検出された QR コードが指す URL。 |
programCodeData
| パラメーター | タイプ | 例 | 説明 |
|---|---|---|---|
x | Float | 11.0 | ミニプログラムコード領域の左端から Y 軸までの距離。原点:イメージの左上隅。単位:ピクセル。 |
y | Float | 0.0 | ミニプログラムコード領域の上端から X 軸までの距離。原点:イメージの左上隅。単位:ピクセル。 |
w | Float | 402.0 | ミニプログラムコード領域の幅。単位:ピクセル。 |
h | Float | 413.0 | ミニプログラムコード領域の高さ。単位:ピクセル。 |
ロゴデータ
| パラメーター | 型 | 例 | 説明 |
|---|---|---|---|
type | String | TV | 検出されたロゴの種類です。TV は、禁止メディアのロゴであることを示します。 |
name | String | xxx TV | 検出されたロゴの名称です。 |
x | Float | 140 | ロゴエリアの左端から Y 軸までの距離です。原点は画像の左上隅です。単位:ピクセル。 |
y | Float | 68 | ロゴエリアの上端から X 軸までの距離です。原点は画像の左上隅です。単位:ピクセル。 |
w | Float | 106 | ロゴエリアの幅です。単位:ピクセル。 |
h | Float | 106 | ロゴエリアの高さです。単位:ピクセル。 |
sfaceData
| パラメーター | タイプ | 例 | 説明 |
|---|---|---|---|
x | Float | 49 | 検出された顔領域の左端から Y 軸までの距離。原点:イメージの左上隅。単位:ピクセル。 |
y | Float | 39 | 検出された顔領域の上端から X 軸までの距離。原点:イメージの左上隅。単位:ピクセル。 |
w | Float | 97 | 検出された顔領域の幅。単位:ピクセル。 |
h | Float | 131 | 検出された顔領域の高さ。単位:ピクセル。 |
faces | JSONArray | — | この領域で認識された顔。各要素には、name (人物の名前)、rate (信頼度スコア、0~100)、および id (顔 ID) が含まれています。 |
hitLibInfo
| パラメーター | タイプ | 例 | 説明 |
|---|---|---|---|
context | String | Haokan | 検出されたテキストに一致するカスタム用語。 |
libCode | String | 123456 | 一致した用語を含むライブラリのコード。 |
libName | String | abc | 一致した用語を含むライブラリの名前。 |
例
リクエスト例
POST 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,
"requestId": "69B41AE8-1234-1234-1234-12D395695D2D",
"data": [
{
"msg": "OK",
"code": 200,
"dataId": "cfd33235-71a4-468b-8137-a5ffe323****",
"taskId": "img4wlJcb7p4wH4lAP3111111-123456",
"url": "http://www.aliyundoc.com/xxx.jpg",
"extras": {},
"results": [
{
"scene": "porn",
"label": "sexy",
"rate": 99.63,
"suggestion": "block"
},
{
"scene": "terrorism",
"label": "politics",
"rate": 91.54,
"suggestion": "block",
"sfaceData": [
{
"x": 49,
"y": 39,
"w": 97,
"h": 131,
"faces": [
{
"id": "AliFace_0123****",
"name": "Hit name",
"rate": 91.54
}
]
}
]
},
{
"scene": "ad",
"label": "ad",
"rate": 99.91,
"suggestion": "block",
"extras": {
"qrcodes": "http://www.aliyundoc.com/0.ZZOliO",
"npx": "72.01",
"hitCustomLibCode": "8012345000",
"hitCustomLibName": "Name of the custom image library",
"hitLibInfo": [
{
"context": "Hit text",
"libCode": "123456",
"libName": "Name of the custom text library"
}
]
},
"frames": [
{
"rate": 89.85,
"url": "http://www.aliyundoc.com/xxx-0.jpg"
},
{
"rate": 68.06,
"url": "http://www.aliyundoc.com/xxx-1.jpg"
}
],
"programCodeData": [
{
"x": 11.0,
"y": 0.0,
"w": 402.0,
"h": 413.0
}
]
},
{
"scene": "live",
"label": "drug",
"rate": 99.91,
"suggestion": "block"
},
{
"scene": "qrcode",
"label": "qrcode",
"rate": 99.91,
"suggestion": "review",
"qrcodeData": [
"http://www.aliyundoc.com/01ZZOliO"
]
},
{
"scene": "logo",
"label": "TV",
"rate": 99.9,
"suggestion": "block",
"logoData": [
{
"name": "xxx TV",
"type": "TV",
"x": 140,
"y": 68,
"w": 106,
"h": 106
}
]
}
]
}
]
}