You need to enable JavaScript to run this app.
文档中心
AI MediaKit

AI MediaKit

复制全文
下载 pdf
视频工具 API
提交场景切分任务 API
复制全文
下载 pdf
提交场景切分任务 API
POST https://mediakit.cn-beijing.volces.com/api/v1/tools/segment-scenes​
本 API 用于提交一个异步的场景切分任务,依据视频的转场和画面内容变化,自动将视频切分为多个场景片段,并输出每个片段的时间轴信息与对应的独立视频文件。​
说明​
如需了解完整的使用流程和应用示例,请参阅场景切分。​
请求参数​
Header 参数​
​
​
参数​
类型​
是否必选​
示例值​
描述​
Authorization​
String​
是​
Bearer {Your_API_Key}​
格式为 Bearer {Your_API_Key}。请参考基础概念及准备工作获取 API Key。​
​
Body 参数​
​
​
参数​
类型​
是否必选​
示例值​
描述​
video_url​
String​
是​
https://example.com/media.mp4​
待处理的视频 URL。​
  • 视频来源:支持公网 HTTP/HTTPS URL、本地上传 (mediakit://)、来源于火山引擎视频点播 (vod://) 和火山引擎对象存储 (tos://) 四种输入协议。关于各协议的具体说明和使用示例,请参阅多源媒体输入与本地上传。​
  • 支持格式:mp4, flv, ts, avi, mov, wmv, mkv 等主流视频格式。​
  • 视频时长:单个视频时长不超过 2 小时。​
return_segment_videos​
Boolean​
否​
true​
是否生成并返回切片视频文件。​
  • true:(默认)生成切片文件,并在 result.segments[].segment_video_url 返回各切片的下载链接。​
  • false:不生成切片文件,仅返回切片时间轴(start_time / end_time),不返回 segment_video_url 。适用于只需获取场景时间码、由业务侧自行处理切片的场景,可降低任务耗时。​
segment_threshold​
Number​
否​
10​
场景切分的敏感度阈值。取值范围为 [0, 100)。默认值为 10。​
  • 取值越低,算法对场景变化的感知越敏感,切分出的片段越多。​
  • 取值越高,算法越倾向于将微小的变化视为同一场景,切分出的片段越少。​
当您同时设置 min_duration, max_duration 和 segment_threshold 时,系统会按照以下两阶段逻辑进行切分,以确保所有约束都得到满足:​
  1. 算法首先会根据您设置的 segment_threshold 和 min_duration 进行切分。​
  1. 第一阶段切分完毕后,如发现有切片的时长超过您设置的 max_duration,系统会忽略 segment_threshold 的影响,再进行切分,确保最终时长都不超过 max_duration。​
min_duration​
Number​
否​
3​
单个切片的最小时长(单位:秒)。小于此时间的片段将被合并。默认值为 3。应小于或等于 max_duration。​
max_duration​
Number​
否​
30​
单个切片的最大时长(单位:秒)。大于此时间的片段将被强制切分。默认值为 30。应大于或等于 min_duration。​
enable_clip_fade​
Boolean​
否​
false​
是否将检测到的淡入/淡出片段作为独立的切片输出。默认为 false。​
  • false:(默认)不独立输出。淡入/淡出片段会被视为其前后场景的一部分,合并到相邻的切片中。​
  • true: 独立输出。如果视频中存在明显的淡入/淡出过渡,系统会将其分割成一个独立的切片。​
media_output_destination​
String​
否​
tos://<您的桶名>​
指定切片视频文件的目标存储位置。AI MediaKit 支持将处理产物存储至您的火山引擎视频点播(VOD)空间或对象存储(TOS)桶。仅当 return_segment_videos 为 true(默认)时生效。​
  • 储至 VOD:设为 vod://<您的空间名>​
  • 存储至 TOS:设为 tos://<您的桶名>​
不传本参数时,result.segments[].segment_video_url 返回有效期为 24 小时的临时下载地址。设置本参数后,切片文件将写回您的 VOD 空间或 TOS 桶,segment_video_url 将返回形如 vod://<空间名>/<媒资ID> 或 tos://<桶名>/<对象Key> 格式的资源地址,不再返回临时下载地址。​
说明​
首次使用此功能前,您需要先授权 AI MediaKit 将文件写入您的 VOD 空间或 TOS 桶。请前往 AI MediaKit 控制台基础配置 > 授权管理页面,根据您的需要,为 AI MediaKit 服务授予相应的权限。更多信息,请参阅开发指南处理产物存储至 VOD 或 TOS。​
client_token​
String​
否​
your_unique_request_id_135​
用户请求凭证,用于幂等控制。大小写敏感,不超过 64 个 ASCII 码可打印字符。详情请参考幂等性控制。​
callback_args​
String​
否​
your_custom_callback_args​
自定义回调参数。您提供的内容将在任务完成时,通过事件回调原样返回,方便您关联业务。字段长度最大为 512 字节。​
callback_url​
String​
否​
https://example.com/callback​
用于接收该任务结果回调的 URL 地址。如果提供此参数,其优先级将高于在控制台配置的全局回调地址。地址必须以 http:// 或 https:// 开头。请参考事件回调了解回调接收机制和回调消息结构。​
queue_id​
String​
否​
q00a9731598092652e4a95292434198​
任务提交的目标队列 ID。如不传,默认会使用系统自动创建的队列 ID。您可以将不同业务或优先级的任务提交到不同的队列,以实现按队列对应的项目进行分账。您可以在 AI MediaKit 控制台队列管理页面创建和管理队列,系统会自动分配一个队列 ID。详情请参考按项目或 API Key 分账。​
​
请求示例​
以下示例演示了如何对一个视频进行场景切分,并返回每个切片的独立文件。​
​
curl -X POST 'https://mediakit.cn-beijing.volces.com/api/v1/tools/segment-scenes' \​
-H 'Authorization: Bearer {Your_API_Key}' \​
-H 'Content-Type: application/json' \​
-d '{​
"video_url": "https://example.com/your_long_video.mp4",​
"segment_threshold": 10,​
"min_duration": 3,​
"enable_clip_fade": true​
}'​
​
响应说明​
调用 API 提交任务后,接口会立即返回一个同步响应,表明任务是否成功进入后台处理队列。​
响应参数​
​
​
参数​
类型​
描述​
success​
Boolean​
任务是否成功提交。​
  • true:任务已成功提交到后台处理队列。​
  • false:请求存在错误,任务提交失败。请检查 error 字段以获取详细信息。​
