Skip to content
当前页导航

CapCut Mate API 文档

📖 项目简介

CapCut Mate API 是一个基于 FastAPI 构建的剪映小助手,为开发者提供强大的视频编辑自动化能力。通过 RESTful API 接口,您可以轻松创建、编辑和渲染视频内容,无需手动操作剪映软件。

🔗 项目地址: GitHub | Gitee

📑 目录

✨ 核心功能

🎬 视频制作流程

  • 草稿管理:创建、保存、获取草稿信息
  • 素材添加:支持视频、音频、图片、贴纸等多种素材
  • 文本处理:添加字幕、文本样式、关键词高亮
  • 特效应用:视觉特效、动画、转场、遮罩效果
  • 视频渲染:云端生成最终视频文件

🔧 技术特性

  • 高性能:基于 FastAPI 构建,支持异步处理
  • 类型安全:使用 Pydantic 进行数据验证
  • 标准化:符合 RESTful API 设计规范
  • 自动文档:集成 Swagger UI 交互式文档
  • 容器化:支持 Docker 部署

🚀 快速开始

环境准备

在开始使用 CapCut Mate API 之前,请确保您具备以下条件:

  • 🌐 网络环境: 能够访问 API 服务地址
  • 🔑 API 权限: 已获得相应的 API 访问权限
  • 📚 开发环境: 支持 HTTP 请求的开发环境

📋 API 调用流程

CapCut Mate API 的典型使用流程如下:

mermaid
graph TD
    A[创建草稿] --> B[添加视频素材]
    B --> C[添加音频素材]
    C --> D[添加字幕]
    D --> E[添加特效]
    E --> F[生成视频]
    F --> G[保存草稿]

💻 快速示例

Python 示例

python
import requests
import json

# 1. 创建草稿
def create_draft():
    url = "https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/create_draft"
    payload = {
        "aspect_ratio": 1,  # 16:9 横屏
        "duration": 60000000  # 60秒
    }
    
    response = requests.post(url, json=payload)
    return response.json()

# 2. 添加视频
result = create_draft()
draft_url = result["data"]["draft_url"]

# 继续添加其他素材...
print(f"草稿创建成功: {draft_url}")

JavaScript 示例

javascript
// 创建草稿
async function createDraft() {
  const response = await fetch('https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/create_draft', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      aspect_ratio: 1,
      duration: 60000000
    })
  });
  
  const result = await response.json();
  return result.data.draft_url;
}

// 使用示例
createDraft().then(draftUrl => {
  console.log('草稿创建成功:', draftUrl);
  // 继续添加其他素材...
});

📚 API 接口文档

CapCut Mate API 提供以下核心接口,支持完整的视频创作工作流程:

🏗️ 草稿管理

接口功能描述文档链接
create_draft创建草稿创建新的剪映草稿项目,设置画布尺寸📖 查看文档
save_draft保存草稿保存当前草稿状态,确保编辑内容持久化📖 查看文档
get_draft获取草稿获取草稿文件列表和详细信息📖 查看文档

🎥 视频素材

接口功能描述文档链接
add_videos添加视频批量添加视频素材,支持裁剪、缩放、特效📖 查看文档
add_images添加图片批量添加图片素材,支持动画和转场效果📖 查看文档
add_sticker添加贴纸添加装饰贴纸,支持位置和大小调整📖 查看文档

🎵 音频处理

接口功能描述文档链接
add_audios添加音频批量添加音频素材,支持音量和淡入淡出📖 查看文档
get_audio_duration获取音频时长获取音频文件的精确时长信息📖 查看文档

📝 文本字幕

接口功能描述文档链接
add_captions添加字幕批量添加字幕,支持关键词高亮和样式设置📖 查看文档
add_text_style文本样式创建富文本样式,支持关键词颜色和字体📖 查看文档

✨ 特效动画

接口功能描述文档链接
add_effects添加特效添加视觉特效,如滤镜、边框、动态效果📖 查看文档
add_keyframes关键帧动画创建位置、缩放、旋转等属性动画📖 查看文档
add_masks遮罩效果添加各种形状遮罩,控制画面可见区域📖 查看文档

🎨 动画资源

