视频智能分镜
基于多模态大模型的视频语义理解能力,从场景、镜头类型、叙事结构或主体视角对视频进行智能分镜,并输出结构化分类结果。默认仅返回结构化数据;如需同时导出切片文件,可将 only_struct 设为 false。
处理示例
模式
narrative
镜头数
51
总时长
06:28.77
分类数
15
示例视频
当前时间: 00:00.00
播放、拖拽或点击下方时间轴,左右两侧都会保持同步。
点击定位00:00.00 / 06:28.77
当前镜头
这里会完整展示当前高亮 shot 的所有字段。
JSON 路径
output_result.categories[0].shots[0]
ID
#1
时长
00:04.80
分类
开场噩梦片段
镜头类型
全景
当前时间
00:01.70 - 00:06.50
缩略图时间
00:04.00
分类描述
昏暗冷调画面呈现男子被追赶的噩梦内容,营造悬疑压抑氛围
镜头描述
昏暗的室内走廊中,穿白T恤的戴眼镜男子正快步向前奔跑
主体
戴眼镜男子昏暗走廊
标签
梦境冷色调悬疑奔跑
置信度
96%
JSON 导航
分组展示,当前镜头会自动高亮。
{
"mode": "narrative",
"total_shots": 51,
"total_duration": 388.77,
"categories": [
{
"category": "开场噩梦片段",
"category_desc": "昏暗冷调画面呈现男子被追赶的噩梦内容,营造悬疑压抑氛围",
"shots": [
]
},
{
"category": "影片标题页",
"category_desc": "展示影片名称的文字标题卡,属于片头内容",
"shots": [
]
},
{
"category": "现实心理咨询开场",
"category_desc": "现实明亮场景中,戴眼镜男子醒来,与同伴对话提及自己的噩梦困扰",
"shots": [
]
},
{
"category": "催眠引导段落",
"category_desc": "短发男子引导戴眼镜男子进行催眠,帮助他回溯梦境内容",
"shots": [
]
},
{
"category": "首次催眠梦境片段",
"category_desc": "催眠过程中男子闪回的梦境片段,包含奔跑、光斑等意象",
"shots": [
]
},
{
"category": "催眠后对话段落",
"category_desc": "男子从催眠中苏醒,和同伴交流梦境相关的信息",
"shots": [
]
},
{
"category": "二次催眠梦境段落",
"category_desc": "二次催眠后男子进入更深的梦境,遇到同伴和陌生少女,获得素描画",
"shots": [
]
},
{
"category": "往事回忆段落",
"category_desc": "男子回忆过去在中山楼楼梯画画,与少女相遇的过往经历",
"shots": [
]
},
{
"category": "开篇约定",
"category_desc": "讲述两名穿校服的学生约定暑假一同去学画的开篇情节",
"shots": [
]
},
{
"category": "冲突离别",
"category_desc": "时间跳转后男生告知女生无法一同学画,两人分别的情节",
"shots": [
]
},
{
"category": "回忆闪回",
"category_desc": "男生以蒙太奇形式回忆过往经历,表达内心愧疚与遗憾的情节",
"shots": [
]
},
{
"category": "迷茫求助",
"category_desc": "男生向他人求助未果,陷入迷茫沉思的情节",
"shots": [
]
},
{
"category": "行走感悟",
"category_desc": "男生在校园中行走,逐渐感悟青春选择的意义的情节",
"shots": [
]
},
{
"category": "和解结局",
"category_desc": "男生不再逃避,回到楼梯找女生和解的收尾情节",
"shots": [
]
},
{
"category": "片尾标识",
"category_desc": "视频末尾的演职员表与出品方标识展示",
"shots": [
]
}
]
}
创建任务
基本信息
| 项目 | 值 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /task/video_ai_segment |
| Content-Type | application/json |
| 鉴权方式 | Authorization 请求头中直接传 API Key |
请求参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
file_id | string | 是 | - | 已上传视频文件的 ID |
mode | string | 否 | "scene" | 分镜模式,支持 scene、shot_type、narrative、subject |
min_duration | number | 否 | 1.5 | 单个镜头最短时长,单位秒 |
max_duration | number | 否 | 300 | 单个镜头最长时长,单位秒,且必须大于等于 min_duration |
start_time | number | 否 | - | 分析起始时间,单位秒 |
end_time | number | 否 | - | 分析结束时间,单位秒,且必须大于 start_time |
only_struct | boolean | 否 | true | 是否仅返回结构化结果而不导出切片文件 |
need_audio | boolean | 否 | true | 导出切片文件时是否保留音频,仅在 only_struct=false 时生效 |
模式说明
mode | 说明 |
|---|---|
scene | 按场景语义聚类 |
shot_type | 按景别和镜头类型归类 |
narrative | 按叙事阶段或内容段落组织 |
subject | 按主体对象和画面核心元素归类 |
请求示例
curl -X POST https://api.ai-mcn.tv:10000/task/video_ai_segment \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"file_id": "537489015178246",
"mode": "scene",
"min_duration": 1.5,
"max_duration": 120,
"only_struct": true
}'
成功响应示例
{
"code": 200,
"msg": "success",
"data": {
"task_id": "537489015178247",
"task_type": "video_ai_segment",
"status": "queued"
}
}
查询任务结果
基本信息
| 项目 | 值 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /task/video_ai_segment/{task_id} |
| 鉴权方式 | Authorization 请求头中直接传 API Key |
响应参数
| 参数名 | 类型 | 说明 |
|---|---|---|
mode | string | 当前分镜模式 |
total_shots | integer | 最终镜头数量 |
total_duration | number | 镜头覆盖的总时长,单位秒 |
categories | array<object> | 结构化分类结果,每个分类对象包含 category、category_desc 和 shots |
files | array<object> | 切片文件列表,仅在 only_struct=false 时返回;每项包含 id、file_id 和 download_url,其中 id 对应 shots[].id |
shots 字段说明
| 参数名 | 类型 | 说明 |
|---|---|---|
id | integer | 镜头编号 |
subjects | array<string> | 镜头主体对象列表 |
tags | array<string> | 镜头标签列表 |
shot_type | string | 景别或镜头类型,如 特写、中景 |
desc | string | 对镜头内容的客观描述 |
start_time | number | 镜头开始时间,单位秒 |
end_time | number | 镜头结束时间,单位秒 |
confidence | number | 模型对该镜头切分结果的置信度 |
thumbnail_time | number | 建议截取缩略图的时间点,单位秒 |
category | string | 该镜头所属分类名称 |
category_desc | string | 该镜头所属分类的说明 |
files 字段说明
| 参数名 | 类型 | 说明 |
|---|---|---|
id | integer | 对应结构化结果中的 shots[].id |
file_id | string | 切片文件 ID |
download_url | string | 切片文件下载地址 |
[
{
"id": 1,
"file_id": "56817731376500742",
"download_url": "https://api.ai-mcn.tv:9000/cloud/file/a6/56817731376500742.mp4"
}
]
成功响应示例
{
"code": 200,
"msg": "success",
"data": {
"task_id": "537489015178247",
"status": "completed",
"progress": 100,
"output_result": {
"mode": "scene",
"total_shots": 2,
"total_duration": 18.6,
"categories": [
{
"category": "人物讲述",
"category_desc": "人物正面对镜表达观点",
"shots": [
{
"id": 1,
"subjects": ["讲述者", "室内背景"],
"tags": ["口播", "正面镜头"],
"shot_type": "中景",
"desc": "人物在室内讲述内容",
"start_time": 0.0,
"end_time": 8.2,
"confidence": 0.96,
"thumbnail_time": 4.1,
"category": "人物讲述",
"category_desc": "人物正面对镜表达观点"
}
]
}
],
"files": [
{
"id": 1,
"file_id": "56817731376500742",
"download_url": "https://api.ai-mcn.tv:9000/cloud/file/a6/56817731376500742.mp4"
}
]
},
"create_time": "2026-04-09T08:00:00Z",
"update_time": "2026-04-09T08:02:10Z"
}
}
错误码
| 错误码 | HTTP 状态码 | 说明 | 解决方案 |
|---|---|---|---|
6013 | 400 | 缺少 file_id | 补充必填参数 |
6014 | 400 | 文件类型不匹配 | 传入视频文件 ID |
6016 | 400 | mode、时长或时间区间参数非法 | 按参数约束重新传值 |
6004 | 404 | 文件不存在 | 检查 file_id 是否正确 |
6502 | 401 | 鉴权失败 | 检查 Authorization 请求头 |
使用限制
- 当前接口仅支持单个视频文件
- 长视频会被自动切成多个重叠片段进行分析,再在服务端合并结果
- 默认只返回结构化结果;如需导出切片文件,请设置
only_struct=false