mirror of
https://github.com/sun-guannan/CapCutAPI.git
synced 2025-11-25 03:15:00 +08:00
8.2 KiB
8.2 KiB
通过CapCutAPI连接AI生成的一切 在线体验
👏👏👏👏 庆祝github 700星,送出价值7000点不记名云渲染券:08B88A2C-1D16-4CE1-982E-E3732F2655F3
项目概览
CapCutAPI 是一款强大的云端 剪辑 API,它赋予您对 AI 生成素材(包括图片、音频、视频和文字)的精确控制权。 它提供了精确的编辑能力来拼接原始的 AI 输出,例如给视频变速或将图片镜像反转。这种能力有效地解决了 AI 生成的结果缺乏精确控制,难以复制的问题,让您能够轻松地将创意想法转化为精致的视频。 所有这些功能均旨在对标剪映软件的功能,确保您在云端也能获得熟悉且高效的剪辑体验。
核心优势
-
通过API的方式,提供对标剪映/CapCut的剪辑能力。
-
可以在网页实时预览剪辑结果,无需下载,极大方便工作流开发。
-
可以下载剪辑结果,并导入到剪映/CapCut中二次编辑。
-
可以利用API将剪辑结果生成视频,实现全云端操作。
效果展示
核心功能
| 功能模块 | API | MCP 协议 | 描述 |
|---|---|---|---|
| 草稿管理 | ✅ | ✅ | 创建、保存剪映/CapCut草稿文件 |
| 视频处理 | ✅ | ✅ | 多格式视频导入、剪辑、转场、特效 |
| 音频编辑 | ✅ | ✅ | 音频轨道、音量控制、音效处理 |
| 图像处理 | ✅ | ✅ | 图片导入、动画、蒙版、滤镜 |
| 文本编辑 | ✅ | ✅ | 多样式文本、阴影、背景、动画 |
| 字幕系统 | ✅ | ✅ | SRT 字幕导入、样式设置、时间同步 |
| 特效引擎 | ✅ | ✅ | 视觉特效、滤镜、转场动画 |
| 贴纸系统 | ✅ | ✅ | 贴纸素材、位置控制、动画效果 |
| 关键帧 | ✅ | ✅ | 属性动画、时间轴控制、缓动函数 |
| 媒体分析 | ✅ | ✅ | 视频时长获取、格式检测 |
快速开始
1. 系统要求
- Python 3.10+
- 剪映 或 CapCut 国际版
- FFmpeg
2. 安装部署
# 1. 克隆项目
git clone https://github.com/sun-guannan/CapCutAPI.git
cd CapCutAPI
# 2. 创建虚拟环境 (推荐)
python -m venv venv-capcut
source venv-capcut/bin/activate # Linux/macOS
# 或 venv-capcut\Scripts\activate # Windows
# 3. 安装依赖
pip install -r requirements.txt # HTTP API 基础依赖
pip install -r requirements-mcp.txt # MCP 协议支持 (可选)
# 4. 配置文件
cp config.json.example config.json
# 根据需要编辑 config.json
3. 启动服务
python capcut_server.py # 启动HTTP API服务器, 默认端口: 9001
python mcp_server.py # 启动 MCP 协议服务,支持 stdio 通信
MCP 集成指南
1. 客户端配置
创建或更新 mcp_config.json 配置文件:
{
"mcpServers": {
"capcut-api": {
"command": "python3",
"args": ["mcp_server.py"],
"cwd": "/path/to/CapCutAPI",
"env": {
"PYTHONPATH": "/path/to/CapCutAPI",
"DEBUG": "0"
}
}
}
}
2. 连接测试
# 测试 MCP 连接
python test_mcp_client.py
# 预期输出
✅ MCP 服务器启动成功
✅ 获取到 11 个可用工具
✅ 草稿创建测试通过
使用示例
1. API 示例
添加视频素材
import requests
# 添加背景视频
response = requests.post("http://localhost:9001/add_video", json={
"video_url": "https://example.com/background.mp4",
"start": 0,
"end": 10
"volume": 0.8,
"transition": "fade_in"
})
print(f"视频添加结果: {response.json()}")
创建样式文本
import requests
# 添加标题文字
response = requests.post("http://localhost:9001/add_text", json={
"text": "欢迎使用 CapCutAPI",
"start": 0,
"end": 5,
"font": "思源黑体",
"font_color": "#FFD700",
"font_size": 48,
"shadow_enabled": True,
"background_color": "#000000"
})
print(f"文本添加结果: {response.json()}")
可以在example.py文件中获取更多示例。
2. MCP 协议示例
完整工作流程
# 1. 创建新项目
draft = mcp_client.call_tool("create_draft", {
"width": 1080,
"height": 1920
})
draft_id = draft["result"]["draft_id"]
# 2. 添加背景视频
mcp_client.call_tool("add_video", {
"video_url": "https://example.com/bg.mp4",
"draft_id": draft_id,
"start": 0,
"end": 10,
"volume": 0.6
})
# 3. 添加标题文字
mcp_client.call_tool("add_text", {
"text": "AI 驱动的视频制作",
"draft_id": draft_id,
"start": 1,
"end": 6,
"font_size": 56,
"shadow_enabled": True,
"background_color": "#1E1E1E"
})
# 4. 添加关键帧动画
mcp_client.call_tool("add_video_keyframe", {
"draft_id": draft_id,
"track_name": "main",
"property_types": ["scale_x", "scale_y", "alpha"],
"times": [0, 2, 4],
"values": ["1.0", "1.2", "0.8"]
})
# 5. 保存项目
result = mcp_client.call_tool("save_draft", {
"draft_id": draft_id
})
print(f"项目已保存: {result['result']['draft_url']}")
高级文本效果
# 多样式彩色文本
mcp_client.call_tool("add_text", {
"text": "彩色文字效果展示",
"draft_id": draft_id,
"start": 2,
"end": 8,
"font_size": 42,
"shadow_enabled": True,
"shadow_color": "#FFFFFF",
"background_alpha": 0.8,
"background_round_radius": 20,
"text_styles": [
{"start": 0, "end": 2, "font_color": "#FF6B6B"},
{"start": 2, "end": 4, "font_color": "#4ECDC4"},
{"start": 4, "end": 6, "font_color": "#45B7D1"}
]
})
3. 下载草稿
调用 save_draft 会在capcut_server.py当前目录下生成一个 dfd_ 开头的文件夹,将其复制到剪映/CapCut 草稿目录,即可在应用中看到生成的草稿。
社区与支持
我们欢迎各种形式的贡献!我们的迭代规则:
- 禁止直接向main提交pr
- 可以向dev分支提交pr
- 每周一从dev合并到main分支,并发版
进群交流
- 反馈问题
- 功能建议
- 最新消息
🤝 合作机会
-
出海视频制作: 想要利用这个API批量制作出海视频吗?我提供免费的咨询服务,帮助你利用这个API制作。相应的,我要将制作的工作流模板放到这个项目中的template目录中开源出来。
-
加入我们: 我们的目标是提供稳定可靠的视频剪辑工具,方便融合AI生成的图片/视频/语音。如果你有兴趣,可以先从将工程里的中文翻译成英文开始!提交pr,我会看到。更深入的,还有MCP剪辑Agent, web剪辑端,云渲染这三个模块代码还没有开源出来。
-
联系方式:
- 微信:sguann
- 抖音:剪映草稿助手
📈 Star History
Made with ❤️ by the CapCutAPI Community



