10 KiB
10 KiB
CapCut Mate API 完整参数参考
所有接口基础 URL:config.capcutMateApiBase(如 http://capcut.muyetools.cn/openapi/capcut-mate/v1)
时间单位:微秒(1秒 = 1,000,000)
xxx_infos 参数均为 JSON 字符串(需 JSON.stringify)
目录
一、草稿管理
create_draft
// POST /create_draft
{ "width": 1080, "height": 1920 }
// Response
{
"draft_url": "http://capcut.muyetools.cn/openapi/capcut-mate/v1/get_draft?draft_id=20251230xxx",
"tip_url": ""
}
save_draft
// POST /save_draft
{ "draft_url": "..." }
// Response
{ "draft_url": "...", "message": "成功" }
get_draft
// GET /get_draft?draft_id=xxx
// Response: 返回草稿文件列表和详细信息
二、视频素材
add_videos
// POST /add_videos
{
"draft_url": "...",
"video_infos": "[{\"video_url\":\"https://...\",\"width\":1920,\"height\":1080,\"start\":0,\"end\":3000000,\"duration\":6000000,\"mask\":\"\",\"transition\":\"\",\"transition_duration\":500000,\"volume\":1}]",
"alpha": 1,
"scale_x": 1,
"scale_y": 1,
"transform_x": 0,
"transform_y": 0,
"scene_timelines": []
}
// Response
{
"draft_url": "...",
"video_ids": ["9b9f47126f384a6f95434cdc3fed5b7c"],
"segment_ids": ["20285056b4194e2c8944b587ceb592a7"],
"track_id": "720274203a11442280b64570caf362c4"
}
全局参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| draft_url | string | 是 | 草稿 URL |
| video_infos | string(JSON) | 是 | 视频信息数组(JSON 字符串) |
| alpha | number | 否 | 透明度 0-1,默认 1 |
| scale_x | number | 否 | 水平缩放,默认 1 |
| scale_y | number | 否 | 垂直缩放,默认 1 |
| transform_x | number | 否 | 水平位移,默认 0 |
| transform_y | number | 否 | 垂直位移,默认 0 |
video_infos 元素字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| video_url | string | 视频 URL |
| width | number | 宽度(像素) |
| height | number | 高度(像素) |
| start | number | 起始时间(微秒) |
| end | number | 结束时间(微秒) |
| duration | number | 总时长(微秒) |
| mask | string | 遮罩名称 |
| transition | string | 转场名称 |
| transition_duration | number | 转场时长(微秒) |
| volume | number | 音量 0-1 |
add_images
// POST /add_images
{
"draft_url": "...",
"image_infos": "[{\"image_url\":\"https://...\",\"width\":1920,\"height\":1080,\"start\":0,\"end\":5000000,\"duration\":5000000,\"animation\":\"淡入淡出\",\"transition\":\"溶解\",\"transition_duration\":500000}]",
"alpha": 1,
"scale_x": 1,
"scale_y": 1,
"transform_x": 0,
"transform_y": 0
}
// Response
{
"draft_url": "...",
"image_ids": ["fa67760440104ca3adacdfd694fc25da"],
"segment_ids": ["2d19f38d5f544eecad18847e5eac1745"],
"segment_infos": [{"id": "xxx", "start": 0, "end": 5000000}],
"track_id": "38c8dfee92374137998715329494a8f9"
}
image_infos 元素字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| image_url | string | 图片 URL |
| width | number | 宽度(像素) |
| height | number | 高度(像素) |
| start | number | 起始时间(微秒) |
| end | number | 结束时间(微秒) |
| duration | number | 展示时长(微秒) |
| animation | string | 动画名称(如 "淡入淡出") |
| transition | string | 转场名称(如 "溶解") |
| transition_duration | number | 转场时长(微秒) |
add_sticker
// POST /add_sticker
{
"draft_url": "...",
"sticker_id": "7326810673609018675",
"start": 0,
"end": 5000000,
"scale": 1,
"transform_x": 0,
"transform_y": 0
}
// Response
{
"draft_url": "...",
"sticker_id": "7326810673609018675",
"segment_id": "7902e009fcfb44768f6f73e9432b5d5b",
"track_id": "10b612824bcd4dd882ab764d145dd7ce",
"duration": 5000000
}
三、音频处理
add_audios
// POST /add_audios
{
"draft_url": "...",
"audio_infos": "[{\"audio_url\":\"https://...\",\"duration\":23184000,\"end\":23184000,\"start\":0}]"
}
// Response
{
"draft_url": "...",
"audio_ids": ["9000bc9efb744c3196fb1d225993f43d"],
"track_id": "a2d21e5a343c4f1eba3c9234bea16658"
}
audio_infos 元素字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| audio_url | string | 音频文件 URL |
| start | number | 起始时间(微秒) |
| end | number | 结束时间(微秒) |
| duration | number | 音频总时长(微秒) |
get_audio_duration
// POST /get_audio_duration
{ "mp3_url": "https://..." }
// Response
{ "duration": 284891429, "message": "成功" }
四、文本字幕
add_captions
// POST /add_captions
{
"draft_url": "...",
"captions": "[{\"start\":0,\"end\":10000000,\"text\":\"你好,剪映\",\"keyword\":\"好\",\"keyword_color\":\"#457616\",\"keyword_font_size\":15}]",
"font_size": 15,
"text_color": "#ffffff",
"alignment": 1,
"bold": false,
"italic": false,
"underline": false,
"has_shadow": false,
"letter_spacing": 0,
"line_spacing": 0,
"alpha": 1,
"scale_x": 1,
"scale_y": 1,
"transform_x": 0,
"transform_y": 0,
"style_text": 0
}
// Response
{
"draft_url": "...",
"text_ids": ["52ae035e01584adf8d052533d83948ed"],
"segment_ids": ["1b1102e3d2d14b9eabac064bbe64d2bf"],
"segment_infos": [{"id": "xxx", "start": 0, "end": 10000000}],
"track_id": "7ffdf0f7d67e4d8caff5531f5873d26f"
}
captions 元素字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| start | number | 起始时间(微秒) |
| end | number | 结束时间(微秒) |
| text | string | 字幕文本 |
| keyword | string | 高亮关键词 |
| keyword_color | string | 关键词颜色(如 "#ff7100") |
| keyword_font_size | number | 关键词字号 |
全局样式参数:
| 参数 | 类型 | 说明 |
|---|---|---|
| font_size | number | 字号 |
| text_color | string | 文字颜色 |
| alignment | number | 对齐(1=居中) |
| bold | boolean | 粗体 |
| italic | boolean | 斜体 |
| underline | boolean | 下划线 |
| has_shadow | boolean | 文字阴影 |
| letter_spacing | number | 字间距 |
| line_spacing | number | 行间距 |
| style_text | number | 样式模式 |
add_text_style
// POST /add_text_style
{
"text": "快乐|顶级思维",
"keyword": "五个快乐到死的顶级思维",
"keyword_color": "#ff7100",
"keyword_font_size": 15,
"font_size": 15
}
// Response
{
"text_style": "{\"text\":\"快乐|顶级思维\",\"styles\":[{\"fill\":{\"content\":{\"solid\":{\"color\":[1.0,1.0,1.0]}}},\"range\":[0,7],\"size\":15}]}"
}
五、特效与动画
add_effects
// POST /add_effects
{
"draft_url": "...",
"effect_infos": "[{\"effect_title\":\"录制边框 III\",\"start\":0,\"end\":5000000}]"
}
// Response
{
"draft_url": "...",
"effect_ids": ["34c70fba3619444fa897110b40b39386"],
"segment_ids": ["23e0c0900c69427f82e44243183706c9"],
"track_id": "2ffea3839d304f83ae29dadc43a18227"
}
effect_infos 元素字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| effect_title | string | 特效名称(如 "录制边框 III"、"雪花"、"红包来了") |
| start | number | 起始时间(微秒) |
| end | number | 结束时间(微秒) |
add_filters
// POST /add_filters
{
"draft_url": "...",
"filter_infos": "[{\"filter_title\":\"清透感\",\"start\":0,\"end\":5000000,\"intensity\":100.0}]"
}
| 字段 | 类型 | 说明 |
|---|---|---|
| filter_title | string | 滤镜名称 |
| start | number | 起始时间(微秒) |
| end | number | 结束时间(微秒) |
| intensity | number | 强度 0-100 |
add_keyframes
// POST /add_keyframes
{
"draft_url": "...",
"keyframes": "[{\"segment_id\":\"e1933f126437421bb52abdc56f062266\",\"property\":\"KFTypePositionX\",\"offset\":0.5,\"value\":-0.1}]"
}
// Response
{ "draft_url": "..." }
keyframes 元素字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| segment_id | string | 目标素材 segment ID |
| property | string | 动画属性 |
| offset | number | 关键帧位置(0-1,相对素材时长比例) |
| value | number | 属性值 |
property 可选值:
| 值 | 说明 |
|---|---|
| KFTypePositionX | 水平位移 |
| KFTypePositionY | 垂直位移 |
| KFTypeScaleX | 水平缩放 |
| KFTypeScaleY | 垂直缩放 |
| KFTypeRotation | 旋转角度 |
add_masks
// POST /add_masks
{
"draft_url": "...",
"name": "线性",
"segment_ids": ["beb4adbea83d41d08021cf4e8f219206"]
}
// Response
{}
get_effects — 获取特效列表
// POST /get_effects
{ "mode": 0 }
// Response
{
"effects": [
{ "effect_id": "1183068", "name": "1998", "has_params": true, "is_vip": false },
...
]
}
六、视频渲染
gen_video
// POST /gen_video
{
"draft_url": "...",
"apiKey": "559a84a5-a9e9-4ade-a26b-e80b732754d6"
}
// Response
{ "code": 0, "message": "视频生成任务已提交,请使用draft_url查询进度" }
gen_video_status
// POST /gen_video_status
{ "draft_url": "..." }
// Response
{
"code": 0,
"status": "failed",
"progress": 0,
"video_url": "",
"error_message": "导出草稿失败: ...",
"created_at": "2026-01-31T21:09:15.104249",
"started_at": "2026-01-31T21:09:15.549183",
"completed_at": "2026-01-31T21:10:10.398727"
}
status 值: processing / success / failed
七、快速工具
easy_create_material — 一站式添加
// POST /easy_create_material
{
"draft_url": "...",
"video_url": "https://...",
"img_url": "https://...",
"audio_url": "https://...",
"text": "字幕内容",
"text_color": "#ffffff",
"font_size": 15,
"text_transform_y": 0
}
// Response
{ "draft_url": "...", "message": "成功" }