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

Platform For AI:Python 向けマルチメディア分析 SDK の使用上の注意

最終更新日:Aug 20, 2025

Platform for AI(PAI)が提供する Python 向けマルチメディア分析 SDK を使用して、さまざまなアルゴリズムを搭載したサービスを呼び出すことができます。このトピックでは、Python 向けマルチメディア分析 SDK を使用してさまざまなモデルサービスを呼び出す方法について説明します。また、リクエストとレスポンスの例も示します。

ステップ 1:Python 向けマルチメディア分析 SDK をインストールする

環境は Python 3 以降に依存します。次のコマンドを実行して、Python 向けマルチメディア分析 SDK をインストールします。

pip install ai-service-python-sdk==1.1.5

ステップ 2:クライアントを初期化する

次のコマンドを実行して、環境を初期化します。

from ai_service_python_sdk.client.api_client import ApiClient
client = ApiClient('<HOST>', '<YOUR-APPID>', '<YOUR-TOKEN>')

ビジネス要件に基づいて、次のパラメーターを変更します。

パラメーター

説明

<HOST>

サーバーアドレス:http://ai-service.ce8cc13b6421545749e7b4605f3d02607.cn-hangzhou.alicontainer.com

<YOUR-APPID>

マルチメディア分析をアクティブ化すると、マルチメディア分析ページで AppID を表示できます。詳細については、「マルチメディア分析」をご参照ください。

<YOUR-TOKEN>

マルチメディア分析をアクティブ化すると、マルチメディア分析ページで Token を表示できます。詳細については、「マルチメディア分析」をご参照ください。

画像品質評価

画像の品質を評価できます。モデルサービスは、0 から 100 までの浮動小数点数を返します。リクエスト例:

from ai_service_python_sdk.client.api.ai_service_image_api import AiServiceImageApi

# 画像の URL。
image_url = 'https://your_image_url.jpg'
ai_service_api = AiServiceImageApi(client)
# カスタムモデルの名前。
model_name = ''
# モデルのレスポンス設定。モデルにレスポンスパラメーターがない場合は、空の辞書を指定できます。
configure = {}
# 呼び出すモデルサービス。
response = ai_service_api.image_qa(image_url, model_name, configure)
# リクエストの ID。
request_id = response.request_id
# リクエストのステータス。
code = response.code
# リクエストに関する詳細なステータス情報。
message = response.message
# 戻り値。
data = response.data
# 戻り値を表示します。
print(response)

次の表に、上記の文のパラメーターを示します。

パラメーター

タイプ

必須

説明

image_url

STRING

はい

画像の URL。画像のサイズは 5 MB 以下、解像度は 240 × 240 以上にすることをお勧めします。

model_name

STRING

はい

デフォルトでは、汎用モデルを呼び出すために空の文字列が指定されています。

汎用モデルがビジネス要件を満たせない場合は、アカウントマネージャーに連絡してカスタムモデルを入手してください。カスタムモデルの名前を指定して、カスタムモデルを呼び出すことができます。

configure

Dict

はい

モデルのレスポンス設定。モデルサービスには空の辞書を指定します。

出力例:

{
    "code":"OK",
    "data":{
        "image_height":214,
        "image_width":398,
        "iqa_result":66.88
    },
    "message":"success",
    "request_id":"1d4572a1-2800-4213-9e9c-33f9fa7e****"
}

次の表に、レスポンスパラメーターを示します。

パラメーター

説明

request_id

リクエスト ID。STRING 型です。

code

リクエストステータスコード。STRING 型です。

message

リクエストに関する詳細なステータス情報。STRING 型です。出力例:

  • success

  • Invalid Input - image data error - base64decode error: base64decode error: incorrect base64 format data

  • Invalid Input - json format error - json parse runtime exception

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

data

モデルサービスから返されたコンテンツ。DICT 型です。パラメーターの説明:

  • image_height: 画像の高さ(ピクセル単位)。INT 型です。

  • image_width: 画像の幅(ピクセル単位)。INT 型です。

  • iqa_result: 画像の品質スコア。FLOAT 型です。値は小数点以下 2 桁までです。

顔属性分析

顔の形、髪の色、髪型、外観など、生成された顔関連の属性を取得できます。次のコードブロックは、リクエスト例を示しています。

from ai_service_python_sdk.client.api.ai_service_image_api import AiServiceImageApi

# 画像の URL。
image_url = 'https://your_image_url.jpg'
ai_service_api = AiServiceImageApi(client)
# カスタムモデルの名前。
model_name = ''
# モデルのレスポンス設定。モデルにレスポンスパラメーターがない場合は、空の辞書を指定できます。
configure = {}
# 呼び出すモデルサービス。
response = ai_service_api.face_attr_image(image_url, model_name, configure)
# リクエストの ID。
request_id = response.request_id
# リクエストのステータス。
code = response.code
# リクエストに関する詳細なステータス情報。
message = response.message
# 戻り値。
data = response.data
# 戻り値を表示します。
print(response)

次の表に、上記の文のパラメーターを示します。

パラメーター

タイプ

必須

説明

image_url

STRING

はい

画像の URL。画像の顔部分は、100 × 100 よりも高い解像度である必要があります。

model_name

STRING

はい

デフォルトでは、汎用モデルを呼び出すために空の文字列が指定されています。

汎用モデルがビジネス要件を満たせない場合は、アカウントマネージャーに連絡してカスタムモデルを入手してください。カスタムモデルの名前を指定して、カスタムモデルを呼び出すことができます。

configure

Dict

はい

モデルのレスポンス設定。モデルサービスには空の辞書を指定します。

出力例。技術的な理由により、一部のパラメーターには翻訳されていない中国語のテキストが含まれていることに注意してください。

{'code': 'OK',
 'data': {'attr': [{'FaceShape': {'三角脸': 0.0013,
                                  '圆脸': 0.0147,
                                  '心形脸': 0.0405,
                                  '方形脸': 0.0001,
                                  '椭圆脸': 0.9266,
                                  '菱形脸': 0.0027,
                                  '长脸': 0.0141},
                    'FemaleHairStyle': {'BangsType': {'中分刘海': 0.5932,
                                                      '刘海编发': 0.0058,
                                                      '斜刘海': 0.0575,
                                                      '无刘海': 0.3078,
                                                      '空气刘海': 0.0143,
                                                      '齐刘海': 0.0213},
                                        'FemaleCurlyHairType': {'云朵卷': 0.1289,
                                                                '大波浪': 0.2526,
                                                                '小波浪': 0.084,
                                                                '氧气卷': 0.2027,
                                                                '空气卷': 0.1434,
                                                                '羊毛卷': 0.1539,
                                                                '蛋卷': 0.0345},
                                        'FemaleHairType': {'卷发': 0.1941,
                                                           '盘发': 0.0112,
                                                           '直发': 0.7947},
                                        'FemaleLongShortHair': {'中长发': 0.2807,
                                                                '短发': 0.0346,
                                                                '长发': 0.6846},
                                        '扎发': 0.3054,
                                        '编发': 0.3453},
                    'HairColor': {'其他颜色': 0.0001,
                                  '咖啡色': 0,
                                  '奶奶灰': 0,
                                  '栗色': 0.0025,
                                  '棕色': 0.0622,
                                  '渐变色': 0.0004,
                                  '酒红色': 0.0001,
                                  '金色': 0,
                                  '黄色': 0,
                                  '黑色': 0.9347},
                    'MaleHairStyle': {'分发': 0.9939,
                                      '圆寸': 0,
                                      '子弹头': 0.0033,
                                      '平头': 0,
                                      '板寸': 0.001,
                                      '毛寸': 0.0008,
                                      '碎发': 0,
                                      '背头': 0.0001,
                                      '莫西干': 0.0006},
                    'bbox': [91, 0, 430, 452],
                    'face_score': 3.2431,
                    'index': 0}]},
 'message': 'success',
 'request_id': '9b2f2c0e-d2c0-45f8-b922-058d00edc9ad'}

