剪映小助手草稿管理接口实用教程
摘要
剪映草稿管理API包含三个核心接口:创建草稿(POST v1 create_draft,设置宽高,返回草稿URL)
草稿管理API接口深度解析
剪映草稿管理API的设计,看似繁复实则脉络清晰。核心聚焦三大操作:新建草稿、持久化草稿、拉取草稿文件清单。本篇从请求方式、参数校验边界到异常处理与工程落地建议,逐一拆解。先上一张整体架构图,建立全局认知。

核心接口全景
整套接口严格遵循RESTful设计范式,结构清晰可维护。三大核心API覆盖草稿的完整生命周期:
graph TBClient["用户端"] --> Create["新建草稿
POST /v1/create_draft"]Client --> Save["存储草稿
POST /v1/save_draft"]Client --> Get["拉取草稿文件
GET /v1/get_draft"]Create --> Service1["服务层
create_draft.py"]Save --> Service2["服务层
save_draft.py"]Get --> Service3["服务层
get_draft.py"]Service1 --> Cache["缓存层
draft_cache.py"]Service2 --> CacheService3 --> Config["配置
config.py"]Cache --> FS["文件系统
DRAFT_DIR"]Config --> FS
接口详述
下面逐步拆解每个接口的实现细节。
接口一:新建草稿
HTTP方法与路径
POST /openapi/capcut-mate/v1/create_draft
功能描述
基于预设模板初始化一个剪映草稿项目。支持自定义画布宽高,返回草稿访问链接与帮助文档链接,便于后续操作。
请求参数
width:数字,≥1,默认值1920height:数字,≥1,默认值1080
响应字段
draft_url:草稿访问链接,格式如.../get_draft?draft_id=2025...tip_url:帮助文档链接
错误处理
- 400:参数类型异常或超出合法范围
- 500:内部服务异常
- 503:服务暂不可用
新建草稿执行流程
flowchart TDStart(["启动"]) --> Parse["解析请求参数
width/height"]Parse --> Validate{"参数校验通过?"}Validate --> |否| ErrParam["返回400 参数异常"]Validate --> |是| CopyTpl["复制模板至草稿目录"]CopyTpl --> InitCanvas["设置画布尺寸"]InitCanvas --> AddTrack["添加空白主轨道"]AddTrack --> Save["存储草稿"]Save --> Cache["更新缓存"]Cache --> BuildURL["生成草稿链接"]BuildURL --> Done(["完成"])ErrParam --> Done
接口二:存储草稿
HTTP方法与路径
POST /openapi/capcut-mate/v1/save_draft
功能描述
将当前内存中的编辑状态持久化到磁盘,确保修改不丢失。推荐在每次编辑操作后及时调用。
请求参数
draft_url:草稿链接,必填
响应字段
draft_url:存储后的草稿链接
错误处理
- 400:draft_url缺失或格式无效
- 404:目标草稿不存在
- 500:存储过程失败
- 503:服务暂不可用
存储草稿执行流程
flowchart TDStart(["启动"]) --> ParseURL["解析 draft_url 提取 draft_id"]ParseURL --> CheckCache{"缓存命中?"}CheckCache --> |否| ErrNotFound["返回404 草稿不存在"]CheckCache --> |是| Load["从缓存加载草稿对象"]Load --> Save["调用 save() 持久化"]Save --> Done(["完成"])ErrNotFound --> Done
接口三:拉取草稿文件列表
HTTP方法与路径
GET /openapi/capcut-mate/v1/get_draft
功能描述
通过草稿ID获取该草稿下的全部文件清单,常用于内容预览、资源管理及状态核对。
请求参数
draft_id:字符串,必填,长度20至32位
响应字段
files:文件下载链接列表(基于DOWNLOAD_URL拼接)
错误处理
- 400:draft_id缺失或格式无效
- 404:目标草稿不存在
- 500:获取文件列表失败
- 503:服务暂不可用
拉取草稿文件列表执行流程
flowchart TDStart(["启动"]) --> ValidateID["校验 draft_id 非空且长度20-32"]ValidateID --> Exists{"草稿目录存在?"}Exists --> |否| ErrNotFound["返回404 草稿不存在"]Exists --> |是| Scan["遍历草稿目录获取文件清单"]Scan --> BuildURL["批量生成下载链接"]BuildURL --> Done(["完成"])ErrNotFound --> Done
草稿链接生成规则
草稿链接的构造非常简单:以配置项DRAFT_URL为基础,附加draft_id参数。draft_id由时间戳与随机十六进制数拼接而成,保证全局唯一。
链接格式
https://域名/openapi/capcut-mate/v1/get_draft?draft_id=2025092811473036584258
有效期
生成的 draft_url 并非永久有效,请留意其过期时间。
文件目录结构说明
新建草稿后,文件存储路径与内容如下:
- 草稿根目录:
output/draft/{draft_id}/ - 核心文件:
draft_info.json(模板元数据)与draft_content.json(内容脚本),此外还有素材及配置文件。 - 模板源:
template/default2/作为初始模板目录,新建草稿时会拷贝一份至草稿目录。每次创建都是全新起点。 - 双文件同步模式:
draft_info.json与draft_content.json会同时更新,确保数据一致性,这是关键设计。
最佳实践
基于实际项目经验,以下几点可有效规避常见问题:
- 参数校验:确保
width和height均为正整数,建议直接使用标准视频分辨率(如1920×1080),避免冷门尺寸导致后续编辑困难。 - 调用顺序:先调用新建草稿获得草稿链接与ID,再执行编辑操作。存储操作应频繁调用,切勿等全部编辑完成后再一次性保存,否则意外中断会导致数据丢失。
- 性能考量:避免设置超高分辨率(例如超过8K),不仅影响创建性能,生成的草稿文件也会急剧增大存储占用,后续编辑极易卡顿。
- 并发控制:同一用户禁止同时对同一草稿执行保存操作,防止数据覆盖或状态混乱。每次保存后,若不再需要使用该草稿,及时清理缓存数据。
错误码对照表
| 错误码 | 错误信息 | 描述 | 解决方案 |
|---|---|---|---|
| 400 | width必须大于等于1 | 宽度参数非法 | 提供≥1的宽度值 |
| 400 | height必须大于等于1 | 高度参数非法 | 提供≥1的高度值 |
| 400 | 参数类型错误 | 参数类型不正确 | 确保width和height为数值类型 |
| 400 | draft_url是必需的 | 缺少draft_url参数 | 提供有效的draft_url |
| 400 | draft_id长度不在范围内 | draft_id长度不符合要求 | 确保draft_id长度为20-32字符 |
| 404 | 草稿不存在 | 指定草稿无法找到 | 确认draft_url或draft_id正确性 |
| 500 | 草稿创建失败 | 内部服务错误 | 联系技术支持 |
| 500 | 保存失败 | 保存操作失败 | 联系技术支持或稍后重试 |
| 500 | 获取文件列表失败 | 获取文件列表失败 | 联系技术支持或稍后重试 |
| 503 | 服务不可用 | 系统维护 | 稍后重试 |