アセット検索結果の照会

Prev Next

VPC環境で利用できます。

アセットの検索結果を照会します。アセット検索のリクエストの呼び出し後に発行されたsearchIdを使用して結果を確認できます。

参考
  • status"COMPLETED"状態の場合にのみtotalCountresultsを返します。
  • クエリスコア、インデックス作成順にソートされます。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
GET /api/v1/workspaces/{workspace_name}/assets/search/{search_id}

リクエストヘッダ

Media Intelligence APIで共通して使用されるヘッダの詳細は、Media Intelligenceのリクエストヘッダをご参照ください。

リクエストパスパラメータ

フィールド タイプ 必須の有無 説明
workspace_name String Required ワークスペース名
search_id String Required アセット検索リクエスト時に発行された検索識別子

リクエストクエリパラメータ

フィールド タイプ 必須の有無 説明
pageSize Integer Optional ページごとの結果数
  • 1~100 (デフォルト: 50)
pageNum Integer Optional 照会対象ページ番号
  • 1~N (デフォルト: 1)

リクエスト例

curl --location --request GET 'https://mi.apigw.ntruss.com/api/v1/workspaces/betatest/scene-search/JtWJKTDCKknMHP8Id4Gt?pageSize=50&pageNum=1' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

フィールド タイプ 必須の有無 説明
code String Required API処理結果コード
message String Required API処理結果メッセージ
result Object Required アセット検索結果情報

result

フィールド タイプ 必須の有無 説明
searchId String Required アセット検索リクエスト時に発行された検索識別子
status String Required 検索状態コード
  • RUNNING | COMPLETED | FAILED
    • RUNNING: 検索中
    • COMPLETED: 完了
    • FAILED: 失敗
totalCount Integer Conditional 検索されたアセットの総数
  • statusCOMPLETEDの場合、含める
totalPage Integer Conditional ページの総数
  • statusCOMPLETEDの場合、含める
pageNo Integer Conditional 現在のページ番号
  • statusCOMPLETEDの場合、含める
pageSize Integer Conditional ページごとの結果数
  • statusCOMPLETEDの場合、含める
content Array Conditional シーン/画像単位の検索結果リスト
  • statusCOMPLETEDの場合、含める

result.content

フィールド タイプ 必須の有無 説明
jobId Integer Required 検索対象インデックス(Job) ID
engine String Required インデックスエンジンのバージョン
type String Required アセットタイプ
  • IMAGE | VIDEO
    • IMAGE: 画像
    • VIDEO: ビデオ
assetId Integer Required 検索対象メディアアセット ID
assetName String Optional アセット名
scene Integer Optional ビデオ内で検索されたアセット ID
  • 画像アセットは0と表示
score Number Optional アセット類似度スコア
startMs Number Optional ビデオアセットの開始時間 (ミリ秒)
  • 画像アセットは0と表示
endMs Number Optional ビデオアセットの終了時間 (ミリ秒)
  • 画像アセットは0と表示
assetUrl String Optional メディア URL
  • (有効時間は1時間)
sceneThumbnailUrl String Optional (ビディ分析時)アセットのサムネイル画像 URL
  • (有効時間は1時間)
shots Array Optional 当該アセットに含まれたショット情報リスト

result.content.shots

フィールド タイプ 必須の有無 説明
shot Integer Required ショット ID
  • 画像アセットは0と表示
startMs Number Required ショットの開始時間 (ミリ秒)
  • 画像アセットは0と表示
endMs Number Required ショットの終了時間 (ミリ秒)
  • 画像アセットは0と表示
score Number Optional ショット類似度スコア
persons Array Optional ショットに登場する人物リスト
scripts Array Optional ショットに含まれたセリフ情報リスト
queryRef Array Optional ユーザークエリとのマッチング情報リスト

result.content.shots.persons

フィールド タイプ 説明
personId Integer 人物 ID
name String 人物名
profileUrl String 人物プロファイルのサムネイル URL
  • (有効時間は1時間)

result.content.shots.scripts

フィールド タイプ 説明
startMs Number セリフ開始時間 (ミリ秒)
endMs Number セリフ終了時間 (ミリ秒)
text String セリフテキスト
name String 発話者名
  • 匿名の場合、話者1話者2などと表示
personId Integer 発話者人物 ID
  • 匿名の場合、null

result.content.shots.queryRef

フィールド タイプ 説明
queryType String クエリのタイプ
  • TEXT | IMAGE | PERSON | DIALOGUE
    • TEXT: テキスト検索結果
    • IMAGE: 画像検索結果
    • PERSON: 人物検索結果
    • DIALOGUE: セリフ検索結果
conditionType String クエリ条件
  • MUST | ANY
matchedValues Array<String> 入力されたクエリのうち、当該ショットとマッチした値

レスポンス例

{
  "code": "0",
  "message": "success",
  "result": {
    "search_id": "JtWJKTDCKknMHP8Id4Gt",
    "status": "COMPLETED",
    "totalCount": 1,
    "totalPage": 1,
    "pageNo": 1,
    "pageSize": 50,
    "content": [
      {
        "jobId": 12345,
        "engine": "v2.1.0",
        "type":"VIDEO",
        "assetId": 67890,
        "assetName": "都会の追撃",
        "scene": 7,
        "score": 98.3,
        "startMs": 120000,
        "endMs": 135000,
        "assetUrl": "https://kr.object.ncloudstorage.com/.../12345/video.mp4?X-Amz-...",
        "sceneThumbnailUrl": "https://kr.object.ncloudstorage.com/.../12345/7.jpg?X-Amz-...",
        "shots": [
          {
            "shot": 70,
            "startMs": 121000,
            "endMs": 123000,
            "score": 98.3,
            "persons": [
              {
                "personId": 1001,
                "name": "ユ・ジェソク",
                "profileUrl": "https://kr.object.ncloudstorage.com/.../jiho0.jpg?X-Amz-..."
              }
            ],
            "scripts": [
              {
                "startMs": 121500,
                "endMs": 122000,
                "text": "こっちだ、ほら!",
                "name": "話者1",
                "personId": null
              }
            ],
            "queryRef": [
              {
                "queryType": "TEXT",
                "conditionType": "MUST",
                "matchedValues": ["暗い路地"]
              }
            ]
          },
          {
            "shot": 71,
            "startMs": 123000,
            "endMs": 125000,
            "score": 95.8,
            "persons": [
              {
                "personId": 1001,
                "name": "ユ・ジェソク",
                "profileUrl": "https://kr.object.ncloudstorage.com/.../jiho0.jpg?X-Amz-..."
              }
            ],
            "scripts": [
              {
                "startMs": 124000,
                "endMs": 124500,
                "text": "危ない、隠れろ!",
                "name": "話者2",
                "personId": 1001
              }
            ],
            "queryRef": [
              {
                "queryType": "DIALOGUE",
                "conditionType": "ANY",
                "matchedValues": ["危ない"]
              }
            ]
          }
        ]
      }
    ]
  }
}