すべてのプロダクト
Search
ドキュメントセンター

Content Moderation:非同期イメージ OCR タスクの送信

最終更新日:Jan 08, 2025

非同期光学式文字認識 (OCR) タスクを送信し、非同期 OCR 結果をクエリします。この操作を呼び出して、イメージ内のテキストを検出して取得するための OCR タスクを送信できます。

非同期操作の説明

操作: /green/image/asyncscan

この操作を呼び出して、非同期イメージ モデレーション タスクを送信できます。 HTTP リクエストを構成する方法の詳細については、リクエスト構造をご参照ください。既存の HTTP リクエストを選択することもできます。詳細については、SDK の概要をご参照ください。

  • 課金方法:

    この操作の呼び出しには料金が発生します。課金方法の詳細については、をご参照ください。

  • レスポンス タイムアウト:

    同期モデレーション リクエストで許可される最大レスポンス時間は 6 秒です。モデレーションが 6 秒以内に完了しない場合は、タイムアウト エラーが返されます。リアルタイムでモデレーション結果が必要ない場合は、非同期モデレーション リクエストを送信できます。ほとんどの場合、同期モデレーション操作の方が呼び出しやすいため、同期モデレーション リクエストを送信することをお勧めします。同期モデレーション操作の呼び出しには、タイムアウト期間を 6 秒に設定することをお勧めします。

  • 返される結果:

    非同期モデレーション リクエストを送信した場合、モデレーション結果はリアルタイムで返されません。モデレーション結果を取得するには、モデレーション結果を定期的にポーリングするか、コールバック通知を有効にすることができます。モデレーション結果は最大 1 時間保持されます。

    • コールバック通知を有効にしてモデレーション結果を取得する: 非同期モデレーション タスクを送信するときに、モデレーション リクエストの callback パラメーターでコールバック URL を指定して、モデレーション結果を受信できます。 callback パラメーターの詳細については、リクエスト パラメーターをご参照ください。

    • 定期的にモデレーション結果をポーリングする: 非同期モデレーション タスクを送信するときに、callback パラメーターを設定する必要はありません。タスクを送信した後、/green/video/results 操作を呼び出して、モデレーション結果をクエリできます。操作の詳細については、/green/image/results 操作の説明をご参照ください。

  • イメージの制限:

    • イメージの URL は、HTTP または HTTPS URL である必要があります。

    • イメージは、PNG、JPG、JPEG、BMP、GIF、または WEBP 形式である必要があります。

    • イメージのサイズは最大 20 MB です。イメージ サイズの制限は、同期および非同期モデレーション操作の両方に適用されます。

    • イメージのダウンロード時間は 3 秒に制限されています。イメージが 3 秒以内にダウンロードされない場合は、タイムアウト エラーが返されます。

    • モデレーション効果を確保するために、少なくとも 256 × 256 ピクセルのイメージを送信することをお勧めします。

    • イメージをモデレートする操作のレスポンス時間は、これらのイメージのダウンロード時間によって異なります。モデレートするイメージを保存するために、安定していて信頼できるストレージ サービスを使用してください。オブジェクト ストレージ サービス (OSS) またはコンテンツ配信ネットワーク (CDN) を使用することをお勧めします。

QPS 制限

この操作は、アカウントごとに 1 秒あたり最大 10 回呼び出すことができます。1 秒あたりの呼び出し数が制限を超えると、スロットリングがトリガーされます。その結果、ビジネスに影響が及ぶ可能性があります。この操作を呼び出すときは、制限に注意することをお勧めします。

リクエスト パラメーター

パラメーター

タイプ

必須

説明

bizType

String

いいえ

default

ビジネスシナリオ。 でビジネスシナリオを作成できます。

Content Moderation コンソール。詳細については、「機械支援モデレーションのポリシーのカスタマイズ」をご参照ください。

scenes

StringArray

はい

["ocr"]

モデレーション シナリオ。値を ocr に設定します。

callback

String

いいえ

http://www.aliyundoc.com/xx.json

非同期モデレーション結果を通知するためのコールバック URL。HTTP および HTTPS URL がサポートされています。このパラメーターを設定しない場合は、モデレーション結果を定期的にポーリングする必要があります。