次の表に、レスポンスパラメーターを示します。

パラメーター

説明

request_id

リクエスト ID。STRING 型です。

code

リクエストステータスコード。STRING 型です。

message

リクエストに関する詳細なステータス情報。STRING 型です。出力例:

  • success

  • Invalid Input - image data error - base64decode error: base64decode error: incorrect base64 format data

  • Invalid Input - json format error - json parse runtime exception

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

Data

モデルサービスから返されたコンテンツ。DICT 型です。レスポンスパラメーターの詳細については、「データパラメーター」をご参照ください。

表 1. データパラメーター

パラメーター

説明

attr

画像の属性コンテンツ。LIST 型です。リストの各要素は、1 つの顔属性を示します。

説明

リストが空の場合、顔は検出されません。

FaceShape

顔の形。DICT 型です。

FemaleHairStyle

女性の髪型。DICT 型です。

BangsType

女性の刘海のタイプ。DICT 型です。

FemaleCurlyHairType

女性の髪の毛のカールタイプ。DICT 型です。

FemaleHairType パラメーターが巻き毛の髪型に設定されている可能性が最も高い場合は、このパラメーターの値が読み取られます。

FemaleHairType

女性の髪質。DICT 型です。

FemaleLongShortHair

女性の髪の毛の長さ。DICT 型です。

Tied hair

女性の髪が結ばれているかどうかを指定します。値は FLOAT 型です。

このパラメーターの値が 0.5 以上の場合、髪は結ばれています。

Braided hair

女性の髪が編まれているかどうかを指定します。値は FLOAT 型です。

このパラメーターの値が 0.5 以上の場合、髪は編まれています。

HairColor

髪の色。DICT 型です。

MaleHairStyle

男性の髪型。DICT 型です。

bbox

顔が含まれる四角形のセクション。LIST 型です。値は [xmin,ymin,xmax,ymax] 形式です。

index

画像内の顔の ID。値は INT 型で、0 から始まります。

年齢分析

画像の主要な顔の年齢層を識別できます。

説明

このモデルはカスタムモデルです。モデルを使用する場合は、アカウントマネージャーに連絡して AppId を構成用に提供してください。

リクエスト例:

from ai_service_python_sdk.client.api.ai_service_image_api import AiServiceImageApi

# 画像の URL。
image_url = 'https://your_image_url.jpg'
ai_service_api = AiServiceImageApi(client)
# カスタムモデルの名前。
model_name = 'fairface'
# モデルのレスポンス設定。モードにレスポンスパラメーターがない場合は、空の辞書を指定できます。
configure = {}
# 呼び出すモデルサービス。
response = ai_service_api.face_attr_image(image_url, model_name, configure)
# リクエストの ID。
request_id = response.request_id
# リクエストのステータス。
code = response.code
# リクエストに関する詳細なステータス情報。
message = response.message
# 戻り値。
data = response.data
# 戻り値を表示します。
print(response)

次の表に、主要なパラメーターを示します。

パラメーター

タイプ

必須

説明

image_url

STRING

はい

画像の URL。画像の顔部分は、100 × 100 よりも高い解像度である必要があります。

model_name

STRING

はい

カスタムモデルの名前。

configure

Dict

はい

モデルのレスポンス設定。モデルサービスには空の辞書を指定します。

レスポンス例:

{
    "request_id":"10000",
    "code":"OK",
    "message":"success",
    "data":{
        "age_range":"3-9",
        "age_range_prob":0.9525
    }
}

パラメーター

説明

request_id

リクエスト ID。STRING 型です。

code

リクエストステータスコード。STRING 型です。

message

リクエストに関する詳細なステータス情報。STRING 型です。出力例:

  • success

  • Invalid Input-image data error - {エラーメッセージ}

data

モデルサービスから返されたコンテンツ。DICT 型です。レスポンスパラメーター。

  • age_range: 年齢層。STRING 型です。使用可能な値は、'0-2', '3-9', '10-19', '20-29', '30-39', '40-49', '50-59', '60-69', '70+' です。

  • age_range_prob: 年齢層の確率。FLOAT 型です。

複数画像ラベル

画像に複数のラベルを追加できます。モデルサービスは、確率が最も高い上位 K 個のラベルと各ラベルの確率を返すことができます。また、画像の高次元特徴も返すことができます。次のコードブロックは、リクエスト例を示しています。

from ai_service_python_sdk.client.api.ai_service_image_api import AiServiceImageApi

# 画像の URL。
image_url = 'https://your_image_url.jpg'
ai_service_api = AiServiceImageApi(client)
# カスタムモデルの名前。
model_name = ''
# モデルのレスポンス設定。
configure = {'tag_top_k': 5, 'output_embedding': False}
# 呼び出すモデルサービス。
response = ai_service_api.multi_label_image_v2(image_url, model_name, configure)
# リクエストの ID。
request_id = response.request_id
# リクエストのステータス。
code = response.code
# リクエストに関する詳細なステータス情報。
message = response.message
# 戻り値。
data = response.data
# 戻り値を表示します。
print(response)

次の表に、上記の文のパラメーターを示します。

パラメーター

タイプ

必須

説明

image_url

STRING

はい

画像の URL。画像のサイズは 5 MB 以下、解像度は 240 × 240 以上にすることをお勧めします。

model_name

STRING

はい

デフォルトでは、汎用モデルを呼び出すために空の文字列が指定されています。

汎用モデルが要件を満たせない場合は、PAI のテクニカルサポートに連絡してカスタムモデルを入手できます。カスタムモデルの名前を指定して、カスタムモデルを呼び出すことができます。

configure

Dict

はい

モデルのレスポンス設定。デフォルト値は None です。詳細については、「パラメーターの構成」をご参照ください。

説明

configureNone に設定されている場合、configure リストのパラメーターはデフォルト設定を使用します。

パラメーターの構成

パラメーター

タイプ

必須

説明

tag_top_k

INT

いいえ

上位 K 個のラベル。K の有効値:1 ~ 10。デフォルト値:10。

