このトピックでは、同期動画検出操作 `/green/video/syncscan` を呼び出して動画コンテンツのモデレーションを行う方法について説明します。動画モデレーションにより、ポルノ、テロ・政治的コンテンツ、テキストおよび画像の違反、不適切なシーン、ロゴなど、動画内の非準拠コンテンツを検出できます。
注意事項
/green/video/syncscan 操作は、同期動画検出を実行します。
この操作を呼び出して同期動画検出タスクを作成できます。HTTP リクエストの構築方法については、「リクエスト構造」をご参照ください。また、あらかじめ作成済みの HTTP リクエストを使用することもできます。詳細については、「SDK の概要」をご参照ください。
-
課金情報:
この操作の呼び出しに対して課金されます。課金方法の詳細については、をご参照ください。
複数のシナリオで同時にコンテンツを検出する場合、各シナリオごとに課金されます。合計料金は、以下の計算式で算出されます:
各シナリオで検出した動画フレーム数 × 各シナリオの単価。 -
検出対象:
同期動画検出操作では、アップロード済みの動画フレームのみを検出できます。動画の URL をアップロードして検出する場合は、非同期動画検出操作をご利用ください。
-
動画フレームの要件:
動画フレームの URL は、HTTP または HTTPS の URL である必要があります。
動画フレームは、PNG、JPG、JPEG、BMP、GIF、WEBP 形式である必要があります。
動画フレームのサイズは最大 10 MB までです。
モデレーション効果を確保するため、少なくとも 256 × 256 ピクセルの動画フレームを提出することを推奨します。
動画のモデレーション操作の応答時間は、動画からキャプチャしたフレームのダウンロード所要時間に応じて変動します。モデレーション対象の動画フレームを格納するストレージサービスは、安定性と信頼性が高いものをお使いください。Object Storage Service (OSS) または コンテンツデリバリーネットワーク (CDN) のご利用を推奨します。
|
シナリオ |
説明 |
検出結果カテゴリ |
|
ポルノの検出 |
動画内のポルノコンテンツを検出します。 |
正常、ポルノ |
|
動画内の暴力・テロ・政治的コンテンツ |
動画内のテロ・政治的コンテンツを検出します。 |
正常、テロおよび政治的コンテンツ |
|
不適切な動画コンテンツ |
動画内の不適切なシーンを検出します。 |
正常、不適切なシーン(ブラックスクリーンやホワイトスクリーンなど) |
|
動画ロゴ |
動画内の特定のロゴを検出します。 |
正常、ロゴ |
|
動画・画像・テキストの違反 |
動画内の広告または非準拠テキストを検出します。 |
正常、広告またはテキスト違反 |
|
動画および音声コンテンツの違反 説明
このシナリオは、非同期動画検出操作でのみサポートされています。この機能を利用するには、「非同期検出」をご参照ください。 |
動画の音声に含まれる非準拠情報を検出します。 説明
デフォルトでは、中国語がサポートされています。英語コンテンツを検出する場合は、アカウントマネージャーまでお問い合わせください。 |
正常、スパム、広告、政治的、テロ、虐待、ポルノ、洪水、違法物品、カスタム(カスタムキーワードへのヒットなど) |
QPS 制限
アカウントあたり、1 秒間に最大 50 回この操作を呼び出すことができます。1 秒あたりの呼び出し回数が制限を超えると、速度制限が適用され、業務に影響を及ぼす可能性があります。この操作を呼び出す際には、制限値を十分にご確認ください。
リクエストパラメーター
|
名前 |
型 |
必須 |
例 |
説明 |
|
bizType |
String |
いいえ |
default |
ビジネスシナリオです。ビジネスシナリオは、 Content Moderation コンソールで作成できます。詳細については、「機械審査向けポリシーのカスタマイズ」をご参照ください。 |
|
scenes |
StringArray |
はい |
["porn"] |
動画検出のシナリオです。有効な値は以下のとおりです。
|
|
tasks |
JSONArray |
はい |
検出タスクの JSON 配列です。配列には最大 100 個の要素を追加できます。つまり、一度に最大 100 個の検出タスクを送信できます。100 個のタスクを一度に送信するには、同時実行数の制限を 100 より大きく設定する必要があります。各要素の構造については、「task」をご参照ください。 |
|
名前 |
型 |
必須 |
例 |
説明 |
|
clientInfo |
JSONObject |
いいえ |
{"userId":"12023****","userNick":"Mike","userType":"others"} |
クライアントに関する情報です。「共通パラメーター」の「共通リクエストパラメーター」セクションをご参照ください。 サーバーは、グローバルな clientInfo パラメーターと、本表で説明されている clientInfo パラメーターのいずれを使用するかを判断します。 説明 本表の clientInfo パラメーターが、グローバルなパラメーターより優先されます。 |
|
dataId |
String |
いいえ |
videoId**** |
モデレーション対象の ID です。 ID には、英字、数字、アンダースコア (_ )、ハイフン (- )、ピリオド ( . ) を使用できます。長さは最大 128 文字です。この ID は、お客様のビジネスデータを一意に識別します。 |
|
frames |
JSONArray |
はい |
検出対象の動画フレームに関する情報です。frames 配列の各要素は構造体です。各要素の構造については、「frame」をご参照ください。 1 つの動画で検出できるフレーム数は最大 200 個です。 |
|
|
framePrefix |
String |
いいえ |
フレーム URL のプレフィックスです。このプレフィックスは |
|
名前 |
型 |
必須 |
例 |
説明 |
|
url |
String |
はい |
http://www.aliyundoc.com/test0001.jpg |
インターネット経由でアクセス可能な HTTP または HTTPS の URL です。URL の長さは最大 2,048 文字です。 |
|
offset |
Integer |
いいえ |
10 |
動画フレームのタイムスタンプ(動画開始からの相対位置)。単位:秒。 |
応答データ
|
名前 |
型 |
例 |
説明 |
|
code |
Integer |
200 |
返された HTTP ステータスコードです。 詳細については、「共通エラーコード」をご参照ください。 |
|
msg |
String |
OK |
リクエストに対する応答メッセージです。 |
|
dataId |
String |
videoId**** |
モデレーション対象の ID です。 説明 モデレーションリクエストで dataId パラメーターを設定した場合、dataId リクエストパラメーターの値がここに返されます。 |
|
taskId |
String |
taskId**** |
検出タスクの ID です。 |
|
results |
JSONArray |
検出結果です。呼び出しが成功した場合(code=200)、結果には 1 つ以上の要素が含まれます。各要素は構造体です。構造の詳細については、「result」をご参照ください。 |
|
名前 |
型 |
例 |
説明 |
|
scene |
String |
porn |
動画検出のシナリオです。これはリクエストで指定したシナリオに対応します。有効な値は以下のとおりです。
|
|
label |
String |
porn |
動画検出結果のカテゴリです。結果カテゴリは検出シナリオによって異なります。詳細は以下のとおりです。
|
|
sublabel |
String |
porn |
scenes パラメーターが porn または terrorism に設定されている場合、このパラメーターでモデレーション結果のサブカテゴリを返すことができます。 このパラメーターはデフォルトでは返されません。 |
|
suggestion |
String |
block |
推奨される後続操作です。有効な値は以下のとおりです。
|
|
rate |
Float |
99.2 |
信頼度のスコアです。有効値の範囲は 0 ~ 100 です。値が大きいほど信頼度が高くなります。 suggestion パラメーターの値として [pass] が返された場合、信頼度が高いほど、コンテンツが正常である確率が高くなります。 suggestion パラメーターの値として [review] または [block] が返された場合、信頼度が高いほど、コンテンツに違反が含まれている確率が高くなります。 重要 コンテンツに違反が含まれているかどうかを判断するには、suggestion、label、および sublabel パラメーターに対して返される値を使用することを推奨します。sublabel パラメーターは、特定の操作によって返されます。 |
|
frames |
JSONArray |
非準拠コンテンツを含む動画フレームに関する情報です。構造の詳細については、「frame」をご参照ください。 |
|
|
extras |
JSONObject |
追加情報です。 テキストおよび画像の違反 (ad) シナリオでは、このパラメーターが以下の内容を返すことがあります。 hitLibInfo:動画内のテキストがカスタムテキストライブラリにヒットした場合、ヒットしたライブラリに関する情報が返されます。構造の詳細については、「hitLibInfo」をご参照ください。 |
|
|
hintWordsInfo |
JSONArray |
動画に広告またはテキスト違反が含まれている場合、ヒットしたリスクキーワードに関する情報が返されます。構造の詳細については、「hintWordsInfo」をご参照ください。 説明
この結果は、テキストおよび画像の違反 (ad) シナリオでのみ返されます。 |
|
|
logoData |
JSONArray |
動画にロゴが含まれている場合、検出されたロゴに関する情報が返されます。構造の詳細については、「logoData」をご参照ください。 説明
この結果は、ロゴの検出 (logo) シナリオでのみ返されます。 |
|
|
sfaceData |
JSONArray |
動画にテロまたは政治的コンテンツが含まれている場合、検出されたコンテンツに関する情報が返されます。構造の詳細については、「sfaceData」をご参照ください。 説明
この結果は、テロおよび政治的コンテンツの検出 (terrorism) シナリオでのみ返されます。 |
|
名前 |
型 |
例の値 |
説明 |
|
url |
String |
http://www.aliyundoc.com/test0001.jpg |
インターネット経由でアクセス可能な HTTP または HTTPS の URL です。URL の長さは最大 2,048 文字です。 |
|
offset |
Integer |
50 |
動画フレームのタイムスタンプ(動画開始からの相対位置)。単位:秒。 |
|
label |
String |
porn |
動画フレームの検出結果カテゴリです。 |
|
rate |
Float |
99.1 |
信頼度のスコアです。有効値の範囲は 0 ~ 100 です。信頼度が高ければ高いほど、モデレーション結果の信頼性が高くなります。このスコアを業務で使用することは推奨しません。 |
| 名前 | 型 | 例 | 説明 |
| type | String | TV | 検出されたロゴの種類です。値は TV(テレビ局のロゴ)です。 |
| name | String | xxx units | 検出されたロゴの名称です。 |
| x | Float | 140 | ロゴ領域の左上隅の x 座標です。原点は画像の左上隅です。単位:ピクセル。 |
| y | Float | 68 | ロゴ領域の左上隅の y 座標です。原点は画像の左上隅です。単位:ピクセル。 |
| w | Float | 106 | ロゴ領域の幅です。単位:ピクセル。 |
| h | Float | 106 | ロゴ領域の高さです。単位:ピクセル。 |
| 名前 | 型 | 例 | 説明 |
| x | Float | 49 | 顔領域の左上隅の x 座標です。原点は画像の左上隅です。単位:ピクセル。 |
| y | Float | 39 | 顔領域の左上隅の y 座標です。原点は画像の左上隅です。単位:ピクセル。 |
| w | Float | 97 | 顔領域の幅です。単位:ピクセル。 |
| h | Float | 131 | 顔領域の高さです。単位:ピクセル。 |
| faces | JSONArray | [{"name":"類似人物名","rate":91.54,"id":"AliFace_0123****"}] | 検出された顔に関する情報です。構造は以下のとおりです:
|
| 名前 | 型 | 例 | 説明 |
| context | String | ハオカン動画 | テキストヒットのカスタムテキストです。 |
| libCode | String | 123456 | ヒットテキストを含むライブラリのコードです。 |
| libName | String | abc | ヒットテキストを含むライブラリの名称です。 |
| 名前 | 型 | 例 | 説明 |
| context | String | 良い動画 | ヒットしたリスクキーワードの内容です。 |
サンプル
リクエストのサンプル
http(s)://[Endpoint]/green/video/syncscan
&<共通リクエストパラメーター>
{
"scenes": [
"porn"
],
"tasks": [
{
"dataId": "videoId****",
"frames": [
{
"offset": 10,
"url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460000"
},
{
"offset": 20,
"url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460001"
},
{
"offset": 30,
"url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460002"
},
{
"offset": 40,
"url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460003"
},
{
"offset": 50,
"url": "http://www.aliyundoc.com/0B860000586C0A0300038A0460003"
},
{
"offset": 60,
"url": "http://www.aliyundoc.com/0B860000586C0A0300038A046000x"
}
]
}
]
}
応答のサンプル
{
"code": 200,
"msg": "OK",
"requestId": "requestID****",
"data": [
{
"code": 200,
"msg": "OK",
"dataId": "videoId****",
"taskId": "taskId****",
"results": [
{
"label": "porn",
"rate": 99.2,
"scene": "porn",
"suggestion": "block",
"frames": [
{
"offset": 50,
"url": "http://www.aliyundoc.comm/0B860000586C0A0300038A0460003",
"label": "porn",
"rate": 99.1
}
]
}
]
}
]
}