モデレーション リクエストで callback パラメーターを設定する場合は、指定した HTTP または HTTPS URL が次の要件を満たしていることを確認してください。POST メソッドをサポートしていること、送信データのエンコードに UTF-8 を使用していること、checksum パラメーターと content パラメーターをサポートしていること。指定されたコールバック URL にモデレーション結果を送信するために、コンテンツ モデレーションは次のルールと形式に基づいてコールバック通知で checksum パラメーターと content パラメーターを返します。

  • checksum: セキュア ハッシュ アルゴリズム 256 (SHA-256) アルゴリズムによって生成される、UID + Seed + Content 形式の文字列。UID は Alibaba Cloud アカウントの ID を示します。ID は [ Alibaba Cloud 管理コンソール ]で照会できます。データの改ざんを防ぐために、サーバーがコールバック通知を受信したときに SHA-256 アルゴリズムを使用して文字列を生成し、受信した checksum パラメーターと照合して検証できます。

    説明

    UID は Alibaba Cloud アカウントの ID である必要があり、RAM ユーザーの ID ではありません。

  • content: JSON 形式の文字列で、コールバック データに解析されます。 content パラメーターの形式の詳細については、非同期モデレーション結果をクエリするために呼び出すことができる各操作の成功レスポンスの例をご参照ください。

説明

サーバーがコールバック通知を正常に受信した場合、サーバーは HTTP 200 ステータス コードをコンテンツ モデレーションに送信します。サーバーがコールバック通知を受信できなかった場合、サーバーは他の HTTP ステータス コードをコンテンツ モデレーションに送信します。サーバーがコールバック通知を受信できなかった場合、コンテンツ モデレーションはサーバーが受信するまでコールバック通知のプッシュを続けます。コンテンツ モデレーションは、コールバック通知を最大 16 回繰り返しプッシュできます。16 回後、コンテンツ モデレーションはコールバック通知のプッシュを停止します。この場合、コールバック URL のステータスを確認することをお勧めします。

seed

String

いいえ

aabbcc123

コールバック通知リクエストの署名を生成するために使用されるランダムな文字列。

文字列の長さは最大 64 文字で、文字、数字、アンダースコア (_) を含めることができます。この文字列はカスタマイズできます。コンテンツ モデレーションがサーバーにコールバック通知をプッシュするときに、コールバック通知リクエストを検証するために使用されます。

説明

このパラメーターは、callback パラメーターを設定する場合に必須です。

cryptType
String
いいえ
SHA256
コールバック通知を有効にしたときに、コールバック通知コンテンツの暗号化に使用される暗号化アルゴリズム。コンテンツ モデレーションは、指定した暗号化アルゴリズムを使用して返された文字列を暗号化し、暗号化された文字列をコールバック URL に送信します。返される文字列は UID + Seed + Content 形式です。有効な値:
  • SHA256: HMAC-SHA256 暗号化アルゴリズムが使用されます。これはデフォルト値です。
  • SM3: HMAC-SM3 暗号化アルゴリズムが使用され、16 進文字列が返されます。文字列は小文字と数字で構成されます。

    たとえば、66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0 は、HMAC-SM3 暗号化アルゴリズムを使用して abc を暗号化した後に返されます。

tasks

JSONArray

はい

モデレートするオブジェクトのリスト。JSON 配列には、1 つ以上の要素を含めることができます。各要素は構造体です。JSON 配列には最大 100 個の要素を含めることができます。つまり、一度に最大 100 個のモデレーション オブジェクトを送信できます。一度に 100 個のモデレーション オブジェクトを送信するには、関連する同時実行制限を 100 より大きい数に上げる必要があります。各要素の構造の詳細については、taskをご参照ください。

表 1. タスク

パラメーター

タイプ

必須

説明

dataId

String

いいえ

test_data_xxxx

データ ID。リクエスト内で各 ID が一意であることを確認してください。

url

String

はい

https://www.aliyundoc.com/test_image_xxxx.png

インターネット経由でアクセスできる HTTP または HTTPS URL。URL の長さは最大 2,048 文字です。

interval

Integer

いいえ

2

連続してキャプチャされる 2 つのフレームの間隔。このパラメーターは、GIF または長い画像のモデレーション専用です。

  • GIF 画像はフレームの配列と見なすことができます。interval パラメーターで指定された n フレームごとに、1 つのフレームがモデレーションのためにキャプチャされます。システムはこのパラメーターが指定されている場合にのみ、GIF 画像からフレームをキャプチャします。

  • 長い画像は、縦向きモードまたは横向きモードにすることができます。

    • 長い縦向きの画像をモデレートするには、次の方法でフレームの総数を計算できます。高さを幅で割り、結果を最も近い整数に丸めます。長い縦向きの画像では、高さは 400 ピクセルを超え、縦横比は 2.5:1 を超えます。

    • 長い横向きの画像をモデレートするには、次の方法でフレームの総数を計算できます。幅を高さと割り、結果を最も近い整数に丸めます。長い横向きの画像では、幅は 400 ピクセルを超え、縦横比は 2.5:1 を超えます。