output_embedding

BOOL

いいえ

画像の埋め込みを返すかどうかを指定します。有効値:

  • True(デフォルト):画像の高次元特徴を返します。

  • False

出力例。技術的な理由により、一部のパラメーターには翻訳されていない中国語のテキストが含まれていることに注意してください。

{'code': 'OK',
 'data': {'image_height': 510,
          'image_width': 516,
          'tag_result': [{'score': 0.505, 'tag': '笑容'},
                         {'score': 0.493, 'tag': '女士'},
                         {'score': 0.475, 'tag': '美女'},
                         {'score': 0.438, 'tag': '微笑'},
                         {'score': 0.432, 'tag': '蜜茶棕'}]},
 'message': 'success',
 'request_id': 'c9e5aa33-4d8d-49ce-8991-bcbb5f12e43b'}

次の表に、レスポンスパラメーターを示します。

パラメーター

説明

request_id

リクエスト ID。STRING 型です。

code

リクエストステータスコード。STRING 型です。

message

リクエストに関する詳細なステータス情報。STRING 型です。出力例:

  • success

  • Invalid Input - image data error - base64decode error: base64decode error: incorrect base64 format data

  • Invalid Input - json format error - json parse runtime exception

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

data

モデルサービスから返されたコンテンツ。DICT 型です。レスポンスパラメーターの詳細については、「データパラメーター」をご参照ください。

表 3. データパラメーター

パラメーター

説明

tag_result

ラベル付け結果。LIST 型です。ラベルは、スコア(確率)の降順にソートされます。

リストの長さは、tag_top_k の値によって異なります。

score

ラベルの確率。FLOAT 型です。値は小数点以下 3 桁までです。

tag

ラベルの名前。STRING 型です。

embedding_result

画像の 512 次元特徴。STRING 型です。特徴はコンマ(,)で区切られます。

このパラメーターは、output_embedding が True に設定されている場合にのみ返されます。

image_height

画像の高さをピクセル単位で指定します。データ型は INT 型です。

image_width

画像の幅(ピクセル単位)。INT 型です。

AI 絵画のラベル付け

Stable Diffusion モデルによって生成されたさまざまな種類の画像に複数のラベルを追加して、画像生成のトレーニングパフォーマンスを向上させることができます。出力は、合成されたキャプションと、元のラベルセットに関連するスコアです。

重要

このモデルはカスタムモデルです。モデルを使用する場合は、AppId をアカウントマネージャーに提供してテクニカルサポートを受けてください。

次のコードブロックは、リクエスト例を示しています。

from ai_service_python_sdk.client.api.ai_service_image_api import AiServiceImageApi

# 画像の URL。
image_url = 'https://your_image_url.jpg'
ai_service_api = AiServiceImageApi(client)
# カスタムモデルの名前。
model_name = 'tagger'
# モデルのレスポンス設定。
configure = {'threshold': 0.5, 'tagger_type': "SmilingWolf/wd-v1-4-convnextv2-tagger-v2"}
# 呼び出すモデルサービス。
response = ai_service_api.multi_label_image_v2(image_url, model_name, configure)
# リクエストの ID。
request_id = response.request_id
# リクエストのステータス。
code = response.code
# リクエストに関する詳細なステータス情報。
message = response.message
# 戻り値。
data = response.data
# 戻り値を表示します。
print(response)

次の表に、主要なパラメーターを示します。

パラメーター

説明

タイプ

必須

image_url

画像の URL。画像のサイズは 5 MB 以下、解像度は 240 × 240 以上にすることをお勧めします。

STRING

はい

model_name

モデルの名前。パラメーターを tagger に設定します。

STRING

はい

configure

モデルのレスポンス設定。デフォルトは None です。詳細については、「パラメーターの構成」をご参照ください。

Dict

はい

パラメーターの構成

configure

パラメーター

説明

タイプ

必須

threshold

しきい値。

FLOAT

いいえ

0.5

tagger_type

使用するラベル付けモデル。有効値:

  • SmilingWolf/wd-v1-4-convnext-tagger-v2

  • SmilingWolf/wd-v1-4-convnextv2-tagger-v2

  • SmilingWolf/wd-v1-4-vit-tagger-v2

  • SmilingWolf/wd-v1-4-swinv2-tagger-v2

  • RAM

  • BLIP

  • GIT

STR

いいえ

SmilingWolf/wd-v1-4-convnextv2-tagger-v2

レスポンス例:

{
    "data": {
    	"caption": "sensitive, 1girl, solo, long hair, looking at viewer, smile, black hair, brown eyes, scarf, lips, realistic",
    	"probs": [1.1920928955078125e-07, ............, 3.5762786865234375e-07, 4.76837158203125e-07],
	}
    "request_id": "12***", 
    "code": "OK", 
    "message": "success"
}

パラメーター

説明

タイプ

request_id

リクエストの ID。

STRING

code

リクエストステータスコード。

STRING

message

リクエストに関する詳細なステータス情報。例:

  • success

  • Invalid Input - image data error - base64decode error: incorrect base64 format data

  • Invalid Input - json format error - json parse runtime exception

STRING

data

モデルサービスから返されたコンテンツ。詳細については、「データパラメーター」をご参照ください。

Dict

データパラメーター

パラメーター

説明

タイプ

caption

ラベル付け結果。コンマ(,)で区切られます。

STR

probs

指定されたラベル付けモデルを使用して取得されたスコア。

List

人物画像の修正

画像内の人物を修正できます。人物画像をアップロードし、degree パラメーターを調整することで、人物を大きくしたりスリムにしたりできます。たとえば、degree パラメーターを 0 より大きい値に設定すると、人物をスリムにすることができます。

重要

このモデルはカスタムモデルです。モデルを使用する場合は、AppId をアカウントマネージャーに提供してテクニカルサポートを受けてください。

リクエスト例:

from ai_service_python_sdk.client.api.ai_service_image_api import AiServiceImageApi

# 画像の URL。
image_url = 'https://your_image_url.jpg'
ai_service_api = AiServiceImageApi(client)
# 使用するモデルの名前。
model_name = 'body_reshaping'
# 人物を大きくする場合は、degree パラメーターを -2.5 ~ -1.5 の値に設定することをお勧めします。
configure = {'degree': -1.5}
# 呼び出すモデルサービス。
response = ai_service_api.multi_label_image_v2(image_url, model_name, configure)
# リクエストの ID。
request_id = response.request_id
# リクエストのステータス。
code = response.code
# リクエストに関する詳細なステータス情報。
message = response.message
# 戻り値。
data = response.data
# 戻り値を表示します。
print(response)

次の表に、リクエストパラメーターを示します。

パラメーター

説明

タイプ

必須

image_url

画像の URL。画像のサイズは 5 MB 以下、解像度は 240 × 240 以上にすることをお勧めします。

STRING

はい

model_name

モデルの名前。値を body_reshaping に設定します。

STRING

はい

configure

