文档首页/ 媒体处理 MPC/ API参考/ 剪辑接口/ 新建剪辑任务 - CreateEditingJobs
更新时间:2026-06-17 GMT+08:00
分享

新建剪辑任务 - CreateEditingJobs

功能介绍

创建剪辑任务,对音视频进行剪切、拼接,生成一个新的文件。

应用场景包括:

1.对单个音视频进行剪切,生成一个新的文件;

2.对单个音视频进行剪切多个片段,然后拼接成一个新的文件;

3.对多个音视频进行拼接,生成一个新的文件;

待剪辑的音视频需要存储在与媒体处理服务同区域的OBS桶中,且该OBS桶已授权。

备注:不支持opengop片源的剪辑功能,如果输入opengop片源,不保证输出效果。

调用方法

请参见如何调用API

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,需具备如下身份策略权限。

    授权项

    访问级别

    资源类型(*为必须)

    条件键

    别名

    依赖的授权项

    mpc:editingTask:create

    Write

    -

    -

    -

    -

URI

POST /v2/{project_id}/editing/jobs

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。获取方法请参考获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

Authorization

String

使用AK/SK方式认证时必选,携带的鉴权信息。

X-Project_Id

String

使用AK/SK方式认证时必选,携带项目ID信息, 与路径参数中的项目ID相同。

X-Sdk-Date

String

使用AK/SK方式认证时必选,请求的发生时间。

表3 请求Body参数

参数

是否必选

参数类型

描述

inputs

Array of EditingInput objects

指定片源多个剪切时间段

output

ObsObjInfo object

输出地址。

editing_settings

EditingSetting object

媒体处理配置,根据该参数配置,对input参数指定的源文件进行处理。

metadata

Array of FileMetaData objects

metadata设置,默认只支持AIGC

user_data

String

用户自定义数据

editing_type

Integer

剪辑类型。推荐用户配置为1,如果配置为0,则性能和剪辑能力未满足商用条件。

取值如下:

  • 0:表示多个文件直接拼接或同一个文件不同时间剪辑拼接。默认值为0,不推荐使用0,因为性能和能力还不满足商用条件。

  • 1:表示支持多个文件剪辑,并按顺序拼接。

表4 EditingInput

参数

是否必选

参数类型

描述

input

ObsObjInfo object

输入文件存储地址

timeline_start

String

剪切开始时间。

单位:秒。

timeline_end

String

剪切结束时间。

单位:秒。

表5 ObsObjInfo

参数

是否必选

参数类型

描述

bucket

String

OBS的bucket名称。

location

String

OBS桶所在的区域,且必须与使用的MPC区域保持一致。

object

String

OBS对象路径,遵守OSS Object定义。

  • 当用于指示input时,需要指定到具体对象。

  • 当用于指示output时,只需指定到转码结果期望存放的路径。

