AI Search オープンプラットフォームでは、API を使用してビデオスナップショットサービスを呼び出し、ビデオからキーフレームを抽出できます。このサービスを光学文字認識 (OCR)、画像解析、またはマルチモーダル埋め込みサービスと組み合わせることで、ビデオコンテンツの詳細な解析と構造化処理を実行できます。
サービス
サービス名 | サービス ID | サービスの説明 | API 呼び出しの QPS 制限 (Alibaba Cloud アカウントと RAM ユーザーを含む) |
ビデオスナップショットサービス 001 | ops-video-snapshot-001 | ビデオスナップショットサービス 001 (ops-video-snapshot-001) は、ビデオからキーフレームをキャプチャするビデオコンテンツ抽出機能を提供します。このサービスをマルチモーダル埋め込みや画像解析機能と組み合わせることで、クロスモーダル検索が可能になります。 | 5 説明 より高い QPS を申請するには、チケットを送信してください。 |
認証情報が取得されていること。
API を使用して AI Search オープンプラットフォームサービスを呼び出す際には、呼び出し元の ID を認証する必要があります。
サービスアクセスアドレスが取得されていること。
サービスは、インターネットまたは Virtual Private Cloud (VPC) 経由で呼び出すことができます。詳細については、「サービス登録アドレスの取得」をご参照ください。
非同期タスクの作成
リクエストメソッド:POST
URL
{host}/v3/openapi/workspaces/{workspace_name}/video-snapshot/{service_id}/asynchost:サービスのエンドポイント。API サービスはインターネットまたは VPC 経由で呼び出すことができます。詳細については、「サービスアクセスアドレスの取得」をご参照ください。
workspace_name:ワークスペースの名前。例:default。
service_id:組み込みのサービス ID。例:ops-video-snapshot-001。
リクエストパラメーター
ヘッダーパラメーター
API キー認証
パラメーター | タイプ | 必須 | 説明 | 例 |
Content-Type | String | はい | リクエストタイプ:application/json | application/json |
Authorization | String | はい | API キー | Bearer OS-d1**2a |
ボディパラメーター
パラメーター | タイプ | 必須 | 説明 |
input | Object(input) | はい | 処理するマルチメディアファイルを指定します。 |
parameters | Object | いいえ | サービスのパラメーターを指定します。 |
output | Object(output) | はい | 出力フォーマットとファイルストレージパスを制御します。 |
input
パラメーター | タイプ | 必須 | 説明 |
content | String | いいえ | ビデオコンテンツの Base64 エンコードされたデータ。サポートされているフォーマットは、mp4、avi、mkv、mov、flv、webm です。 説明 input.content と input.oss パラメーターは相互排他的です。どちらか一方のみを指定してください。
|
oss | String | いいえ | 入力ファイルの OSS パス。例:oss://<BUCKET_NAME>/xxx/xxx.mp4。 |
file_name | String | いいえ | ビデオファイルの名前。このパラメーターが設定されていない場合、ファイル名はコンテンツから解析されます。 |
パラメーター
パラメーター | タイプ | 必須 | 説明 |
interval | Int | いいえ | キーフレームの間隔 (秒)。デフォルト値は 1 秒です。 |
format | String | いいえ | キャプチャされたフレームの出力フォーマット。有効な値は jpg と png です。デフォルト値は jpg です。 |
output
パラメーター | タイプ | 必須 | 説明 |
type | String | いいえ | base64:画像コンテンツを Base64 フォーマットで返します。これは同期呼び出しでのみサポートされます。 oss:スナップショットファイルを OSS に保存します。これがデフォルト値です。 |
oss | String | いいえ | 出力ファイルの OSS パス。`type` を `oss` に設定した場合、このパラメーターは必須です。 例: |
レスポンスパラメーター
パラメーター | タイプ | 説明 | 例 |
result.task_id | String | ビデオ抽出タスクの一意の ID。 | snapshot-xxxx-abc-123 |
cURL リクエストの例
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <Your API-KEY>" \
"http://***-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/video-snapshot/ops-video-snapshot-001/async"
--data '{
"input":{
"oss" : "oss://<BUCKET_NAME>/test.mp4"
},
"parameters" : {
},
"output": {
"type":"oss",
"oss" :"oss://<BUCKET_NAME>/result/path"
}
}' \
レスポンスの例
{
"request_id":"de81e152284a2d3b1f4315d*******",
"latency":21,
"usage":{},
"result":{
"task_id":"snapshot-20250617102142-110841*******-*******",
"status":"PENDING"
}
}非同期タスクのステータス取得
リクエストメソッド:GET
URL
{host}/v3/openapi/workspaces/{workspace_name}/video-snapshot/{service_id}/async/task-status?task_id={task_id}host:サービスのエンドポイント。API サービスはインターネットまたは VPC 経由で呼び出すことができます。詳細については、「サービスアクセスアドレスの取得」をご参照ください。
workspace_name:ワークスペースの名前。例:default。
service_id:組み込みのサービス ID。例:ops-video-snapshot-001。
リクエストパラメーター
パラメーター名 | タイプ | 必須 | 説明 | 例 |
service_id | String | はい | サービス ID。 | ops-video-snapshot-001 |
task_id | String | はい | 非同期ビデオスナップショットタスク作成リクエストのレスポンスから取得したタスク ID。 | snapshot-xxxx-abc-123 |
レスポンスパラメーター
パラメーター | タイプ | 説明 | 例 |
result.task_id | String | ビデオ抽出タスクの一意の ID。 | snapshot-xxxx-abc-123 |
result.status | String | ジョブのステータス:
| PENDING |
result.error | String | `status` が `FAIL` の場合のエラーメッセージ。タスクが成功した場合は空です。 | |
result.data | List(SnapshotResult) | ビデオ処理の結果。 | |
usage.image_count | Int | スナップショット操作から出力された画像の数。 |
SnapshotResult
パラメーター | タイプ | 説明 |
frame_index | Int | ビデオ内のフレームのインデックス。 |
path | String | ファイルの OSS パス。出力を OSS に設定した場合、これは OSS 内のスナップショット結果の URL エンコードされたストレージパスです。 |
content | String | 画像の Base64 エンコードされたコンテンツ。`content` または `path` のいずれか一方のみが返されます。`content` は同期タスクでのみ返されます。 |
frame_time | Float | ビデオ内の現在のフレームのタイムスタンプ (秒)。 |
cURL リクエストの例
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <Your API-KEY>" \
"http://***-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/video-snapshot/ops-video-snapshot-001/async/task-status?task_id=snapshot-20250617102142-1108418170738252-******" \
レスポンスの例
{
"request_id":"83b423e2e63613a878c369c20******",
"latency":11,
"usage":{
"image":64
},
"result":{
"task_id":"snapshot-20250617102142-1108418170738252-******",
"status":"SUCCESS",
"data":[
{
"frame_index": 0,
"path": "oss://bucket-name/result/path/snapshot-xxxx-abc-123-xxx/snapshot_0.jpg",
"frame_time": 0.0
},
......
{
"frame_index": 1890,
"path": "oss://bucket-name/result/path/snapshot-xxxx-abc-123-xxx/snapshot_63.jpg",
"frame_time": 63.0
}
]
}
}同期ビデオスナップショットタスクの作成
URL
{host}/v3/openapi/workspaces/{workspace_name}/video-snapshot/{service_id}/synchost:サービスのエンドポイント。API サービスはインターネットまたは VPC 経由で呼び出すことができます。詳細については、「サービスアクセスアドレスの取得」をご参照ください。
workspace_name:ワークスペースの名前。例:default。
service_id:組み込みのサービス ID。例:ops-video-snapshot-001。
リクエストパラメーター
ヘッダーパラメーター
API キー認証
パラメーター | タイプ | 必須 | 説明 | 例 |
Content-Type | String | はい | リクエストタイプ:application/json | application/json |
Authorization | String | はい | API キー | Bearer OS-d1**2a |
ボディパラメーター
パラメーター | タイプ | 必須 | 説明 |
input | Object(input) | はい | 処理するマルチメディアファイルを指定します。 |
parameters | Object | いいえ | サービスのパラメーターを指定します。 |
output | Object(output) | はい | 出力フォーマットとファイルストレージパスを制御します。 |
input
パラメーター | タイプ | 必須 | 説明 |
content | String | いいえ | ビデオコンテンツの Base64 エンコードされたデータ。サポートされているフォーマットは、mp4、avi、mkv、mov、flv、webm です。 説明 input.content と input.oss パラメーターは相互排他的です。どちらか一方のみを指定してください。
|
oss | String | いいえ | 入力ファイルの OSS パス。例:oss://<BUCKET_NAME>/xxx/xxx.mp4。 |
file_name | String | いいえ | ビデオファイルの名前。このパラメーターが設定されていない場合、ファイル名はコンテンツから解析されます。 |
パラメーター
パラメーター | タイプ | 必須 | 説明 |
interval | Int | いいえ | キーフレームの間隔 (秒)。デフォルト値は 1 秒です。 |
format | String | いいえ | キャプチャされたフレームの出力フォーマット。有効な値は jpg と png です。デフォルト値は jpg です。 |
output
パラメーター | タイプ | 必須 | 説明 |
type | String | いいえ | base64:画像コンテンツを Base64 フォーマットで返します。これは同期呼び出しでのみサポートされます。 oss:スナップショットファイルを OSS に保存します。これがデフォルト値です。 |
oss | String | いいえ | 出力ファイルの OSS パス。`type` を `oss` に設定した場合、このパラメーターは必須です。 例: |
レスポンスパラメーター
パラメーター | タイプ | 説明 | 例 |
result.task_id | String | ビデオ抽出タスクの一意の ID。 | snapshot-xxxx-abc-123 |
cURL リクエストの例
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <Your API-KEY>" \
"http://***-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/video-snapshot/ops-video-snapshot-001/sync"
--data '{
"input":{
"oss" : "oss://<BUCKET_NAME>/test.mp4"
},
"parameters" : {
},
"output": {
"type":"oss",
"oss" :"oss://<BUCKET_NAME>/result/path"
}
}' \
レスポンスの例
{
"request_id":"83b423e2e63613a878c369c20******",
"latency":11,
"usage":{
"image":64
},
"result":{
"task_id":"snapshot-20250617102142-1108418170738252-b******",
"status":"SUCCESS",
"data":[
{
"frame_index": 0,
"path": "oss://bucket-name/result/path/snapshot-xxxx-abc-123-xxx/snapshot_0.jpg",
"frame_time": 0.0
},
......
{
"frame_index": 1890,
"path": "oss://bucket-name/result/path/snapshot-xxxx-abc-123-xxx/snapshot_63.jpg",
"frame_time": 63.0
}
]
}
}ステータスコードの説明
リクエストが失敗した場合、レスポンスにはエラーの原因を示す `code` と `message` が含まれます。
{
"request_id": "6F33AFB6-A35C-4DA7-AFD2-9EA16CCF****",
"latency": 2.0,
"code": "InvalidParameter",
"http_code": 400,
"message": "JSON parse error: Cannot deserialize value of type `ImageStorage` from String \"xxx\"
}HTTP ステータスコード | エラーコード | 説明 |
200 | - | リクエストは成功です。これにはタスクが失敗するシナリオも含まれます。実際のタスクステータスは `result.status` パラメーターによって示されます。 |
404 | BadRequest.TaskNotExist | タスクが存在しません。 |
400 | InvalidParameter | 無効なリクエストです。 |
500 | InternalServerError | 内部エラーです。 |
ステータスコードの詳細については、「ステータスコードの説明」をご参照ください。