对视频内容进行语义分析,自动生成视频标题、摘要和标签,并对每个视频片段输出增强字幕和元信息,适用于视频内容理解、自动标注和多模态 RAG 场景。
服务名称 | 服务ID | 服务描述 | API调用QPS限制(含主账号与RAM子账号) |
视频总结 | ops-video-summarize-001 | 对视频进行语义分析,生成标题、摘要、标签,并对视频片段输出增强字幕和元信息。 | 5 说明 如需扩充QPS,请通过工单联系技术支持协助。 |
前提条件
获取身份鉴权信息
通过API调用AI搜索开放平台服务时,需要对调用者身份进行鉴权,如何获取鉴权信息请参见获取API-KEY。
获取服务调用地址
支持通过公网和VPC两种方式调用服务,详情请参见获取服务接入地址。
请求说明
公共说明
视频总结仅支持异步调用方式,需要先创建异步任务,再通过任务ID查询处理结果。
请求body最大不能超过8MB。
创建异步任务
请求方式
POST
URL
{host}/v3/openapi/workspaces/{workspace_name}/video-summarization/{service_id}/async参数说明:
host:调用服务的地址,支持通过公网和VPC两种方式调用API服务,可参见获取服务接入地址。
workspace_name:工作空间名称,例如default。
service_id:系统内置服务ID,当前仅支持ops-video-summarize-001。
获取异步任务状态
请求方式
GET
URL
{host}/v3/openapi/workspaces/{workspace_name}/video-summarization/{service_id}/async/task-status?task_id={task_id}参数说明:
host:调用服务的地址。
workspace_name:工作空间名称,例如default。
service_id:系统内置服务ID,当前仅支持ops-video-summarize-001。
task_id:创建异步任务时返回的任务ID。
请求参数
Header参数
API-KEY认证
参数 | 类型 | 必填 | 描述 | 示例值 |
Content-Type | String | 是 | 请求类型:application/json | application/json |
Authorization | String | 是 | API-Key | Bearer OS-d1**2a |
Body参数(创建异步任务)
参数 | 类型 | 必填 | 描述 | 示例值 |
input | InputObject | 是 | 待处理的视频文件信息。 | |
parameters | ParametersObject | 否 | 服务参数,控制总结行为。 | |
output | OutputObject | 是 | 处理结果的输出配置。 |
InputObject
参数 | 类型 | 必填 | 描述 | 示例值 |
oss | String | 否 | 输入文件的oss路径。与url二选一。 | oss://bucket-name/example/test.mp4 |
url | String | 否 | 输入文件的HTTP地址。与oss二选一。 | http://path/to/video.mp4 |
file_name | String | 否 | 视频文件名称。未设置时从文件路径中自动解析。 | test.mp4 |
chunks | List<VideoChunk> | 否 | 需要总结的视频片段列表。未指定时对整个视频进行总结。 |
VideoChunk
参数 | 类型 | 必填 | 描述 | 示例值 |
start_time | Float | 是 | 片段起始时间,单位为秒。 | 0 |
end_time | Float | 是 | 片段结束时间,单位为秒。 | 10 |
snapshots | List<Snapshot> | 否 | 片段的关键帧列表。 | |
transcript | String | 否 | 片段的字幕信息。 |
Snapshot
参数 | 类型 | 必填 | 描述 | 示例值 |
frame_index | Int | 否 | 关键帧在当前片段中的序号,从0开始。 | 0 |
path | String | 否 | 关键帧图片的oss存储路径。 | oss://bucket-name/frame0.jpg |
frame_time | Float | 是 | 关键帧在视频中的绝对时间,单位为秒。 | 5.0 |
ParametersObject
参数 | 类型 | 必填 | 描述 | 示例值 |
rewrite_transcript | Boolean | 否 | 是否对ASR结果进行重写(去噪、补全)。默认false。 | true |
generate_tags | Boolean | 否 | 是否提取视频标签。默认false。 | true |
extract_snapshot | Boolean | 否 | 是否提取关键帧。默认false。 | true |
OutputObject
参数 | 类型 | 必填 | 描述 | 示例值 |
type | String | 否 | 输出类型。默认值为oss,表示将结果文件存放到oss。 | oss |
oss | String | 是 | 输出文件的oss路径,type为oss时必填。 | oss://bucket-name/dump/result/path |
Query参数(获取异步任务状态)
参数 | 类型 | 必填 | 描述 | 示例值 |
task_id | String | 是 | 创建异步任务返回的任务ID。 | summarization-xxxx-abc-123 |
返回参数
创建异步任务
参数 | 类型 | 描述 | 示例值 |
request_id | String | 系统对一次API调用赋予的唯一标识。 | A5B25952-4406-45BF-99EC-E8020246**** |
latency | Float/Int | 请求耗时,单位ms。 | 10 |
result.task_id | String | 异步任务的唯一标识ID。 | summarization-xxxx-abc-123 |
获取异步任务状态
参数 | 类型 | 描述 | 示例值 |
request_id | String | 系统对一次API调用赋予的唯一标识。 | A5B25952-4406-45BF-99EC-E8020246**** |
latency | Float/Int | 请求耗时,单位ms。 | 10 |
usage.image_token | Int | 消耗的图片token数。 | 100 |
usage.audio_token | Int | 消耗的音频token数。 | 200 |
usage.input_token | Int | 输入给大模型的token数。 | 300 |
usage.output_token | Int | 大模型生成的token数。 | 300 |
result.task_id | String | 异步任务的唯一标识ID。 | summarization-xxxx-abc-123 |
result.status | String | 任务状态。取值:PENDING(待处理)、SUCCESS(成功)、FAIL(失败)。 | SUCCESS |
result.error | String | 任务失败时的错误信息,成功时为空。 | |
result.data | VideoSummarizeData | 视频总结结果。 |
VideoSummarizeData
参数 | 类型 | 描述 |
video_metadata | VideoMetaData | 视频整体的元信息。 |
chunks | List<VideoSummary> | 每个视频片段的总结结果。 |
VideoMetaData
参数 | 类型 | 描述 |
title | String | 视频或片段的标题。 |
summary | String | 视频或片段的摘要。 |
tags | List<String> | 提取的视频标签列表。需在请求中设置 |
VideoSummary
参数 | 类型 | 描述 |
index | Int | 对应请求中视频片段的序号,从0开始。 |
enhanced_transcript | String | 增强后的ASR字幕文本。需在请求中设置 |
metadata | VideoMetaData | 该视频片段的元信息。 |
Curl请求示例
创建异步任务
curl --location 'http://****-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/video-summarization/ops-video-summarize-001/async' \
--header 'Authorization: Bearer 您的API-KEY' \
--header 'Content-Type: application/json' \
--data '{
"input": {
"oss": "oss://my-bucket-name/example/test.mp4"
},
"parameters": {
"rewrite_transcript": true,
"generate_tags": true,
"extract_snapshot": true
},
"output": {
"type": "oss",
"oss": "oss://my-bucket-name/dump/result/path"
}
}'获取异步任务状态
curl --location 'http://****-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/video-summarization/ops-video-summarize-001/async/task-status?task_id=summarization-xxxx-abc-123' \
--header 'Authorization: Bearer 您的API-KEY'响应示例
创建异步任务
{
"request_id": "f4a95b66efd25e6c94d0a1861cd3cf88",
"latency": 39,
"usage": {},
"result": {
"task_id": "video_summarize-2026031310xxxx-xxxxxxxxxxxxxxxx-e19ee37c",
"status": "PENDING"
}
}获取异步任务状态(任务完成)
{
"request_id": "1",
"latency": 0,
"usage": {
"audio_token": 200,
"image_token": 100,
"input_token": 300,
"output_token": 300
},
"result": {
"task_id": "test-summary-001",
"status": "SUCCESS",
"data": {
"video_metadata": {
"title": "视频标题",
"summary": "这是一段关于产品介绍的视频摘要",
"tags": [
"产品介绍",
"技术"
]
},
"chunks": [
{
"index": 0,
"enhanced_transcript": "这是增强后的字幕文本",
"metadata": {
"title": "第一个片段的标题",
"summary": "第一个片段的摘要内容",
"tags": [
"片段标签1",
"片段标签2"
]
}
}
]
}
}
}状态码说明
请参见AI搜索开放平台状态码说明。