---
url: /guide/llm-contract.zh.md
description: 剪映小助手核心写接口的精简契约：方法、必填字段、JSON 字符串字段与最小请求体。
---

# 精简契约

## 🌐 语言切换

[中文版](/guide/llm-contract.zh) | [English](/guide/llm-contract)

给 function calling 用的最小契约。完整参数见各接口页。时间一律为**微秒**。

Base URL：`https://capcut-mate.jcaigc.cn`

完整路径 = Base URL + `/openapi/capcut-mate/v1/{接口名}`

## 核心接口一览

| 接口 | 方法 | 必填 | JSON 字符串字段 | 必须接着传的返回字段 |
|------|------|------|-----------------|----------------------|
| create\_draft | POST | 无（默认 1920x1080） | 无 | `draft_url` |
| add\_videos | POST | `draft_url`, `video_infos` | `video_infos` | `draft_url`, `segment_ids` |
| add\_audios | POST | `draft_url`, `audio_infos` | `audio_infos` | `draft_url` |
| add\_images | POST | `draft_url`, `image_infos` | `image_infos` | `draft_url`, `segment_ids` |
| add\_captions | POST | `draft_url`, `captions` | `captions` | `draft_url` |
| gen\_video | POST | `draft_url`；线上导出建议带 `apiKey` | 无 | 无（去查状态） |
| gen\_video\_status | POST | `draft_url` | 无 | `status`, `video_url` |

## 最小请求体

### create\_draft

```json
{ "width": 1080, "height": 1920 }
```

响应关键字段：`draft_url`。

### add\_videos

```json
{
  "draft_url": "https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/get_draft?draft_id=REPLACE",
  "video_infos": "[{\"video_url\":\"https://example.com/clip.mp4\",\"start\":0,\"end\":5000000}]"
}
```

`video_infos` 数组项常用字段：`video_url`（必填，http/https）、`start`、`end`；可选 `duration`、`volume`、`transition`、`transition_duration`；`mask` 会被接受但 `add_videos` 不生效，遮罩请改用 `add_masks`。

### add\_audios

```json
{
  "draft_url": "YOUR_DRAFT_URL",
  "audio_infos": "[{\"audio_url\":\"https://example.com/bgm.mp3\",\"start\":0,\"end\":10000000}]"
}
```

### add\_images

```json
{
  "draft_url": "YOUR_DRAFT_URL",
  "image_infos": "[{\"image_url\":\"https://example.com/cover.png\",\"start\":0,\"end\":5000000}]"
}
```

### add\_captions

```json
{
  "draft_url": "YOUR_DRAFT_URL",
  "captions": "[{\"start\":0,\"end\":5000000,\"text\":\"你好，剪映\"}]",
  "font_size": 15,
  "text_color": "#ffffff"
}
```

### gen\_video

```json
{
  "draft_url": "YOUR_DRAFT_URL",
  "apiKey": "123e4567-e89b-12d3-a456-426614174000"
}
```

### gen\_video\_status

```json
{ "draft_url": "YOUR_DRAFT_URL" }
```

`status`：`pending` | `processing` | `completed` | `failed`。仅 `completed` 时读取 `video_url`。

## 增强接口（按需）

| 接口 | 必填 | 备注 |
|------|------|------|
| add\_effects | `draft_url`, `effect_infos` | `effect_infos` 为 JSON 字符串 |
| add\_filters | `draft_url`, `filter_infos` | `filter_infos` 为 JSON 字符串 |
| add\_keyframes | `draft_url`, `keyframes` | `keyframes` 为 JSON 字符串 |
| add\_masks | `draft_url`, `segment_ids` | 先有视频/图片片段；`name` 已默认「线性」 |
| add\_sticker | `draft_url`, `sticker_id`, `start`, `end` | sticker\_id 来自 search\_sticker |
| save\_draft | `draft_url` | 通常可省略，写接口会落盘 |

## 相关文档

* [调用指南](/guide/llm-guide.zh)
* [发现入口 llms.txt](/llms.txt)
