视频智能剪辑算子,基于多模态大模型实现视频智能剪辑能力,帮助用户从长视频中快速提取有价值的内容片段。支持自然语言描述的剪辑需求理解、参考图像辅助识别(角色、物品、场景等)、多维度视频内容分析(视觉、字幕、剧情),并输出标准化的剪辑决策信息(时间戳、描述、标签等)。
调用视频智能剪辑算子提交剪辑任务,支持对公网、火山内网或 TOS 视频源文件进行智能剪辑,得到剪辑后的视频片段列表。
参数 | 类型 | 是否必填 | 示例值 | 描述 |
|---|---|---|---|---|
operator_id | string | 是 | las_video_edit | 算子 ID |
operator_version | string | 是 | v1 | 算子版本 |
data | VideoEditUserReqParams | 是 | 视频剪辑请求参数 | |
video_url | string | 是 | https://example.com/video.mp4 | 视频文件的可下载地址。支持 http/https、火山 TOS(tos://bucket/key)。 |
task_name | string | 否 | MOVIE_HIGHLIGHT_EXTRACTION | 内置的常用场景名称,和 task_description 二选一,优先级低于 task_description。 task_name 可选值包括:
|
task_description | string | 否 | 提取Nick角色的所有片段,包含台词 | 清晰的剪辑需求的自然语言描述。 |
reference_images | array | 否 | 参考图像列表(支持 URL 或 TOS 地址),用于辅助识别角色、物品等。 | |
target | string | 是 | nick | 参考对象名称 |
images | list of string | 是 | ["tos://path/to/image.jpg"] | 参考对象图像地址,支持 http/https/tos:// 协议 |
output_tos_path | string | 是 | 视频片段保存 tos 地址,必须指定。视频片段以 clip_001.mp4, clip_002.mp4,... 形式存入该地址。 | |
mode | string | 否 | simple | 支持设置处理模式,默认为 simple 模式,完整的模式包括:
|
enable_asr | bool | 否 | true | 是否引入 ASR 进行语义理解增强。适用于对话内容丰富、无字幕的视频,对视频片段边界流畅性要求较高的场景,建议视频时长 1 小时以内。
|
min_clip_duration | integer | 否 | 5 | 小于该时长的视频片段会被过滤,默认为 1 秒。单位:秒。 有效范围:1-1800 秒。设置过大可能导致结果为空。 |
max_clip_duration | integer | 否 | 60 | 大于该时长的视频片段会被过滤,默认为 0,表示不限制最大时长。单位:秒。 有效范围:1-1800 秒,0 表示不限制。设置过短可能导致内容碎片化。 |
max_clip_count | integer | 否 | 10 | 最多返回的高光片段数量,默认为 0,表示不限制。模型会尽量按照该要求返回视频片段个数。 有效范围:1-50,0 表示不限制。设置过大可能导致返回大量低质量片段。 |
extra_config | object | 否 | 见下方示例 | 剪辑额外配置,目前支持短剧三要素渲染和精彩前置功能。仅在 mode=detail 且 enable_asr=true 时生效。 |
miniseries_elements | object | 否 | 短剧三要素配置,适合短剧竖屏场景。渲染效果包括标题、提示语和角标。 | |
title | string | 是 | 《将心事藏进月光》 | 短剧名称,显示在视频顶部居中位置 |
hint | string | 否 | 影视效果 请勿模仿 | 提示语,根据模板显示在左侧或右侧竖排 |
template_name | string | 是 | 模板1 | 模板名称,可选值:
|
preset_intro | object | 否 | 精彩前置配置,会从符合 task_description 要求的片段中,找到 10-15 秒具有吸引力的片段放到开头,快速吸引用户。 | |
transition | string | 否 | fade | 前贴与正片之间的过渡类型,可选值:
|
transition_duration | float | 否 | 0.5 | 过渡时长(秒),建议 0.5 |
output_format | string | 否 | mp4 | 默认保持原视频格式返回,支持用户指定视频格式,支持的视频格式包括:mp4。 |
参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
metadata | metadata | 请求元信息 | |
task_id | string | task-xxx | 异步模式下的任务 ID,用于作业状态查询。 |
task_status | string | PENDING | 异步模式下的任务状态。
|
business_code | string | 0 | 业务码。 |
error_msg | string | 如有异常,会返回详细的异常信息。 |
curl --location "https://operator.las.cn-beijing.volces.com/api/v1/submit" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $LAS_API_KEY" \ --data '{ "operator_id": "las_video_edit", "operator_version": "v1", "data": { "video_url": "https://las-ai-cn-beijing-baseline.tos-cn-beijing.volces.com/operator_cards_serving/public/baseline/shared_video_dataset/A_Quiet_Place_movie_clip.mp4.mp4", "task_description": "提取戴帽子的小男孩的所有片段,包含台词", "output_tos_path": "tos://las-ai-cn-beijing-baseline/operator_cards_serving/public/baseline/las_video_edit/v1", "segment_duration": 60, "mode": "normal" } }'
{ "metadata": { "task_id": "task-20251125163544-abc123", "task_status": "PENDING", "business_code": "0", "error_msg": "" } }
查询视频剪辑任务的执行状态和结果。
参数 | 类型 | 必填 | 示例值 | 说明 |
|---|---|---|---|---|
operator_id | string | 是 | las_video_edit | 算子 ID |
operator_version | string | 是 | v1 | 算子版本 |
task_id | string | 是 | task-xxx | 任务 ID |
参数 | 类型 | 示例值 | 描述 |
|---|---|---|---|
metadata | metadata | 请求元信息 | |
task_id | string | task-xxx | 异步模式下的任务 ID。 |
task_status | string | COMPLETED | 异步模式下的任务状态。
|
business_code | string | 0 | 业务码。 |
error_msg | string | 如有异常,会返回详细的异常信息。 | |
data | VideoEditResponse | 返回的数据 | |
total_segments | integer | 8 | 符合需求的片段总数。 |
clips | list of VideoClipInfo | 剪辑后的视频片段列表。 | |
clip_id | string | clip_001 | 片段唯一标识。 |
start_time | string | 00:02:05.000 | 片段起始时间(HH:MM:SS.mmm 格式)。 |
end_time | string | 00:02:14.500 | 片段结束时间(HH:MM:SS.mmm 格式)。 |
duration | float | 35.7 | 片段时长(秒)。 |
description | string | Nick与朱迪在警局的对话 | 片段描述信息。 |
dialogue | string | 你需要帮助吗?<br>不需要,谢谢。 | 片段对话内容,片段内的 asr 识别结果,如果开启了 enable_asr 并且片段内有说话内容的话才会有值。 |
clip_url | string | tos://bucket/path/clip_001.mp4 | 剪辑后的视频片段 URL(上传至 TOS)。 |
file_size | integer | 1993083 | 片段文件大小(字节)。 |
confidence | float | 1.0 | 置信度分数(0.0-1.0),表示模型对该片段符合要求的置信程度。 |
meta | object | {"scene_type": "indoor"} | 自定义元数据,用于存储用户通过 task_description 要求提取的额外信息。 |
preset_start_time | string | 00:02:09.000 | 前贴片段开始时间(HH:MM:SS.mmm 格式)。仅在有实际前贴时有值。 |
preset_end_time | string | 00:02:39.500 | 前贴片段结束时间(HH:MM:SS.mmm 格式)。仅在有实际前贴时有值。 |
preset_duration | float | 30 | 前贴片段时长(秒)。仅在有实际前贴时有值。 |
preset_description | string | - | 前贴片段内容描述。仅在有实际前贴时有值。 |
video_duration | float | 300.09 | 原视频时长(秒)。 |
resolution | string | 1920x800 | 原视频分辨率(如 "1920x1080")。 |
curl --location "https://operator.las.cn-beijing.volces.com//api/v1/poll" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $LAS_API_KEY" \ --data '{ "operator_id": "las_video_edit", "operator_version": "v1", "task_id": "task-20251125163544-abc123" }'
{ "metadata": { "task_id": "task-20251125163544-abc123", "task_status": "COMPLETED", "business_code": "0", "error_msg": "" }, "data": { "total_segments": 8, "clips": [ { "clip_id": "clip_001", "start_time": "00:02:05.000", "end_time": "00:02:14.000", "duration": 9, "description": "柜台后出现戴帽子的小男孩,画面下方显示台词 。 戴帽子的小男孩坐在货架旁的地面上", "dialogue": "Tak apa", "clip_url": "tos://las-ai-cn-beijing-baseline/operator_cards_serving/public/baseline/las_video_edit/v1/clip_001.mp4", "file_size": 1993083, "confidence": 1, "meta": null }, { "clip_id": "clip_002", "start_time": "00:02:27.000", "end_time": "00:02:30.000", "duration": 3, "description": "戴帽子的小男孩坐在货架旁的地面上,面向画面左侧", "dialogue": null, "clip_url": "tos://las-ai-cn-beijing-baseline/operator_cards_serving/public/baseline/las_video_edit/v1/clip_002.mp4", "file_size": 419782, "confidence": 1, "meta": null }, { "clip_id": "clip_003", "start_time": "00:02:52.000", "end_time": "00:03:17.000", "duration": 25, "description": "女人走向坐在地面上戴帽子的小男孩,与他互动,喂他东西并触碰他的帽子 。 戴花纹针织帽的小男孩靠墙坐着,一位女性递给他一个水壶,他接过水壶喝水,之后开口说话", "dialogue": null, "clip_url": "tos://las-ai-cn-beijing-baseline/operator_cards_serving/public/baseline/las_video_edit/v1/clip_003.mp4", "file_size": 4616337, "confidence": 1, "meta": null }, { "clip_id": "clip_004", "start_time": "00:03:26.000", "end_time": "00:03:51.000", "duration": 25, "description": "戴深色帽子的小男孩在超市的地面上,和另一个女孩一起蹲在地上互动玩耍,做出类似发射火箭的手势", "dialogue": "Roket", "clip_url": "tos://las-ai-cn-beijing-baseline/operator_cards_serving/public/baseline/las_video_edit/v1/clip_004.mp4", "file_size": 5612855, "confidence": 1, "meta": null }, { "clip_id": "clip_005", "start_time": "00:03:56.000", "end_time": "00:04:02.000", "duration": 6, "description": "戴带红白条针织帽的小男孩说话,表达要离开这个星球的想法 。 戴帽子的小男孩站在货架前,说出台词,同时举起一根手指", "dialogue": "Itulah caranya..... Kita pergi dari Planet ini", "clip_url": "tos://las-ai-cn-beijing-baseline/operator_cards_serving/public/baseline/las_video_edit/v1/clip_005.mp4", "file_size": 1037987, "confidence": 1, "meta": null }, { "clip_id": "clip_006", "start_time": "00:04:09.000", "end_time": "00:04:11.000", "duration": 2, "description": "戴帽子的小男孩露出笑容,随后跑动起来离开画面", "dialogue": null, "clip_url": "tos://las-ai-cn-beijing-baseline/operator_cards_serving/public/baseline/las_video_edit/v1/clip_006.mp4", "file_size": 456489, "confidence": 1, "meta": null }, { "clip_id": "clip_007", "start_time": "00:04:31.000", "end_time": "00:04:41.000", "duration": 10, "description": "戴帽子的小男孩踩着箱子爬到货架旁,伸手去拿货架上的物品", "dialogue": null, "clip_url": "tos://las-ai-cn-beijing-baseline/operator_cards_serving/public/baseline/las_video_edit/v1/clip_007.mp4", "file_size": 2120459, "confidence": 1, "meta": null }, { "clip_id": "clip_008", "start_time": "00:04:46.000", "end_time": "00:04:58.000", "duration": 12, "description": "戴帽子的小男孩站在女孩身旁,女孩看向他,之后小男孩伸手去拿货架上的物品", "dialogue": null, "clip_url": "tos://las-ai-cn-beijing-baseline/operator_cards_serving/public/baseline/las_video_edit/v1/clip_008.mp4", "file_size": 2910307, "confidence": 0.95, "meta": null } ], "video_duration": 300.091458, "resolution": "1920x800" } }