デフォルトでは、GIF 画像または長い画像の最初のフレームのみがモデレートされます。interval パラメーターを使用して、システムが連続してキャプチャする 2 つのフレームの間隔を指定できます。これにより、モデレーションコストを削減できます。

説明

interval パラメーターと maxFrames パラメーターはペアで使用する必要があります。たとえば、GIF 画像または長い画像をモデレートするために、interval パラメーターを 2 に設定し、maxFrames パラメーターを 100 に設定します。この例では、2 フレームごとに 1 フレームがモデレートされ、最大 100 フレームがモデレートされます。料金は、モデレートされたフレームの実際の数に基づいて計算されます。

maxFrames

Integer

いいえ

100

キャプチャするフレームの最大数。このパラメーターは、GIF または長い画像のモデレーション専用です。デフォルト値:1

interval パラメーターの値に maxFrames パラメーターの値を掛けた値が、GIF 画像または長い画像のフレームの総数よりも小さい場合、フレームをキャプチャする間隔は、画像のフレームの総数を maxFrames パラメーターの値で割った結果から切り上げた整数に自動的に変更されます。これにより、全体的なモデレーション効果が向上します。

レスポンスパラメーター

パラメーター

タイプ

説明

code

Integer

200

返された HTTP ステータスコード。

詳細については、「一般的なエラーコード」をご参照ください。

msg

String

OK

リクエストに対して返されるメッセージ。

dataId

String

test_data_xxxx

モデレーションオブジェクトの ID。

説明

モデレーションリクエストで dataId パラメーターを設定した場合、dataId リクエストパラメーターの値がここに返されます。

taskId

String

aaa25f95-4892-4d6b-aca9-7939bc6e9baa-148619876****

モデレーションタスクの ID。

url

String

https://www.aliyundoc.com/test_image_xxxx.png

インターネット経由でアクセスできる HTTP または HTTPS URL。 URL の長さは最大 2,048 文字です。

extras

JSONObject

xxx

モデレーションリクエストで extras パラメーターを設定した場合、extras リクエストパラメーターの値がここに返されます。

説明

このパラメーターは変更される可能性があります。このパラメーターの最新の値を使用してください。

リクエストの例

http(s)://[Endpoint]/green/image/asyncscan
&<共通リクエストパラメーター>
{
    "scenes": [
        "ocr"
    ],
    "tasks": [
        {
            "dataId": "test_data_xxxx",
            "url": "https://www.aliyundoc.com/test_image_xxxx.png"
        }
    ]
}

正常なレスポンスの例

{
    "code": 200,
    "msg": "OK",
    "requestId": "92AD868A-F5D2-4AEA-96D4-E1273B8E074C",
    "data": [
        {
            "code": 200,
            "msg": "OK",
            "dataId": "test_data_xxxx",
            "taskId": "aaa25f95-4892-4d6b-aca9-7939bc6e9baa-148619876****",
            "url": "https://www.aliyundoc.com/test_image_xxxx.png"
        }
    ]
}

/green/image/results 操作の説明

操作: /green/image/results

この操作を呼び出して、非同期 OCR 結果を照会できます。 HTTP リクエストを構成する方法の詳細については、「リクエスト構造」をご参照ください。既存の HTTP リクエストを選択することもできます。詳細については、「SDK の概要」をご参照ください。

  • 課金方法:

    この操作は無料です。

  • レスポンスタイムアウト:

    非同期モデレーションリクエストを送信してから少なくとも 30 秒後にモデレーション結果を照会することをお勧めします。コンテンツモデレーションは、モデレーション結果を最大 4 時間保持します。 4 時間後、結果は削除されます。

QPS 制限

この操作は、アカウントごとに 1 秒あたり最大 10 回呼び出すことができます。1 秒あたりの呼び出し数が制限を超えると、スロットリングがトリガーされます。その結果、ビジネスに影響が生じる可能性があります。この操作を呼び出す際は、制限に注意することをお勧めします。

リクエストパラメーター

パラメーター

タイプ

必須

説明

body

JSONArray

はい