モデルのレスポンス設定。デフォルトは None です。詳細については、「パラメーターの構成」をご参照ください。

Dict

はい

パラメーターの構成

パラメーター

説明

タイプ

必須

degree

人物修正の度合い。0 より大きい値は、人物をスリムにすることを示します。デフォルト値:-1.5

FLOAT

いいえ

レスポンス例:

{
 "code":"OK",
 "data":"imByev+I3vrryTGN****",
 "message":"success",
 "request_id":"1d4572a1-2800-4213-9e9c-33********"
}

次の表に、レスポンスパラメーターを示します。

パラメーター

説明

タイプ

request_id

リクエストの ID。

STRING

code

リクエストステータスコード。

STRING

message

リクエストに関する詳細なステータス情報。例:

  • success

  • Invalid Input - image data error - base64decode error: base64decode error: incorrect base64 format data

  • Invalid Input - json format error - json parse runtime exception

STRING

data

モデルサービスから返された Base64 エンコードされた画像。

STRING

透かしの削除

透かし入りの画像を入力し、透かしのない画像を返します。主に、動画やソーシャルメディアプラットフォームの一般的な透かしを対象としています。

重要

このモデルはカスタムモデルです。モデルを使用する場合は、AppId をアカウントマネージャーに提供してテクニカルサポートを受けてください。

リクエスト例:

from ai_service_python_sdk.client.api.ai_service_image_api import AiServiceImageApi

# 画像の URL。
image_url = 'https://your_image_url.jpg'
ai_service_api = AiServiceImageApi(client)
# カスタムモデルの名前。
model_name = 'watermark_remover'
# 空の辞書を指定します。
configure = {}
# 呼び出すモデルサービス。
response = ai_service_api.multi_label_image_v2(image_url, model_name, configure)
# リクエストの ID。
request_id = response.request_id
# リクエストのステータス。
code = response.code
# リクエストに関する詳細なステータス情報。
message = response.message
# 戻り値。
data = response.data
# 戻り値を表示します。
print(response)

次の表に、パラメーターを示します。

パラメーター

説明

タイプ

必須

image_url

画像の URL。画像のサイズは 5 MB 以下、解像度は 240 × 240 以上にすることをお勧めします。

STRING

はい

model_name

モデルの名前。値を watermark_remover に設定します。

STRING

はい

configure

モデルのレスポンス設定。デフォルトは None です。

Dict

はい

レスポンス例:

{
 "code":"OK",
 "data":"imByev+I3vr****",
 "message":"success",
 "request_id":"1d4572a****"
}

次の表に、返されるパラメーターを示します。

パラメーター

説明

タイプ

request_id

リクエストの ID。

STRING

code

リクエストステータスコード。

STRING

message

リクエストに関する詳細なステータス情報。例:

  • success

  • Invalid Input - image data error - base64decode error: incorrect base64 format data

  • Invalid Input - json format error - json parse runtime exception

STRING

data

モデルサービスから返された Base64 エンコードされた画像。

STRING

投稿の分類とラベル付け

マルチモーダルコンテンツを含む投稿にラベルを付けることができます。たとえば、テキストと画像、またはテキストと動画で構成されるコンテンツを分類およびラベル付けして、ラベル付けの精度を高めることができます。モデルサービスは、高次元特徴の埋め込み結果も返します。

説明

このモデルはカスタムモデルです。モデルを使用する場合は、アカウントマネージャーに連絡して AppId を構成用に提供してください。

リクエスト例:

from ai_service_python_sdk.client.api.ai_service_video_api import AiServiceVideoApi

ai_service_api = AiServiceVideoApi(client)
# 使用するモデルの名前。
model_name = 'multi_modal_tag'
# 動画の URL。動画の URL がない場合は、空の文字列を指定します。
video_url = 'https://YOUR_VIDEO.mp4'
# 画像の URL。画像の URL がない場合は、空の配列を指定します。
images = [
    'https://YOUR_IMAGE_0.jpg',
    'https://YOUR_IMAGE_1.jpg',
    'https://YOUR_IMAGE_2.jpg'
]
# テキストコンテンツ。
text ='Text content'
# モデルのレスポンス設定。
configure = {
    'output_classification': True, 
    'classification_top_k': 1,
    'output_tag': True,
    'tag_top_k': 5, 
    'output_embedding': True
}
# 呼び出すモデルサービス。
response = ai_service_api.multimodal_classify(video_url, images, text, model_name, configure)
# リクエストの ID。
request_id = response.request_id
# リクエストのステータス。
code = response.code
# リクエストに関する詳細なステータス情報。
message = response.message
# リクエストから返されたコンテンツ。
data = response.data
# タスク ID
job_id = response.data['job_id']
# 戻り値を表示します。
print(response)

次の表に、主要なパラメーターを示します。

パラメーター

タイプ

必須

説明

video_url

STRING

はい

動画の URL。動画の URL がない場合は、空の文字列を指定します。

images

List[STRING]

はい

画像の URL。画像の URL がない場合は、空の配列を指定します。複数の画像の URL はコンマ(,)で区切ります。

text

STRING

はい

テキストコンテンツ。タイトルと概要で構成されます。

model_name

STRING

はい

使用するモデルの名前。

configure

Dict

はい

モデルの追加構成。DICT 型です。詳細については、「パラメーターの構成」をご参照ください。

パラメーターの構成

パラメーター

タイプ

必須

説明

output_classification

BOOL

いいえ

分類結果を返すかどうかを指定します。デフォルト値:True。

classification_top_k

INT

いいえ

上位 K 個の分類結果。値の範囲は 1 ~ 10 です。デフォルト値:1。

output_tag

BOOL

いいえ

ラベル付け結果を返すかどうかを指定します。デフォルト値:True。

tag_top_k

INT

いいえ

上位 K 個のラベル付け結果。値の範囲は 1 ~ 10 です。デフォルト値:5。

output_embedding

BOOL

いいえ

32 次元のマルチモーダルコンテンツの埋め込み結果を返すかどうかを指定します。デフォルト値:True。

レスポンス例:

{'code': 'OK',
 'data': {'job_id': 1134***},
 'message': 'success',
 'request_id': '49b0c9c2-06be-4f30-9b9f-f04baecf4577'}

上記の返された結果から job_id を取得し、次のコードを使用して結果をクエリします。

from ai_service_python_sdk.client.api.ai_service_job_api import AiServiceJobApi

ai_service_job_api = AiServiceJobApi(client)
# 結果をクエリします。
result = ai_service_job_api.get_async_job(<YOUR-JOB-ID>)
# 戻り値を表示します。
print(result)

<YOUR-JOB-ID> を取得した job_id に置き換えます。

