459 lines
10 KiB
Markdown
459 lines
10 KiB
Markdown
|
|
# 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
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// 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
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// POST /save_draft
|
|||
|
|
{ "draft_url": "..." }
|
|||
|
|
|
|||
|
|
// Response
|
|||
|
|
{ "draft_url": "...", "message": "成功" }
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### get_draft
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// GET /get_draft?draft_id=xxx
|
|||
|
|
// Response: 返回草稿文件列表和详细信息
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 二、视频素材
|
|||
|
|
|
|||
|
|
### add_videos
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// 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
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// 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
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// 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
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// 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
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// POST /get_audio_duration
|
|||
|
|
{ "mp3_url": "https://..." }
|
|||
|
|
|
|||
|
|
// Response
|
|||
|
|
{ "duration": 284891429, "message": "成功" }
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 四、文本字幕
|
|||
|
|
|
|||
|
|
### add_captions
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// 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
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// 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
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// 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
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// 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
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// 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
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// POST /add_masks
|
|||
|
|
{
|
|||
|
|
"draft_url": "...",
|
|||
|
|
"name": "线性",
|
|||
|
|
"segment_ids": ["beb4adbea83d41d08021cf4e8f219206"]
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Response
|
|||
|
|
{}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### get_effects — 获取特效列表
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// POST /get_effects
|
|||
|
|
{ "mode": 0 }
|
|||
|
|
|
|||
|
|
// Response
|
|||
|
|
{
|
|||
|
|
"effects": [
|
|||
|
|
{ "effect_id": "1183068", "name": "1998", "has_params": true, "is_vip": false },
|
|||
|
|
...
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 六、视频渲染
|
|||
|
|
|
|||
|
|
### gen_video
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// POST /gen_video
|
|||
|
|
{
|
|||
|
|
"draft_url": "...",
|
|||
|
|
"apiKey": "559a84a5-a9e9-4ade-a26b-e80b732754d6"
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Response
|
|||
|
|
{ "code": 0, "message": "视频生成任务已提交,请使用draft_url查询进度" }
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### gen_video_status
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// 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 — 一站式添加
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
// 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": "成功" }
|
|||
|
|
```
|