在字幕场景下,字幕文件名称中禁止携带特殊符号,否则会导致转码任务失败,如:[

  • 正确示例: demo.srt

  • 错误示例: [demo.srt

file_name

String

文件名,文件名长度不能超过180个字符。

  • 当指定了此参数时,输出的对象名为object/file_name。

  • 当不指定此参数时,输出的对象名为object/xxx,其中xxx由MPC指定。

在作为输出文件名时:

  • 在转封装场景有效,需要指定输出文件名称

  • 在转码场景下,如果需要指定输出的文件名称,请使用output_filenames参数

  • 在解析场景有效,解析场景如果指定文件名,则将解析参数写入指定文件名,通过查询接口响应json数据获取文件元数据信息

  • 在截图场景无效

  • 在转动图场景无效

  • 输出文件为HLS格式时,文件名称不能命名为index,示例:index.m3u8,否则会导致播放失败。

表6 EditingSetting

参数

是否必选

参数类型

描述

resolution_adaptation

String

分辨率自适应策略。取值包括:OPEN、CLOSE。默认值:OPEN。输入为OPEN时,width表示长边,height表示短边;输入为CLOSE时,width表示宽度,height表示长度。

resolution_upsample

String

分辨率上采样开关。取值:ON、OFF(默认OFF)

format

String

输出封装格式。取值:HLS、MP4、FLV、MOV、AVI(默认MP4),FLV格式不支持多音频,AVI格式不支持H265编码

width

Integer

输出宽或长边,整型,输入小数向下取整,默认值为0

  • 当 width、height 均为 0,则分辨率取片源分辨率;

  • 当 width 为 0,height 非 0,则 width 按片源分辨率比例缩放;

  • 当 width 非 0,height 为 0,则 height 按片源分辨率比例缩放;

  • 当 width、height 均非 0,则分辨率按用户指定。

height

Integer

输出高或短边,整型,输入小数向下取整,默认值为0

  • 当 Width、Height 均为 0,则分辨率取片源分辨率;

  • 当 Width 为 0,Height 非 0,则 Width 按片源分辨率比例缩放;

  • 当 Width 非 0,Height 为 0,则 Height 按片源分辨率比例缩放;

  • 当 Width、Height 均非 0,则分辨率按用户指定。

reference

String

输出参考基准,可选,默认值为NONE

  • NONE 输出分辨率按输入的第一个片源为主,码率按输出分辨率自适应,帧率固定输出25fps

  • MAX_BITRATE 按码率最大的输入片源参数为基准

  • MAX_RESOLUTION 按分辨率最大的输入片源参数为基准

video_codec

Integer

视频编码格式。

取值如下:

  • 1:VIDEO_CODEC_H264

  • 2:VIDEO_CODEC_H265

表7 FileMetaData

参数

是否必选

参数类型

描述

name

String

metadata名称

value

String

metadata值

响应参数

状态码:200

表8 响应Header参数

参数

参数类型

描述

X-Request-Id

String

这个字段作为一个请求的唯一标志,用于任务流程追溯。格式:request_id(uuid)-timestamp-hostname

表9 响应Body参数

参数

参数类型

描述

job_id

String

接受任务后产生的任务ID。

状态码:400

表10 响应Header参数

参数

参数类型

描述

X-Request-Id

String

这个字段作为一个请求的唯一标志,用于任务流程追溯。格式:request_id(uuid)-timestamp-hostname

表11 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

状态码:500

表12 响应Header参数

参数

参数类型

描述

X-Request-Id

String

这个字段作为一个请求的唯一标志,用于任务流程追溯。格式:request_id(uuid)-timestamp-hostname

表13 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

请求示例

创建剪辑任务,对音视频进行剪切、拼接,生成一个新的文件。

POST https://{endpoint}/v2/{project_id}/editing

{
  "inputs" : [ {
    "input" : {
      "bucket" : "example-bucket",
      "location" : "region01",
      "object" : "example-path/input.ts"
    },
    "timeline_start" : "0",
    "timeline_end" : "10"
  }, {
    "input" : {
      "bucket" : "example-bucket",
      "location" : "region01",
      "object" : "example-path/input.ts"
    },
    "timeline_start" : "30",
    "timeline_end" : "40"
  }, {
    "input" : {
      "bucket" : "example-bucket",
      "location" : "region01",
      "object" : "example-path/input.ts"
    },
    "timeline_start" : "50",
    "timeline_end" : "0"
  } ],
  "output" : {
    "bucket" : "example-bucket",
    "location" : "region01",
    "object" : "example-path/output",
    "file_name" : "output.m3u8"
  },
  "editing_settings" : {
    "resolution_adaptation" : "OPEN",
    "reference" : "MAX_RESOLUTION",
    "format" : "HLS",
    "width" : 0,
    "height" : 720
  },
  "user_data" : "example_user_data"
}

响应示例

状态码

状态码

描述

200

新建剪辑任务成功。

400

新建剪辑任务失败或请求参数校验失败。

500

服务器内部错误

错误码

请参见错误码

相关文档