レスポンス例:

  • タスクが実行中の場合は、次の結果が返されます。

    {'code': 'OK',
     'data': {'job': {'Result': '',
                      'app_id': 'YOUR_APPID',
                      'create_time': '2023-10-18T14:32:42.619+08:00',
                      'id': 1134206,
                      'message': 'video downloading',
                      'state': 1}},
     'message': 'success',
     'request_id': '49b0c9c2-06be-4f30-9b9f-f04baecf4577'}
  • タスクが完了した場合は、次の結果が返されます。技術的な理由により、一部のパラメーターには翻訳されていない中国語のテキストが含まれていることに注意してください。

    {
    'code': 'OK',
    'data': {'job': 
                {'Result': 
                            '{"classification_result":[{"class":"旅游","score":0.67}],
                            "duration":15.16,
                            "embedding_result":"0.915,0.882,0.943,0.978,1.027,1.181,1.066,1.029,0.866,0.716,0.628,1.203,0.689,0.533,0.734,1.038,0.98,0.613,0.96,0.88,0.586,0.702,1.515,0.697,0.987,0.699,1.179,4.274,0.757,0.89,0.805,0.901",
                            "tag_result":[{"score":0.56,"tag":"有字幕"},{"score":0.456,"tag":"航拍"},{"score":0.453,"tag":"西藏"},{"score":0.437,"tag":"交通工具"},{"score":0.429,"tag":"机械"}],
                            "video_height":918,
                            "video_width":552}',
                            'app_id': '202211140827340****',
                            'create_time': '2023-10-18T14:32:42.619+08:00',
                            'id': 113****,
                            'message': 'success',
                            'model_id': 0,
                            'request_id': '',
                            'state': 2,
                            'type': 'Video'
                }
            },
    'message': 'success',
    'request_id': '139a40ad-fdf6-45de-b760-161c52ff3f3c'
    }

次の表に、レスポンスパラメーターを示します。

パラメーター

タイプ

説明

request_id

STRING

リクエストの ID。

code

STRING

リクエストステータスコード。

message

STRING

リクエストに関する詳細なステータス情報。使用可能な値:

  • success

  • Invalid Input - video data error - load video failed

  • Invalid Input - json format error - json parse runtime exception

data

Dict

モデルサービスから返されたコンテンツ。詳細については、「データパラメーター」をご参照ください。

データパラメーター

パラメーター

タイプ

説明

id

INT

タスクの ID。

app_id

STRING

AppId。

state

INT

タスクのステータスコード。使用可能な値:

  • 0:タスクは初期化中です。

  • 1:タスクは実行中です。

  • 2:タスクは完了しました。

  • 3:タスクは失敗しました。

message

STRING

タスクの実行情報。使用可能な値:

  • success

  • video downloading

create_time

STRING

タスクが作成された時刻。

Result

STRING

モデルサービスから返された結果。レスポンスパラメーターの詳細については、「結果パラメーター」をご参照ください。

結果パラメーター

パラメーター

タイプ

説明

classification_result

List

分類結果です。クラスはスコアの降順にソートされます。リストの長さは、

分類結果。クラスはスコアの降順にソートされます。リストの長さは、classification_top_k によって異なります。各項目は DICT 型です。

このパラメーターは、output_classification を True に設定した場合にのみ返されます。

tag_result

List

ラベル付け結果。ラベルはスコアの降順にソートされます。リストの長さは、tag_top_k によって異なります。各項目は DICT 型です。

このパラメーターは、output_tag を True に設定した場合にのみ返されます。

score

FLOAT

ラベルの確率。小数点以下 3 桁までです。

class

STRING

クラスの名前。

tag

STRING

ラベルの名前。

embedding_result

STRING

32 次元のマルチモーダル特徴。複数の特徴はコンマ(,)で区切ります。

video_height

INT

動画の高さ(ピクセル単位)。video_url パラメーターに空の文字列を指定した場合は、空の文字列が返されます。

video_width

INT

動画の幅(ピクセル単位)。video_url パラメーターに空の文字列を指定した場合は、空の文字列が返されます。

duration

FLOAT

動画の長さ。video_url パラメーターに空の文字列を指定した場合は、空の文字列が返されます。

動画品質評価