接口功能描述文档链接
get_text_animations文本动画获取可用的文本入场、出场、循环动画📖 查看文档
get_image_animations图片动画获取可用的图片动画效果列表📖 查看文档

🎬 视频生成

接口功能描述文档链接
gen_video生成视频提交视频渲染任务,异步处理📖 查看文档
gen_video_status查询状态查询视频生成任务的进度和状态📖 查看文档

🚀 快速工具

接口功能描述文档链接
easy_create_material快速创建一次性添加多种类型素材,简化创建流程📖 查看文档

🔗 快速导航

🎯 新手入门: 创建草稿添加视频生成视频

🎨 进阶创作: 添加字幕添加特效添加音频

💾 项目管理: 保存草稿查看草稿

🏗️ 系统架构

分层设计

┌─────────────────┐
│   FastAPI App   │  HTTP API 层
├─────────────────┤
│   Middlewares   │  中间件层(请求预处理、响应格式化)
├─────────────────┤
│   Router (v1)   │  路由层(接口定义、参数验证)
├─────────────────┤
│   Service       │  业务逻辑层(核心功能实现)
├─────────────────┤
│ pyJianYingDraft │  剪映草稿处理层(草稿文件操作)
├─────────────────┤
│     Utils       │  工具层(缓存、日志、任务管理)
└─────────────────┘

核心模块

  • Router: API 路由定义和请求处理
  • Service: 业务逻辑实现和数据处理
  • pyJianYingDraft: 剪映草稿文件的创建和编辑
  • Schemas: 数据模型定义和验证
  • Utils: 缓存管理、日志记录、任务调度

🔄 典型工作流程

基础视频制作流程

mermaid
graph LR
    A[创建草稿] --> B[添加视频素材]
    B --> C[添加音频背景]
    C --> D[添加字幕文本]
    D --> E[应用特效动画]
    E --> F[保存草稿]
    F --> G[生成视频]
    G --> H[查询状态]
    H --> I[获取结果]

进阶制作流程

mermaid
graph TB
    A[创建草稿] --> B[批量添加素材]
    B --> C[easy_create_material]
    C --> D[精细调整]
    D --> E[添加关键帧动画]
    E --> F[应用遮罩效果]
    F --> G[添加转场特效]
    G --> H[保存并渲染]

📊 API 使用统计

接口分类

  • 草稿管理: 3 个接口
  • 素材添加: 6 个接口
  • 特效动画: 5 个接口
  • 视频生成: 2 个接口
  • 辅助工具: 2 个接口

常用组合

  1. 快速制作: create_drafteasy_create_materialgen_video
  2. 精细编辑: create_draftadd_videosadd_audiosadd_captionsadd_effectsgen_video
  3. 动画制作: create_draftadd_imagesadd_keyframesadd_masksgen_video

⚡ 性能优化

建议实践

  • 批量操作: 尽量使用批量接口减少请求次数
  • 异步处理: 视频生成使用异步任务,避免长时间等待
  • 缓存机制: 草稿信息支持缓存,提高访问速度
  • 错误重试: 网络请求失败时自动重试
  • 资源预检: 使用 get_audio_duration 等接口预检资源

限制说明

  • 并发限制: 避免同时处理过多视频生成任务
  • 文件大小: 建议单个素材文件不超过 100MB
  • 时长限制: 建议单个视频时长不超过 10 分钟
  • 请求频率: 建议控制请求频率,避免服务器过载

🔧 更多文档

📖 更多详细文档和教程请访问:https://docs.jcaigc.cn

💬 技术支持

获取帮助

  • 📖 交互式文档: 访问 http://localhost:60000/docs 查看 Swagger UI
  • 🐛 问题反馈: 提交 GitHub IssuesGitee Issues
  • 📧 商业合作: 联系邮箱 taohongmin51@gmail.com
  • 💬 社区讨论: 欢迎提交 Pull Request 来改进项目

贡献指南

欢迎提交 Pull Request 来改进项目:

  1. 🍴 Fork 项目
  2. 🌿 创建功能分支
  3. 📝 提交更改
  4. 🚀 创建 Pull Request

开源地址



📄 许可证

本项目采用 MIT 许可证,详情请查看 LICENSE 文件。

CapCut Mate API - 让视频创作更简单、更高效!

⭐ 如果这个项目对您有帮助,请给我们一个 Star!