Ctrl K
ComunidadGuías…

docs/add_sticker.zh.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# ADD_STICKER API 接口文档

## 🌐 语言切换
[中文版](./add_sticker.zh.md) | [English](./add_sticker.md)

## 接口信息

```
POST /openapi/capcut-mate/v1/add_sticker
```

## 功能描述

向现有草稿中添加贴纸。该接口用于在指定的时间段内添加贴纸素材到剪映草稿中,支持贴纸的缩放和位置调整。贴纸可以用于增强视频的视觉效果,如表情、装饰、文字等。

## 请求参数

```json
{
  "draft_url": "https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/get_draft?draft_id=2025092811473036584258",
  "sticker_id": "7326810673609018675",
  "start": 0,
  "end": 5000000,
  "scale": 1.0,
  "transform_x": 0,
  "transform_y": 0
}
```

### 参数说明

| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|--------|------|------|--------|------|
| draft_url | string | ✅ | - | 目标草稿的完整URL |
| sticker_id | string | ✅ | - | 贴纸的唯一标识ID |
| start | number | ✅ | - | 贴纸开始时间(微秒) |
| end | number | ✅ | - | 贴纸结束时间(微秒) |
| scale | number | ❌ | 1.0 | 贴纸缩放比例,建议范围[0.1, 5.0] |
| transform_x | number | ❌ | 0 | X轴位置偏移(像素) |
| transform_y | number | ❌ | 0 | Y轴位置偏移(像素) |

### 参数详解

#### 时间参数

- **start**: 贴纸在时间轴上的开始时间,单位为微秒(1秒 = 1,000,000微秒)
- **end**: 贴纸在时间轴上的结束时间,单位为微秒
- **duration**: 贴纸显示时长 = end - start

#### 缩放参数

- **scale**: 贴纸的缩放比例
  - 1.0 = 原始大小
  - 0.5 = 缩小到一半
  - 2.0 = 放大到两倍
  - 建议范围:0.1 - 5.0

#### 位置参数

- **transform_x**: 贴纸在X轴方向的位置偏移,单位为像素
  - 正值向右移动
  - 负值向左移动
  - 以画布中心为原点
  - 实际存储时会转换为半画布宽单位(除以草稿画布宽度,如1920×1080草稿即除以1920)

- **transform_y**: 贴纸在Y轴方向的位置偏移,单位为像素
  - 正值向下移动
  - 负值向上移动
  - 以画布中心为原点
  - 实际存储时会转换为半画布高单位(除以草稿画布高度,如1920×1080草稿即除以1080)

#### 贴纸ID说明

- **sticker_id**: 贴纸的唯一标识符
  - 格式:通常为数字字符串
  - 示例:`"7326810673609018675"`
  - 获取方式:通过剪映贴纸库或相关API获取

## 响应格式

### 成功响应 (200)

```json
{
  "code": 0,
  "message": "success",
  "draft_url": "https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/get_draft?draft_id=2025092811473036584258",
  "sticker_id": "7326810673609018675",
  "track_id": "track-uuid",
  "segment_id": "segment-uuid",
  "duration": 5000000
}
```

### 响应字段说明

| 字段名 | 类型 | 说明 |
|--------|------|------|
| draft_url | string | 更新后的草稿URL |
| sticker_id | string | 贴纸的唯一标识ID |
| track_id | string | 贴纸轨道ID |
| segment_id | string | 贴纸片段ID |
| duration | number | 贴纸显示时长(微秒) |

### 错误响应

```json
{
  "code": 2011,
  "message": "无效的贴纸信息,请检查贴纸参数是否正确"
}
```

## 使用示例

### cURL 示例

#### 1. 基本贴纸添加

```bash
curl -X POST https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/add_sticker \
  -H "Content-Type: application/json" \
  -d '{
    "draft_url": "YOUR_DRAFT_URL",
    "sticker_id": "7326810673609018675",
    "start": 0,
    "end": 5000000
  }'
```

#### 2. 带缩放的贴纸

```bash
curl -X POST https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/add_sticker \
  -H "Content-Type: application/json" \
  -d '{
    "draft_url": "YOUR_DRAFT_URL",
    "sticker_id": "7326810673609018675",
    "start": 1000000,
    "end": 6000000,
    "scale": 1.5
  }'
```

#### 3. 带位置偏移的贴纸

```bash
curl -X POST https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/add_sticker \
  -H "Content-Type: application/json" \
  -d '{
    "draft_url": "YOUR_DRAFT_URL",
    "sticker_id": "7326810673609018675",
    "start": 2000000,
    "end": 7000000,
    "scale": 0.8,
    "transform_x": 200,
    "transform_y": -100
  }'
```

## 错误码说明

| 错误码 | 错误信息 | 说明 | 解决方案 |
|--------|----------|------|----------|
| 1001 | 参数校验失败 | 请求体未通过字段校验,如缺少必填字段或字段类型错误 | 检查参数类型与必填字段 |
| 2001 | 无效的草稿URL | `draft_url` 缺失、格式错误,或草稿不在缓存中 | 传入 `create_draft` 返回的 `draft_url` |
| 2011 | 无效的贴纸信息 | `end` 不大于 `start` | 确保结束时间大于开始时间 |
| 2012 | 贴纸添加失败 | 创建贴纸轨道/片段或保存草稿时出错 | 检查草稿状态后重试 |
| 2042 | 草稿锁获取超时 | 同一时间只允许一个操作,草稿正被占用 | 稍后重试 |

## 注意事项

1. **时间单位**: 所有时间参数使用微秒(1秒 = 1,000,000微秒)
2. **贴纸ID**: 确保使用有效的贴纸ID
3. **时间范围**: end必须大于start
4. **缩放范围**: scale建议在0.1-5.0范围内
5. **位置参数**: transform_x和transform_y单位为像素,但内部会转换为半画布单位存储
   - transform_x转换公式:实际值 / 草稿画布宽度(如1920)
   - transform_y转换公式:实际值 / 草稿画布高度(如1080)
6. **轨道管理**: 系统自动创建贴纸轨道
7. **性能考虑**: 避免同时添加大量贴纸

## 工作流程

1. 验证必填参数(draft_url, sticker_id, start, end)
2. 检查时间范围的有效性
3. 从缓存中获取草稿
4. 创建贴纸轨道(如果不存在)
5. 创建图像调节设置
6. 创建贴纸片段
7. 添加片段到轨道
8. 保存草稿
9. 返回贴纸信息

## 相关接口

- [创建草稿](./create_draft.md)
- [添加视频](./add_videos.md)
- [添加音频](./add_audios.md)
- [添加图片](./add_images.md)
- [保存草稿](./save_draft.md)
- [生成视频](./gen_video.md)

---

<div align="right">

📚 **项目资源**  
**GitHub**: [https://github.com/Hommy-master/capcut-mate](https://github.com/Hommy-master/capcut-mate)  
**Gitee**: [https://gitee.com/taohongmin-gitee/capcut-mate](https://gitee.com/taohongmin-gitee/capcut-mate)

</div>