AI Video Segment
Use a multimodal large model to understand video semantics and split shots from scene, shot-type, narrative, or subject perspectives. The API returns structured results by default. Set only_struct to false if you also want exported clip files.
Interactive Example
Example Video Current Time: 00:00.00
Playback, scrubbing, or clicking the timeline below will all keep the two sides in sync.
Click to seek 00:00.00 / 06:28.77
Current Shot All fields for the active shot are shown here.
JSON Path
output_result.categories[0].shots[0]
Current Time
00:01.70 - 00:06.50
Category Description
昏暗冷调画面呈现男子被追赶的噩梦内容,营造悬疑压抑氛围
Description
昏暗的室内走廊中,穿白T恤的戴眼镜男子正快步向前奔跑
JSON Navigator Grouped by output_result.categories with automatic highlight for the current shot.
{
"mode": "narrative",
"total_shots": 51,
"total_duration": 388.77,
"categories": [
{
"category": "开场噩梦片段",
"category_desc": "昏暗冷调画面呈现男子被追赶的噩梦内容,营造悬疑压抑氛围",
"shots": [
Click to seek #1 00:01.70 - 00:06.50 Active
{
"id": 1,
"subjects": [
"戴眼镜男子",
"昏暗走廊"
],
"tags": [
"梦境",
"冷色调",
"悬疑",
"奔跑"
],
"shot_type": "全景",
"desc": "昏暗的室内走廊中,穿白T恤的戴眼镜男子正快步向前奔跑",
"start_time": 1.7,
"end_time": 6.5,
"confidence": 0.96,
"thumbnail_time": 4,
"category": "开场噩梦片段",
"category_desc": "昏暗冷调画面呈现男子被追赶的噩梦内容,营造悬疑压抑氛围"
}
Click to seek #2 00:06.90 - 00:08.50
{
"id": 2,
"shot_type": "近景",
"start_time": 6.9,
"end_time": 8.5,
"desc": "...",
}
Click to seek #3 00:08.90 - 00:11.60
{
"id": 3,
"shot_type": "中景",
"start_time": 8.9,
"end_time": 11.6,
"desc": "...",
}
Click to seek #4 00:12.00 - 00:15.00
{
"id": 4,
"shot_type": "特写",
"start_time": 12,
"end_time": 15,
"desc": "...",
}
Click to seek #5 00:15.40 - 00:24.60
{
"id": 5,
"shot_type": "中景",
"start_time": 15.4,
"end_time": 24.6,
"desc": "...",
}
{
"category": "影片标题页",
"category_desc": "展示影片名称的文字标题卡,属于片头内容",
"shots": [
Click to seek #6 00:26.00 - 00:31.00
{
"id": 6,
"shot_type": "全景",
"start_time": 26,
"end_time": 31,
"desc": "...",
}
{
"category": "现实心理咨询开场",
"category_desc": "现实明亮场景中,戴眼镜男子醒来,与同伴对话提及自己的噩梦困扰",
"shots": [
Click to seek #7 00:32.00 - 00:42.10
{
"id": 7,
"shot_type": "近景",
"start_time": 32,
"end_time": 42.1,
"desc": "...",
}
Click to seek #8 00:42.50 - 00:44.50
{
"id": 8,
"shot_type": "中景",
"start_time": 42.5,
"end_time": 44.5,
"desc": "...",
}
Click to seek #9 00:44.90 - 00:46.00
{
"id": 9,
"shot_type": "中景",
"start_time": 44.9,
"end_time": 46,
"desc": "...",
}
Click to seek #10 00:47.00 - 00:51.10
{
"id": 10,
"shot_type": "特写",
"start_time": 47,
"end_time": 51.1,
"desc": "...",
}
{
"category": "催眠引导段落",
"category_desc": "短发男子引导戴眼镜男子进行催眠,帮助他回溯梦境内容",
"shots": [
Click to seek #11 00:51.50 - 01:10.50
{
"id": 11,
"shot_type": "中景",
"start_time": 51.5,
"end_time": 70.5,
"desc": "...",
}
Click to seek #12 01:10.90 - 01:16.00
{
"id": 12,
"shot_type": "全景",
"start_time": 70.9,
"end_time": 76,
"desc": "...",
}
Click to seek #13 01:16.40 - 01:33.30
{
"id": 13,
"shot_type": "近景",
"start_time": 76.4,
"end_time": 93.3,
"desc": "...",
}
{
"category": "首次催眠梦境片段",
"category_desc": "催眠过程中男子闪回的梦境片段,包含奔跑、光斑等意象",
"shots": [
Click to seek #14 01:33.70 - 01:38.00
{
"id": 14,
"shot_type": "全景",
"start_time": 93.7,
"end_time": 98,
"desc": "...",
}
Click to seek #15 01:38.40 - 01:45.50
{
"id": 15,
"shot_type": "全景",
"start_time": 98.4,
"end_time": 105.5,
"desc": "...",
}
Click to seek #16 01:45.90 - 01:47.60
{
"id": 16,
"shot_type": "近景",
"start_time": 105.9,
"end_time": 107.6,
"desc": "...",
}
Click to seek #17 01:48.00 - 01:50.00
{
"id": 17,
"shot_type": "特写",
"start_time": 108,
"end_time": 110,
"desc": "...",
}
{
"category": "催眠后对话段落",
"category_desc": "男子从催眠中苏醒,和同伴交流梦境相关的信息",
"shots": [
Click to seek #18 01:50.40 - 02:12.50
{
"id": 18,
"shot_type": "中景",
"start_time": 110.4,
"end_time": 132.5,
"desc": "...",
}
Click to seek #19 02:13.40 - 02:21.30
{
"id": 19,
"shot_type": "全景",
"start_time": 133.4,
"end_time": 141.3,
"desc": "...",
}
{
"category": "二次催眠梦境段落",
"category_desc": "二次催眠后男子进入更深的梦境,遇到同伴和陌生少女,获得素描画",
"shots": [
Click to seek #20 02:21.70 - 02:25.00
{
"id": 20,
"shot_type": "中景",
"start_time": 141.7,
"end_time": 145,
"desc": "...",
}
Click to seek #21 02:25.40 - 02:28.50
{
"id": 21,
"shot_type": "近景",
"start_time": 145.4,
"end_time": 148.5,
"desc": "...",
}
Click to seek #22 02:28.90 - 02:31.90
{
"id": 22,
"shot_type": "中景",
"start_time": 148.9,
"end_time": 151.9,
"desc": "...",
}
Click to seek #23 02:32.30 - 02:43.60
{
"id": 23,
"shot_type": "全景",
"start_time": 152.3,
"end_time": 163.6,
"desc": "...",
}
Click to seek #24 02:44.00 - 02:48.00
{
"id": 24,
"shot_type": "全景",
"start_time": 164,
"end_time": 168,
"desc": "...",
}
Click to seek #25 02:48.40 - 02:59.00
{
"id": 25,
"shot_type": "全景",
"start_time": 168.4,
"end_time": 179,
"desc": "...",
}
Click to seek #26 02:59.90 - 03:07.10
{
"id": 26,
"shot_type": "全景",
"start_time": 179.9,
"end_time": 187.1,
"desc": "...",
}
{
"category": "往事回忆段落",
"category_desc": "男子回忆过去在中山楼楼梯画画,与少女相遇的过往经历",
"shots": [
Click to seek #27 03:07.50 - 03:18.00
{
"id": 27,
"shot_type": "中景",
"start_time": 187.5,
"end_time": 198,
"desc": "...",
}
Click to seek #28 03:18.90 - 03:22.30
{
"id": 28,
"shot_type": "全景",
"start_time": 198.9,
"end_time": 202.3,
"desc": "...",
}
Click to seek #29 03:22.70 - 03:29.10
{
"id": 29,
"shot_type": "全景",
"start_time": 202.7,
"end_time": 209.1,
"desc": "...",
}
Click to seek #30 03:29.50 - 03:33.50
{
"id": 30,
"shot_type": "特写",
"start_time": 209.5,
"end_time": 213.5,
"desc": "...",
}
Click to seek #31 03:33.90 - 03:44.00
{
"id": 31,
"shot_type": "全景",
"start_time": 213.9,
"end_time": 224,
"desc": "...",
}
Click to seek #32 03:44.90 - 03:48.10
{
"id": 32,
"shot_type": "全景",
"start_time": 224.9,
"end_time": 228.1,
"desc": "...",
}
Click to seek #33 03:48.50 - 03:53.00
{
"id": 33,
"shot_type": "特写",
"start_time": 228.5,
"end_time": 233,
"desc": "...",
}
Click to seek #34 03:53.40 - 03:55.60
{
"id": 34,
"shot_type": "全景",
"start_time": 233.4,
"end_time": 235.6,
"desc": "...",
}
{
"category": "开篇约定",
"category_desc": "讲述两名穿校服的学生约定暑假一同去学画的开篇情节",
"shots": [
Click to seek #35 03:57.70 - 04:07.30
{
"id": 35,
"shot_type": "中景",
"start_time": 237.7,
"end_time": 247.3,
"desc": "...",
}
Click to seek #36 04:07.70 - 04:10.30
{
"id": 36,
"shot_type": "特写",
"start_time": 247.7,
"end_time": 250.3,
"desc": "...",
}
Click to seek #37 04:10.70 - 04:14.30
{
"id": 37,
"shot_type": "中景",
"start_time": 250.7,
"end_time": 254.3,
"desc": "...",
}
Click to seek #38 04:14.70 - 04:18.30
{
"id": 38,
"shot_type": "特写",
"start_time": 254.7,
"end_time": 258.3,
"desc": "...",
}
{
"category": "冲突离别",
"category_desc": "时间跳转后男生告知女生无法一同学画,两人分别的情节",
"shots": [
Click to seek #39 04:18.70 - 04:28.30
{
"id": 39,
"shot_type": "全景",
"start_time": 258.7,
"end_time": 268.3,
"desc": "...",
}
Click to seek #40 04:28.70 - 04:36.80
{
"id": 40,
"shot_type": "特写",
"start_time": 268.7,
"end_time": 276.8,
"desc": "...",
}
Click to seek #41 04:37.20 - 04:45.80
{
"id": 41,
"shot_type": "全景",
"start_time": 277.2,
"end_time": 285.8,
"desc": "...",
}
{
"category": "回忆闪回",
"category_desc": "男生以蒙太奇形式回忆过往经历,表达内心愧疚与遗憾的情节",
"shots": [
Click to seek #42 04:46.20 - 04:49.30
{
"id": 42,
"shot_type": "中景",
"start_time": 286.2,
"end_time": 289.3,
"desc": "...",
}
Click to seek #43 04:49.70 - 04:52.80
{
"id": 43,
"shot_type": "中景",
"start_time": 289.7,
"end_time": 292.8,
"desc": "...",
}
Click to seek #44 04:53.20 - 05:00.80
{
"id": 44,
"shot_type": "中景",
"start_time": 293.2,
"end_time": 300.8,
"desc": "...",
}
{
"category": "迷茫求助",
"category_desc": "男生向他人求助未果,陷入迷茫沉思的情节",
"shots": [
Click to seek #45 05:01.70 - 05:12.80
{
"id": 45,
"shot_type": "中景",
"start_time": 301.7,
"end_time": 312.8,
"desc": "...",
}
Click to seek #46 05:13.20 - 05:15.80
{
"id": 46,
"shot_type": "近景",
"start_time": 313.2,
"end_time": 315.8,
"desc": "...",
}
{
"category": "行走感悟",
"category_desc": "男生在校园中行走,逐渐感悟青春选择的意义的情节",
"shots": [
Click to seek #47 05:16.70 - 05:34.80
{
"id": 47,
"shot_type": "全景",
"start_time": 316.7,
"end_time": 334.8,
"desc": "...",
}
Click to seek #48 05:35.20 - 05:55.80
{
"id": 48,
"shot_type": "全景",
"start_time": 335.2,
"end_time": 355.8,
"desc": "...",
}
{
"category": "和解结局",
"category_desc": "男生不再逃避,回到楼梯找女生和解的收尾情节",
"shots": [
Click to seek #49 05:56.70 - 06:08.30
{
"id": 49,
"shot_type": "全景",
"start_time": 356.7,
"end_time": 368.3,
"desc": "...",
}
Click to seek #50 06:08.70 - 06:12.30
{
"id": 50,
"shot_type": "特写",
"start_time": 368.7,
"end_time": 372.3,
"desc": "...",
}
{
"category": "片尾标识",
"category_desc": "视频末尾的演职员表与出品方标识展示",
"shots": [
Click to seek #51 06:14.20 - 06:28.77
{
"id": 51,
"shot_type": "特写",
"start_time": 374.2,
"end_time": 388.77,
"desc": "...",
}
]
}
Create Task
Basic Information
Item Value Request Method POSTRequest Path /task/video_ai_segmentContent-Type application/jsonAuthentication Raw API key in the Authorization header
Request Body
Parameter Type Required Default Description file_idstringYes - Uploaded video file ID modestringNo "scene"Segmentation mode. Supports scene, shot_type, narrative, and subject min_durationnumberNo 1.5Minimum shot duration in seconds max_durationnumberNo 300Maximum shot duration in seconds. Must be greater than or equal to min_duration start_timenumberNo - Optional analysis start time in seconds end_timenumberNo - Optional analysis end time in seconds. Must be greater than start_time only_structbooleanNo trueWhether to return only structured results without exporting files need_audiobooleanNo trueWhether exported clips should keep audio. Applies only when only_struct=false
Mode Reference
modeDescription sceneGroup shots by scene semantics shot_typeGroup shots by framing and shot type narrativeGroup shots by narrative stage or content block subjectGroup shots by main subject or visual focus
Request Example
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
}'
Success Example
{
"code": 200,
"msg": "success",
"data": {
"task_id": "537489015178247",
"task_type": "video_ai_segment",
"status": "queued"
}
}
Query Task Result
Basic Information
Item Value Request Method GETRequest Path /task/video_ai_segment/{task_id}Authentication Raw API key in the Authorization header
Output Result (output_result)
Parameter Type Description modestringActive segmentation mode total_shotsintegerNumber of final shots total_durationnumberTotal covered duration in seconds categoriesarray<object>Structured category result. Each category includes category, category_desc, and shots filesarray<object>Exported clip files, returned only when only_struct=false. Each item contains id, file_id, and download_url, and id maps to shots[].id
shots Fields
Parameter Type Description idintegerShot index subjectsarray<string>Main subjects detected in the shot tagsarray<string>Shot tags shot_typestringShot framing or shot type, such as Close-up or Medium Shot descstringObjective description of the shot content start_timenumberShot start time in seconds end_timenumberShot end time in seconds confidencenumberModel confidence for the shot split result thumbnail_timenumberRecommended thumbnail timestamp in seconds categorystringCategory name for this shot category_descstringDescription of the category this shot belongs to
files Fields
Parameter Type Description idintegerCorresponds to shots[].id in the structured result file_idstringClip file ID download_urlstringDownload URL for the exported clip
[
{
"id": 1,
"file_id": "56817731376500742",
"download_url": "https://api.ai-mcn.tv:9000/cloud/file/a6/56817731376500742.mp4"
}
]
Success Example
{
"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": "Talking Head",
"category_desc": "A person speaks directly to the camera",
"shots": [
{
"id": 1,
"subjects": ["Speaker", "Indoor background"],
"tags": ["Talking", "Front-facing"],
"shot_type": "Medium Shot",
"desc": "A person speaks indoors",
"start_time": 0.0,
"end_time": 8.2,
"confidence": 0.96,
"thumbnail_time": 4.1,
"category": "Talking Head",
"category_desc": "A person speaks directly to the camera"
}
]
}
],
"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"
}
}
Error Codes
Error Code HTTP Status Description Resolution 6013400 Missing file_id Add the required field 6014400 File type does not match Pass a video file ID 6016400 Invalid mode, duration, or time range parameters Adjust the request parameters 6004404 File not found Verify the file_id 6502401 Authentication failed Check the Authorization header
Usage Limits
This API currently accepts a single video file per task
Long videos are automatically split into overlapping chunks and merged on the server after analysis
Structured output is returned by default. Set only_struct=false if you also need clip files