["aaa25f95-4892-4d6b-aca9-7939bc6e9baa-1486198766695"]

クエリを実行する非同期モデレーションタスクの ID のリスト。 配列には最大 100 個の要素を含めることができます。

モデレーションタスクを送信した後、レスポンスからタスクの ID を取得できます。

レスポンスパラメーター

パラメーター

タイプ

説明

code

Integer

200

返された HTTP ステータスコード。

詳細については、「一般的なエラーコード」をご参照ください。

msg

String

OK

リクエストに対して返されるメッセージ。

dataId

String

test_data_xxxx

モデレーションオブジェクトの ID。

説明

モデレーションリクエストで dataId パラメーターを設定した場合、dataId リクエストパラメーターの値がここに返されます。

taskId

String

aaa25f95-4892-4d6b-aca9-7939bc6e9baa-148619876****

モデレーションタスクの ID。

url

String

https://www.aliyundoc.com/test_image_xxxx.png

インターネット経由でアクセスできる HTTP または HTTPS URL。 URL の長さは最大 2,048 文字です。

results

Array

返された結果。HTTP ステータスコード 200 が返された場合、返された結果の配列には 1 つ以上の要素が含まれます。各要素は構造体です。各要素の構造の詳細については、「result」をご参照ください。

表 2. result

パラメーター

タイプ

説明

scene

String

ocr

モデレーションシナリオ。値を ocr に設定します。

label

String

ocr

モデレーション結果のカテゴリ。有効な値:

  • normal:画像にテキストが含まれていません。

  • ocr:画像にテキストが含まれています。

suggestion

String

review

推奨される後続の操作。有効な値:

  • pass:画像はそれ以上の操作を必要としません。

  • review:画像は手動レビューが必要です。

rate

Float

99.91

モデレーションされた画像が検出されたカテゴリに該当する確率。OCR シナリオでは、このパラメーターを無視できます。

ocrLocations

Array

モデレーションされた静止画像内の単一のテキストエントリに関する情報。テキスト、テキスト領域サイズ、テキスト位置が含まれます。構造の詳細については、「ocrLocation」をご参照ください。

ocrData

Array

このトピックでは、非同期画像モデレーションタスクを送信する操作を呼び出す方法について説明します。

モデレーションされた静止画像内のすべてのテキストの組み合わせ。一般的に、テキストの組み合わせは配列の最初の要素として格納されます。

frames

Array

xxx

モデレーションされたアニメーション画像からキャプチャされたフレームと、各フレームで検出されたテキスト。

表 1. ocrLocation
パラメータータイプ説明
textStringhelloモデレーションされた画像で検出された単一のテキストエントリ。
xFloat41テキスト領域の左上隅と Y 軸の間の距離。画像の左上隅が座標原点です。単位:ピクセル。
yFloat84テキスト領域の左上隅と X 軸の間の距離。画像の左上隅が座標原点です。単位:ピクセル。
wFloat83テキスト領域の幅。単位:ピクセル。
hFloat26テキスト領域の高さ。単位:ピクセル。

表 3. ocrDetailInfo

表 4. wordsInfo

リクエスト例

http(s)://[Endpoint]green/image/results
&<共通リクエストパラメーター>
[
    "aaa25f95-4892-4d6b-aca9-7939bc6e9baa-148619876****"
]

正常応答例

{
    "code": 200,
    "data": [
        {
            "code": 200,
            "dataId": "test_data_xxxx",
            "extras": {

            },
            "msg": "OK",
            "results": [
                {
                    "label": "ocr",
                    "ocrData": [
                        "This topic describes how to call an operation to submit asynchronous image moderation tasks." // 画像非同期モデレーションタスクを送信する操作を呼び出す方法について説明します。
                    ],
                    "ocrLocations": [
                        {
                            "h": 19,
                            "text": "This topic describes how to call an operation to submit asynchronous image moderation tasks.", // 画像非同期モデレーションタスクを送信する操作を呼び出す方法について説明します。
                            "w": 362,
                            "x": 31,
                            "y": 11
                        }
                    ],
                    "rate": 99.91,
                    "scene": "ocr",
                    "suggestion": "review"
                }
            ],
            "taskId": "aaa25f95-4892-4d6b-aca9-7939bc6e9baa-148619876****",
            "url": "https://www.aliyundoc.com/test_image_xxxx.png"
        }
    ],
    "msg": "OK",
    "requestId": "992C7849-AA45-4055-8F82-8D44D64C15E3"
}