動画の品質を評価できます。モデルサービスは、0 から 100 までの浮動小数点数を返します。次のいずれかの方法を使用して、モデルサービスを呼び出すことができます。

  • 単一の動画の品質を評価します。次のコードブロックは、リクエスト例を示しています。

    from ai_service_python_sdk.client.api.ai_service_video_api import AiServiceVideoApi
    
    video_url = 'https://your_video_url.mp4'
    ai_service_api = AiServiceVideoApi(client)
    # カスタムモデルの名前。
    model_name = ''
    # 動画のタイトル。
    video_title = ''
    # モデルのレスポンス設定。
    configure = {}
    # 呼び出すモデルサービス。
    response = ai_service_api.video_qa(video_url, model_name, video_title, configure)
    # リクエストの ID。
    request_id = response.request_id
    # リクエストのステータス。
    code = response.code
    # リクエストに関する詳細なステータス情報。
    message = response.message
    # モデルサービスから返されたコンテンツ。
    data = response.data
    # タスクの ID。
    job_id = response.data['job_id']
    # 戻り値を表示します。
    print(response)

    次の表に、上記の文のパラメーターを示します。

    パラメーター

    タイプ

    必須

    説明

    video_url

    STRING

    はい

    動画の URL。動画のサイズは 100 MB 以下、解像度は 320 × 240 以上にすることをお勧めします。

    video_title

    STRING

    はい

    動画のタイトル。モデルサービスでは動画のタイトルを指定する必要がないため、空の文字列を指定します。

    model_name

    STRING

    はい

    デフォルトでは、汎用モデルを呼び出すために空の文字列が指定されています。

    汎用モデルがビジネス要件を満たせない場合は、アカウントマネージャーに連絡してカスタムモデルを入手してください。カスタムモデルの名前を指定して、カスタムモデルを呼び出すことができます。

    configure

    Dict

    はい

    モデルのレスポンス設定。モデルサービスには空の辞書を指定します。

    出力例:

    {'code': 'OK',
     'data': {'job_id': 10**},
     'message': 'success',
     'request_id': '228235a6-db4f-466a-b20b-a4453f81****'}

    上記の返されたレスポンスから job_id を取得し、次のコードでタスク ID を指定して結果をクエリします。

    from ai_service_python_sdk.client.api.ai_service_job_api import AiServiceJobApi
    
    ai_service_job_api = AiServiceJobApi(client)
    # 結果をクエリします。
    result = ai_service_job_api.get_async_job(<YOUR-JOB-ID>)
    # 戻り値を表示します。
    print(result)

    <YOUR-JOB-ID> を、モデルサービスから返された job_id の値(INT 型)に置き換えます。

    • タスクが実行中の場合は、次の結果が返されます。

      {'code': 'OK',
       'data': {'job': {'Result': '',
                        'app_id': '202209070402410****',
                        'create_time': '2022-09-07T14:03:33.8+08:00',
                        'id': 1012,
                        'message': 'video downloading',
                        'state': 1}},
       'message': 'success',
       'request_id': '5259ec57-e55c-4772-b01e-3deafd74****'}
    • タスクが完了した場合は、次の結果が返されます。

      {'code': 'OK',
       'data': {'job': {'Result': '{"avg_fps":30,"duration":14,"height":1920,"single_img":0.74072265625,"video_score":20.57750291278764,"width":1080}',
                        'app_id': '202209290847310****',
                        'create_time': '2022-10-12T10:51:30.015+08:00',
                        'id': 1012,
                        'message': 'success',
                        'state': 2}},
       'message': 'success',
       'request_id': '0b4f658f-cd96-4606-8d81-d2fe0a6d****'}

    次の表に、レスポンスパラメーターを示します。

    パラメーター

    タイプ

    説明

    request_id

    STRING

    リクエスト ID。STRING 型です。

    code

    STRING

    リクエストステータスコード。STRING 型です。

    message

    STRING

    リクエストに関する詳細なステータス情報。STRING 型です。出力例:

    • success

    • Invalid Input - video data error - load video failed

    • Invalid Input - json format error - json parse runtime exception

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

    data

    Dict

    モデルサービスから返されたコンテンツ。DICT 型です。レスポンスパラメーターの詳細については、「データパラメーター」をご参照ください。

    表 4. データパラメーター

    パラメーター

    説明

    id

    タスクの ID(job_id)。INT 型です。

    app_id

    AppId。INT 型です。

    state

    タスクのステータスコード。INT 型です。有効値:

    • 0: タスクは初期化中です。

    • 1: タスクは実行中です。

    • 2: タスクは完了しました。

    • 3: タスクは失敗しました。

    message

    タスクの実行情報。STRING 型です。有効値:

    • success

    • video downloading

    create_time

    タスクが作成された時刻。STRING 型です。

    Result

    モデルサービスから返された結果。STRING 型です。詳細については、「結果パラメーター」をご参照ください。

    表 5. 結果パラメーター

    パラメーター

    説明

    video_score

    動画の品質スコア。FLOAT 型です。有効値:0 ~ 100。

    avg_fps

    動画の平均フレームレート。INT 型です。

    duration

    動画の長さ。INT 型です。単位:秒。

    single_img

    動画内の画像の差。FLOAT 型です。有効値:0 ~ 1。値が小さいほど、差が小さいことを示します。これは、動画が静止画像に基づいて生成されていることを意味します。

    height

    動画の高さ(ピクセル単位)。INT 型です。

    width

    動画の幅(ピクセル単位)。INT 型です。

  • 複数の動画の品質をバッチで評価します。次のコードブロックは、リクエスト例を示しています。

    from ai_service_python_sdk.client.api.ai_service_video_api import AiServiceVideoApi
    from ai_service_python_sdk.client.models.batch_video_request_videos import BatchVideoRequestVideos
    
    ai_service_api = AiServiceVideoApi(client)
    
    # バッチ処理リクエスト(動画の URL + 動画のタイトル)を作成します。
    videos = [
        BatchVideoRequestVideos('https://your_video_1_url.mp4', ''),
        BatchVideoRequestVideos('https://your_video_2_url.mp4', '')
        ]
    # カスタムモデルの名前。
    model_name = ''
    # モデルのレスポンス設定。
    configure = {}
    # 呼び出すモデルサービス。
    response = ai_service_api.batch_video_qa(videos, model_name, configure)
    # リクエストの ID。
    request_id = response.request_id
    # リクエストのステータス。
    code = response.code
    # リクエストに関する詳細なステータス情報。
    message = response.message
    # モデルサービスから返されたコンテンツ。
    data = response.data
    # バッチタスクの ID。
    batch_id = response.data['batch_id']
    # 戻り値を表示します。
    print(response)

    出力例:

    {'code': 'OK',
     'data': {'batch_id': 14},
     'message': 'success',
     'request_id': '6d5ef1b5-c01f-4e63-9eec-150ddde9****'}

    上記の返されたレスポンスから batch_id を取得し、次のコードでバッチ ID を使用して結果をクエリします。

    from ai_service_python_sdk.client.api.ai_service_job_api import AiServiceJobApi
    
    ai_service_job_api = AiServiceJobApi(client)
    # 結果をクエリします。
    result = ai_service_job_api.get_batch_job_with_id(<YOUR-BATCH-ID>)
    # 戻り値を表示します。
    print(result)

    <YOUR-BATCH-ID> を、モデルサービスから返された batch_id の値(INT 型)に置き換えます。

    次の結果が返されます。

    {'code': 'OK',
     'data': {'jobs': [{'Result': '{"avg_fps":30,"duration":14.633333333333333,"height":1280,"single_img":0.486328125,"video_score":55.3773279862801,"width":720}',
                        'app_id': '202209290847310****',
                        'batch_id': 14,
                        'create_time': '2022-10-26T19:44:47.501+08:00',
                        'id': 44**,
                        'message': 'success',
                        'object': 'https://your_video_1_url.mp4',
                        'state': 2},
                       {'Result': '{"avg_fps":30,"duration":18.2,"height":568,"single_img":0.5791015625,"video_score":67.21071975649835,"width":320}',
                        'app_id': '202209290847310****',
                        'batch_id': 14,
                        'create_time': '2022-10-26T19:44:47.501+08:00',
                        'id': 4484,
                        'message': 'success',
                        'object': 'https://your_video_2_url.mp4',
                        'state': 2}]},
     'message': 'success',
     'request_id': 'e99697ff-7d42-4c0a-a0a0-c6a0c0ba****'}

    バッチタスクから返された data['jobs'] パラメーターは配列です。次の表に、配列内のパラメーターを示します。

    パラメーター

    説明

    id

    バッチタスク内のデータ入力の ID。INT 型です。

    batch_id

    バッチタスクの ID。INT 型です。

    app_id

    AppId。INT 型です。

    state

    タスクのステータスコード。INT 型です。有効値:

    • 0: タスクは初期化中です。

    • 1: タスクは実行中です。

    • 2: タスクは完了しました。

    • 3: タスクは失敗しました。

    message

    タスクの実行情報。STRING 型です。有効値:

    • success

    • video downloading

    create_time

    タスクが作成された時刻。STRING 型です。

    object

    動画の URL。STRING 型です。

    Result

    モデルサービスから返された結果。STRING 型です。

    説明

    Result パラメーターは、単一の動画の品質を評価するために使用されるモデルサービスから返される Result パラメーターと同じです。

ラベルによる動画分類