task_id​
String​
任务的唯一标识符。仅在 success 为 true 时返回有效值。您可以使用此 ID 查询任务进度和结果。​
request_id​
String​
本次请求的唯一标识,可用于问题排查。​
error​
Object​
错误详情对象,仅在 success 为 false 时返回。详见下文 Error 对象。​
​
Error 对象​
​
​
参数​
类型​
描述​
code​
String​
具体的错误码。关于各错误码的详细信息,请参阅错误码。​
type​
String​
错误的宏观类型。例如 BadRequest。​
message​
String​
对错误的详细描述,可用于开发调试。​
param​
String​
(可选)指出导致错误的具体参数。​
​
响应示例​
成功响应​
​
{​
"success": true,​
"task_id": "amk-tool-segment-scenes-123456789",​
"request_id": "20240521130000ABCDEFG12345"​
}​
​
失败响应​
​
{​
"success": false,​
"task_id": "",​
"request_id": "20240521130500XYZW12345",​
"error": {​
"code": "InvalidParameter",​
"message": "`min_duration` cannot be greater than `max_duration`.",​
"param": "min_duration, max_duration",​
"type": "BadRequest"​
}​
}​
​
异步任务结果​
场景切分是一个异步任务,任务的执行状态和最终结果不会在提交时同步返回。您可以通过以下两种方式获取任务结果:​
  • 方法一(轮询查询):使用提交任务时获取的 task_id,定期调用查询任务信息 API,直到 status 字段变为 completed 或 failed。​
  • 方法二(事件回调):在 AI MediaKit 控制台预先配置一个接收回调的 URL,或在提交任务时通过 callback_url 参数为单次任务指定回调地址。任务完成后,系统会将包含最终结果的详细信息 POST 到您指定的地址。详情请参阅事件回调。​
当任务成功完成后,您获取到的任务信息中的 result 字段将包含以下内容。​
​
​
参数​
类型​
描述​
segments​
Array​
切片信息列表。每个元素是一个包含切片起止时间等信息的对象。详细结构见下方的 Segment 对象。​
duration​
Number​
输入视频的总时长(单位:秒)。​
​
Segment 对象​
​
​
参数​
类型​
描述​
start_time​
Number​
切片的起始时间(单位:秒)。​
end_time​
Number​
切片的结束时间(单位:秒)。​
segment_video_url​
String​
切片视频文件的下载地址,输出视频为 MP4 格式。仅当请求参数 return_segment_videos 为 true(默认)时返回;当 return_segment_videos 为 false 时不生成切片文件,本字段不返回。地址类型根据请求时是否设置 media_output_destination 而不同:​
  • 默认情况(未设置 media_output_destination):返回一个 HTTPS 临时下载地址,有效期为 24 小时,请及时下载保存。​
  • 设置 media_output_destination 后:返回写回到您 VOD 空间或 TOS 桶的存储地址,格式为 vod://<空间名>/<媒资ID> 或 tos://<桶名>/<对象Key>。​
​
最终的完整任务信息示例:​
​
{​
"success": true,​
"task_id": "amk-tool-segment-scenes-123456789",​
"request_id": "20240521130000ABCDEFG12345",​
"result": {​
"duration": 185.5,​
"segments": [​
{​
"start_time": 0.0,​
"end_time": 15.2,​
"segment_video_url": "https://example.volcvideo.com/segment1.mp4?auth_key=..."​
},​
{​
"start_time": 15.2,​
"end_time": 45.8,​
"segment_video_url": "https://example.volcvideo.com/segment2.mp4?auth_key=..."​
},​
{​
"start_time": 45.8,​
"end_time": 185.5,​
"segment_video_url": "https://example.volcvideo.com/segment3.mp4?auth_key=..."​
}​
]​
},​
"expires_at": 1777464650,​
"created_at": 1777291767,​
"finished_at": 1777291851,​
"request_id": "202604272009269BA43D771246AFF513F0"​
}​
​
​
最近更新时间:2026.10.28 10:17:07
这个页面对您有帮助吗?
有用
有用
无用
无用