Skip to content

ADD_KEYFRAMES API 接口文档 ​

🌐 语言切换 ​

中文版 | English

接口信息 ​

POST /openapi/capcut-mate/v1/add_keyframes

功能描述 ​

向现有草稿中添加关键帧。该接口用于在指定的片段上添加关键帧动画,支持多种属性类型的关键帧设置,如位置、缩放、旋转、透明度等。关键帧可以用于创建复杂的动画效果,增强视频的视觉表现力。

请求参数 ​

json
{
  "draft_url": "https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/get_draft?draft_id=2025092811473036584258",
  "keyframes": "[{\"segment_id\":\"d62994b4-25fe-422a-a123-87ef05038558\",\"property\":\"KFTypePositionX\",\"offset\":5000000,\"value\":-0.1}]"
}

参数说明 ​

参数名类型必填默认值说明
draft_urlstring✅-目标草稿的完整URL
keyframesstring✅-关键帧信息列表的JSON字符串

keyframes 参数详解 ​

基本结构 ​

keyframes 是一个JSON字符串,包含关键帧数组,每个关键帧对象包含以下字段:

字段名类型必填说明
segment_idstring✅目标片段的唯一标识ID
propertystring✅动画属性类型,支持的类型见下表
offsetnumber✅关键帧在片段中的时间偏移(微秒绝对时间)
valuenumber✅属性在该时间点的值

offset 参数说明 ​

offset 参数只支持微秒绝对时间格式:

  • 以微秒为单位的数值,如 5000000 表示片段开始后5秒的位置
  • 系统会自动将微秒值转换为相对时间比例

支持的动画属性类型 ​

属性类型描述值范围示例
KFTypePositionXX轴位置-1.0 到 1.00.0 (居中), -0.5 (左移), 0.5 (右移)
KFTypePositionYY轴位置-1.0 到 1.00.0 (居中), 0.5 (上移), -0.5 (下移)
KFTypeScaleXX轴缩放0.1 到 10.01.0 (原始), 0.5 (缩小), 2.0 (放大)
KFTypeScaleYY轴缩放0.1 到 10.01.0 (原始), 0.5 (缩小), 2.0 (放大)
KFTypeRotation旋转角度-360 到 3600 (无旋转), 90 (顺时针90度)
KFTypeAlpha透明度0.0 到 1.01.0 (不透明), 0.5 (半透明), 0.0 (透明)
UNIFORM_SCALE统一缩放0.1 到 10.01.0 (原始), 0.5 (缩小), 2.0 (放大)
KFTypeSaturation饱和度-1.0 到 1.00.0 (原始), -0.5 (降低), 0.5 (增强)
KFTypeContrast对比度-1.0 到 1.00.0 (原始), -0.5 (降低), 0.5 (增强)
KFTypeBrightness亮度-1.0 到 1.00.0 (原始), -0.5 (变暗), 0.5 (变亮)
KFTypeVolume音量0.0 到 2.01.0 (原始), 0.5 (降低), 2.0 (增强)

响应格式 ​

成功响应 (200) ​

json
{
  "code": 0,
  "message": "success",
  "draft_url": "https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/get_draft?draft_id=2025092811473036584258",
  "keyframes_added": 3,
  "affected_segments": ["segment_001", "segment_002"]
}

响应字段说明 ​

字段名类型说明
draft_urlstring更新后的草稿URL
keyframes_addedinteger添加的关键帧数量
affected_segmentsarray受影响的片段ID列表

错误响应 ​

json
{
  "code": 2013,
  "message": "无效的关键帧信息,请检查keyframes字段值是否正确"
}

使用示例 ​

cURL 示例 ​

1. 基本关键帧添加(使用微秒时间) ​

bash
curl -X POST https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/add_keyframes \
  -H "Content-Type: application/json" \
  -d '{
    "draft_url": "YOUR_DRAFT_URL",
    "keyframes": "[{\"segment_id\":\"segment-id\",\"property\":\"UNIFORM_SCALE\",\"offset\":0,\"value\":1},{\"segment_id\":\"segment-id\",\"property\":\"UNIFORM_SCALE\",\"offset\":5000000,\"value\":1.3}]"
  }'

2. 多属性关键帧 ​

bash
curl -X POST https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/add_keyframes \
  -H "Content-Type: application/json" \
  -d '{
    "draft_url": "YOUR_DRAFT_URL",
    "keyframes": "[{\"segment_id\":\"segment-uuid\",\"property\":\"KFTypePositionX\",\"offset\":0,\"value\":0},{\"segment_id\":\"segment-uuid\",\"property\":\"KFTypePositionY\",\"offset\":0,\"value\":0},{\"segment_id\":\"segment-uuid\",\"property\":\"KFTypeRotation\",\"offset\":2500000,\"value\":90},{\"segment_id\":\"segment-uuid\",\"property\":\"KFTypeAlpha\",\"offset\":5000000,\"value\":0}]"
  }'

错误码说明 ​

错误码错误信息说明解决方案
2001无效的草稿URL草稿缺失或不在缓存中检查 draft_url
2013无效的关键帧信息JSON 非法、不是数组、缺少字段、property 不受支持,或 offset/value 类型不正确修正 keyframes JSON
2014关键帧添加失败保存草稿失败重试或联系技术支持
2042草稿锁获取超时另一个写操作正持有草稿锁稍后重试

注意事项 ​

  1. 片段ID验证: segment_id 必须是草稿中存在的有效片段ID
  2. 片段类型限制: 只有视觉片段(视频、图片、贴纸、文本)支持关键帧
  3. 时间偏移范围: offset 值必须是非负数(微秒)
  4. 属性值范围: 不同的属性类型有不同的值范围限制
  5. 重复关键帧: 相同片段相同属性的关键帧会被累加,不会覆盖
  6. 性能考虑: 单次请求建议不超过100个关键帧
  7. 缩放属性: 设置KFTypeScaleX或KFTypeScaleY会自动取消锁定XY轴缩放比例

工作流程 ​

  1. 验证必填参数(draft_url, keyframes)
  2. 解析关键帧数据JSON字符串
  3. 从缓存中获取草稿
  4. 验证每个关键帧数据的有效性
  5. 查找目标片段并验证片段类型
  6. 为每个关键帧创建关键帧列表并添加到片段
  7. 保存草稿
  8. 返回添加结果信息

相关接口 ​