動画にラベルを追加することで、短い動画を分類できます。モードサービスは、動画のクラス、確率が最も高い上位 K 個のラベル、および各ラベルの確率を返すことができます。また、動画の高次元特徴も返すことができます。次のいずれかの方法を使用して、モデルサービスを呼び出すことができます。

  • 単一の動画を分類します。次のコードブロックは、リクエスト例を示しています。

    from ai_service_python_sdk.client.api.ai_service_video_api import AiServiceVideoApi
    
    video_url = 'https://your_video_url.mp4'
    ai_service_api = AiServiceVideoApi(client)
    # カスタムモデルの名前。
    model_name = ''
    # 動画のタイトル。
    video_title = 'your_video_title'
    # モデルのレスポンス設定。
    configure = {
        'output_classification': True,
        'classification_top_k': 1,
        'output_tag': True,
        'tag_top_k': 5,
        'output_embedding': True
        }
    # 呼び出すモデルサービス。
    response = ai_service_api.classify_label_video(video_url, video_title, model_name, configure)
    # リクエストの ID。
    request_id = response.request_id
    # リクエストのステータス。
    code = response.code
    # リクエストに関する詳細なステータス情報。
    message = response.message
    # モデルサービスから返されたコンテンツ。
    data = response.data
    # タスクの ID。
    job_id = response.data['job_id']
    # 戻り値を表示します。
    print(response)

    次の表に、上記の文のパラメーターを示します。

    パラメーター

    タイプ

    必須

    説明

    video_url

    STRING

    はい

    動画の URL。動画のサイズは 100 MB 以下、解像度は 320 × 240 以上にすることをお勧めします。

    video_title

    STRING

    はい

    動画のタイトル。動画にタイトルがない場合は、空の文字列を指定します。

    model_name

    STRING

    はい

    デフォルトでは、汎用モデルを呼び出すために空の文字列が指定されています。

    汎用モデルが要件を満たせない場合は、PAI のテクニカルサポートに連絡してカスタムモデルを入手できます。カスタムモデルの名前を指定して、カスタムモデルを呼び出すことができます。

    configure

    Dict

    はい

    モデルのレスポンス設定。デフォルト値は None です。詳細については、「パラメーターの構成」をご参照ください。

    説明

    configureNone に設定されている場合、configure リストのパラメーターはデフォルト設定を使用します。

    表 6. パラメーターの構成

    パラメーター

    タイプ

    必須

    説明

    output_classification

    BOOL

    いいえ

    動画の分類結果を返すかどうかを指定します。有効値:

    • True(デフォルト)

    • False

    classification_top_k

    INT

    いいえ

    動画の上位 K 個のクラス。K の有効値:1 ~ 10。デフォルト値:1。

    output_tag

    BOOL

    いいえ

    動画のラベルを返すかどうかを指定します。有効値:

    • True(デフォルト)

    • False

    tag_top_k

    INT

    いいえ

    動画の上位 K 個のラベル。K の有効値:1 ~ 10。デフォルト値:5。

    output_embedding

    BOOL

    いいえ

    64 次元の動画の埋め込みを返すかどうかを指定します。有効値:

    • True(デフォルト)

    • False

    出力例:

    {'code': 'OK',
     'data': {'job_id': 5},
     'message': 'success',
     'request_id': '4f6caecb-e3d6-4997-89fe-26ac7536****'}

    上記の返されたレスポンスから job_id を取得し、次のコードでタスク ID を指定して結果をクエリします。

    from ai_service_python_sdk.client.api.ai_service_job_api import AiServiceJobApi
    
    ai_service_job_api = AiServiceJobApi(client)
    # 結果をクエリします。
    result = ai_service_job_api.get_async_job(<YOUR-JOB-ID>)
    # 戻り値を表示します。
    print(result)

    <YOUR-JOB-ID> を、モデルサービスから返された job_id の値(INT 型)に置き換えます。

    • タスクが実行中の場合は、次の結果が返されます。

      {'code': 'OK',
       'data': {'job': {'Result': '',
                        'app_id': '202209070402410****',
                        'create_time': '2022-09-07T14:03:33.8+08:00',
                        'id': 5,
                        'message': 'video downloading',
                        'state': 1}},
       'message': 'success',
       'request_id': '5259ec57-e55c-4772-b01e-3deafd74****'}
      
    • タスクが完了した場合は、次の結果が返されます。技術的な理由により、一部のパラメーターには翻訳されていない中国語のテキストが含まれていることに注意してください。

      {'code': 'OK',
       'data': {'job': {'Result':
          '{"classification_result":[
              {"class":"三农","score":0.997}
              ],
          "duration":14.633333333333333,
          "embedding_result":"-0.162,0.483,0.881,0.686,0.319,-1.569,0.266,0.227,-1.352,1.157,-0.784,-1.016,-0.987,-1.214,-0.493,-1.182,0.85,1.473,-1.27,-3.391,3.394,-0.471,-0.434,0.256,2.146,0.787,0.348,1.67,0.229,-0.878,0.299,0.392,-2.161,-0.756,-3.438,-0.158,0.713,-5.812,-1.248,0.253,-1.111,-0.165,2.644,-2.368,-1.636,-0.533,0.468,1.2,-1.431,-1.151,-1.276,-1.954,1.167,-0.938,-0.111,-2.636,-1.248,4.662,1.892,5.485,-1.137,1.589,-1.935,1.018",
          "tag_result":[
              {"score":0.728,"tag":"盆栽"},
              {"score":0.576,"tag":"植物"},
              {"score":0.539,"tag":"种植技术"},
              {"score":0.466,"tag":"农业技术"},
              {"score":0.458,"tag":"种植"}
              ],
          "video_height":1280,
          "video_width":720}\n',
        'app_id': '202209070402410****',
        'create_time': '2022-09-07T14:03:33.8+08:00',
        'id': 5,
        'message': 'success',
        'state': 2}},
       'message': 'success',
       'request_id': '9283066a-f414-40fd-8fd3-0f77c1ef****'}

    次の表に、レスポンスパラメーターを示します。

    パラメーター

    説明

    request_id

    リクエスト ID。STRING 型です。

    code

    リクエストステータスコード。STRING 型です。

    message

    リクエストに関する詳細なステータス情報。STRING 型です。出力例:

    • success

    • Invalid Input - video data error - load video failed

    • Invalid Input - json format error - json parse runtime exception

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

    data

    モデルサービスから返されたコンテンツ。DICT 型です。詳細については、「データ ['job'] パラメーター」をご参照ください。

    表 7. データ ['job'] パラメーター

    パラメーター

    説明

    id

    タスクの ID(job_id)。INT 型です。

    app_id

    AppId。INT 型です。

    state

    タスクのステータスコード。INT 型です。有効値:

    • 0: タスクは初期化中です。

    • 1: タスクは実行中です。

    • 2: タスクは完了しました。

    • 3: タスクは失敗しました。

    message

    タスクの実行情報。STRING 型です。有効値:

    • success

    • video downloading

    create_time

    タスクが作成された時刻。STRING 型です。

    Result

    モデルサービスから返された結果。STRING 型です。詳細については、「結果パラメーター」をご参照ください。

    表 8. 結果パラメーター

    パラメーター

    説明

    classification_result

    分類結果。LIST 型です。クラスは、スコア(確率)の降順にソートされます。

    リストの長さは、classification_top_k によって異なります。

    このパラメーターは、output_classificationTrue に設定されている場合にのみ返されます。

    tag_result

    動画のラベル。スコア(確率)の降順にソートされます。

    リストの長さは、tag_top_k によって異なります。

    このパラメーターは、output_tagTrue に設定されている場合にのみ返されます。

    score

    ラベルの確率。FLOAT 型です。値は小数点以下 3 桁までです。

    class

    クラスのエイリアス。STRING 型です。

    tag

    ラベルの名前。STRING 型です。

    embedding_result

    動画の 64 次元特徴。STRING 型です。特徴はコンマ(,)で区切られます。

    このパラメーターは、output_embedding が True に設定されている場合にのみ返されます。

    video_height

    動画の高さ(ピクセル単位)。INT 型です。

    video_width

    動画の幅(ピクセル単位)。INT 型です。

    duration

    動画の長さ。FLOAT 型です。

  • 複数の動画をバッチで分類します。次のコードは、リクエスト例を示しています。

    from ai_service_python_sdk.client.api.ai_service_video_api import AiServiceVideoApi
    from ai_service_python_sdk.client.models.batch_video_request_videos import BatchVideoRequestVideos
    
    ai_service_api = AiServiceVideoApi(client)
    
    # モデルのレスポンス設定。
    configure = {
        'output_classification': True,
        'classification_top_k': 1,
        'output_tag': True,
        'tag_top_k': 5,
        'output_embedding': True
        }
    # バッチ処理リクエスト(動画の URL + 動画のタイトル)を作成します。
    videos = [
        BatchVideoRequestVideos('https://your_video_1_url.mp4', 'your_video_title_1'),
        BatchVideoRequestVideos('https://your_video_2_url.mp4', 'your_video_title_2')
        ]
    # カスタムモデルの名前。
    model_name = ''
    # 呼び出すモデルサービス。
    response = ai_service_api.batch_classify_label_video(videos, model_name, configure)
    # リクエストの ID。
    request_id = response.request_id
    # リクエストのステータス。
    code = response.code
    # リクエストに関する詳細なステータス情報。
    message = response.message
    # モデルサービスから返されたコンテンツ。
    data = response.data
    # バッチ ID
    batch_id = response.data['batch_id']
    # 戻り値を表示します。
    print(response)

    出力例:

    {'code': 'OK',
     'data': {'batch_id': 1},
     'message': 'success',
     'request_id': 'c59eb912-9df4-4afe-8129-23f7b6dc****'}

    上記の返されたレスポンスから batch_id を取得し、次のコードでバッチ ID を使用して結果をクエリします。

    from ai_service_python_sdk.client.api.ai_service_job_api import AiServiceJobApi
    
    ai_service_job_api = AiServiceJobApi(client)
    # 結果をクエリします。
    result = ai_service_job_api.get_batch_job_with_id(<YOUR-BATCH-ID>)
    # 戻り値を表示します。
    print(result)

    <YOUR-BATCH-ID> を、モデルサービスから返された batch_id の値(INT 型)に置き換えます。

    次の結果が返されます。技術的な理由により、一部のパラメーターには翻訳されていない中国語のテキストが含まれていることに注意してください。

    {'code': 'OK',
     'data': {'jobs': [{'Result': '{"classification_result":[{"class":"生活","score":0.998}],"duration":14.633333333333333,"embedding_result":"0.998,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.002","tag_result":[{"score":0.917,"tag":"盆栽"},{"score":0.777,"tag":"植物"},{"score":0.693,"tag":"园艺"},{"score":0.58,"tag":"幸福树"},{"score":0.509,"tag":"有字幕"}],"video_height":1280,"video_width":720}',
                        'app_id': '202209290847310****',
                        'batch_id': 13,
                        'create_time': '2022-10-26T18:13:20.928+08:00',
                        'id': 4090,
                        'message': 'success',
                        'object': 'https://your_video_1_url.mp4',
                        'state': 2},
                       {'Result': '{"classification_result":[{"class":"体育","score":0.998}],"duration":18.2,"embedding_result":"0.0,0.0,0.0,0.998,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.001,0.0,0.0,0.0,0.0,0.001,0.0,0.0,0.0,0.0","tag_result":[{"score":0.981,"tag":"全运会"},{"score":0.901,"tag":"乒乓球"},{"score":0.798,"tag":"运动"},{"score":0.583,"tag":"有字幕"},{"score":0.498,"tag":"乒乓球比赛"}],"video_height":568,"video_width":320}',
                        'app_id': '202209290847310****',
                        'batch_id': 13,
                        'create_time': '2022-10-26T18:13:20.928+08:00',
                        'id': 4091,
                        'message': 'success',
                        'object': 'https://your_video_2_url.mp4',
                        'state': 2}]},
     'message': 'success',
     'request_id': '73e4b48e-42b8-4347-9cb4-7a49c1f8****'}

    バッチタスクから返された data['jobs'] パラメーターは配列です。次の表に、配列内のパラメーターを示します。

    パラメーター

    説明

    id

    バッチタスク内のデータ入力の ID。INT 型です。

    batch_id

    バッチタスクの ID。INT 型です。

    app_id

    AppId。INT 型です。

    state

    タスクのステータスコード。INT 型です。有効値:

    • 0: タスクは初期化中です。

    • 1: タスクは実行中です。

    • 2: タスクは完了しました。

    • 3: タスクは失敗しました。

    message

    タスクの実行情報。STRING 型です。有効値:

    • success

    • video downloading

    create_time

    タスクが作成された時刻。STRING 型です。

    object

    動画の URL。STRING 型です。

    Result

    モデルサービスから返された結果。STRING 型です。

    説明

    Result パラメーターは、単一の動画の品質を評価するために使用されるモデルサービスから返される Result パラメーターと同じです。

エラーコード

次の表に、Python 向けマルチメディア分析 SDK から返されるエラーコードを示します。

画像分析サービス

リクエストエラー

HTTP ステータスコード

code

message

操作

400

PARAMETER_ERROR

image is empty

リクエストに画像が指定されていません。

note found appid

AppId が無効です。

Unmarshal type error: expected=string, got=number, field=image, offset=42, internal=json: cannot unmarshal number into Go struct field ImageRequest.image of type string

image パラメーターのデータ型が無効です。

401

PARAMETER_ERROR

sign error

トークンが無効です。

404

PARAMETER_ERROR

model not found

リクエストされたモデルサービスがデプロイされていません。

422

SERVER_ERROR

返されたエラーメッセージを参照してください。

モデルサービスでエラーが発生しました。返された message の内容を参照してください。

動画分析サービス

  • リクエストエラー

    HTTP ステータスコード

    code

    message

    操作

    400

    PARAMETER_ERROR

    not found appid

    AppId が無効です。

    401

    PARAMETER_ERROR

    sign error

    トークンが無効です。

    404

    PARAMETER_ERROR

    model not found

    リクエストされたモデルサービスがデプロイされていません。

  • 結果クエリエラー

    state

    message

    操作

    3

    failed to download video, err=fetch resource failed\tcode = 404

    システムが指定された URL から動画をダウンロードできませんでした。

    3

    返されたエラーメッセージを参照してください。

    モデルサービスでエラーが発生しました。返された message の内容を参照してください。