2025-08-10 16:32:40 +08:00
2025-08-05 12:22:12 +08:00
2025-08-10 15:50:26 +08:00
2025-08-05 12:22:12 +08:00
2025-07-29 08:56:51 +08:00
2025-08-05 12:22:12 +08:00
2025-07-30 16:22:22 +08:00
2025-08-05 16:39:55 +08:00
2025-08-10 14:57:27 +08:00
2025-07-30 16:22:22 +08:00
2025-08-06 18:13:38 +08:00
2025-08-10 15:50:26 +08:00
2025-07-13 16:00:53 +08:00
2025-08-01 08:57:32 +08:00
2025-07-13 16:00:53 +08:00
2025-08-06 18:13:38 +08:00
2025-07-13 15:09:36 +08:00
2025-08-03 17:55:26 +08:00
2025-08-01 16:58:53 +08:00
2025-08-01 16:58:53 +08:00
2025-08-01 16:58:53 +08:00
2025-08-01 16:58:53 +08:00
2025-07-13 15:05:20 +08:00
2025-08-01 16:58:53 +08:00
2025-08-10 16:32:40 +08:00
2025-08-10 14:57:27 +08:00
2025-08-01 16:58:53 +08:00
2025-08-05 12:22:12 +08:00
2025-07-19 17:42:23 +08:00
2025-07-18 11:31:16 +08:00
2025-07-13 15:05:20 +08:00
2025-08-01 16:58:53 +08:00
2025-08-10 15:50:26 +08:00

🎬 CapCutAPI - Open source CapCut API tool.

CapCutAPI Logo

GitHub Stars License Python Version MCP Support

🚀 Open source CapCut API tool with MCP (Model Context Protocol) support

MCP agent

AI Cut

Connect AI generated via CapCutAPI

Airbnb

Horse

Song


🎯 Project Overview

CapCutAPI is a powerful enterprise-grade video editing automation platform built with Python, providing complete CapCut video editing capabilities. Through dual interfaces of HTTP API and MCP protocol, it enables seamless integration with AI assistants and automation tools.

🏆 Core Advantages

🎬 Professional Video Editing

  • Complete CapCut functionality support
  • Multi-track timeline editing
  • Advanced effects and transitions
  • Keyframe animation system

🤖 AI Smart Integration

  • Native MCP protocol support
  • Seamless AI assistant integration
  • Automated workflow processes
  • Batch processing capabilities

🔌 Dual API Interfaces

  • RESTful HTTP API
  • Model Context Protocol
  • Real-time processing response
  • Enterprise-grade stability

🌍 Cross-platform Compatibility

  • CapCut International support
  • JianYing China support
  • Windows/macOS compatible
  • Cloud deployment ready

🎥 Product Showcase

🐎 AI Generated Video Cases

Horse Video

🎵 Music Video Production

Song Video

AI-driven video generation powered by CapCutAPI


🚀 Core Features

📋 Feature Matrix

Feature Module HTTP API MCP Protocol Description
🎬 Draft Management Create, read, modify, save CapCut draft files
🎥 Video Processing Multi-format video import, editing, transitions, effects
🔊 Audio Editing Audio tracks, volume control, audio effects
🖼️ Image Processing Image import, animations, masks, filters
📝 Text Editing Multi-style text, shadows, backgrounds, animations
📄 Subtitle System SRT subtitle import, styling, time sync
Effects Engine Visual effects, filters, transition animations
🎭 Sticker System Sticker assets, position control, animation effects
🎯 Keyframes Property animations, timeline control, easing functions
📊 Media Analysis Video duration detection, format analysis

🛠️ API Interface Overview

📡 HTTP API Endpoints (9 endpoints)

🎬 Draft Management ├── POST /create_draft # Create new draft └── POST /save_draft # Save draft file

🎥 Media Assets ├── POST /add_video # Add video material ├── POST /add_audio # Add audio material └── POST /add_image # Add image material

📝 Text Content ├── POST /add_text # Add text elements └── POST /add_subtitle # Add subtitle files

Effect Enhancement ├── POST /add_effect # Add visual effects └── POST /add_sticker # Add sticker elements

🔧 MCP Tool Set (11 tools)

🎬 Project Management ├── create_draft # Create video project └── save_draft # Save project file

🎥 Media Editing ├── add_video # Video track + transition effects ├── add_audio # Audio track + volume control └── add_image # Image assets + animation effects

📝 Text System ├── add_text # Multi-style text + shadow background └── add_subtitle # SRT subtitles + styling

Advanced Features ├── add_effect # Visual effects engine ├── add_sticker # Sticker animation system ├── add_video_keyframe # Keyframe animations └── get_video_duration # Media information retrieval


🛠️ Quick Start

📋 System Requirements

🐍 Python Environment Python 3.8.20+ (Recommended 3.10+)
🎬 CapCut Application CapCut International or JianYing China
🎵 FFmpeg For media file processing and analysis
💾 Storage Space At least 2GB available space

One-Click Installation

# 1. Clone the project
git clone https://github.com/sun-guannan/CapCutAPI.git
cd CapCutAPI

# 2. Create virtual environment (recommended)
python -m venv venv-capcut
source venv-capcut/bin/activate  # Linux/macOS
# or venv-capcut\Scripts\activate  # Windows

# 3. Install dependencies
pip install -r requirements.txt      # HTTP API basic dependencies
pip install -r requirements-mcp.txt  # MCP protocol support (optional)

# 4. Configuration
cp config.json.example config.json
# Edit config.json as needed

🚀 Start Services

🌐 HTTP API Server

python capcut_server.py

Default port: 9001

🔧 MCP Protocol Server

python mcp_server.py

Supports stdio communication


🔧 MCP Integration Guide

📱 Client Configuration

Create or update mcp_config.json configuration file:

{
  "mcpServers": {
    "capcut-api": {
      "command": "python3",
      "args": ["mcp_server.py"],
      "cwd": "/path/to/CapCutAPI",
      "env": {
        "PYTHONPATH": "/path/to/CapCutAPI",
        "DEBUG": "0"
      }
    }
  }
}

🧪 Connection Testing

# Test MCP connection
python test_mcp_client.py

# Expected output
✅ MCP server started successfully
✅ Retrieved 11 available tools
✅ Draft creation test passed
Feature Description Example
🎨 Advanced Text Styling Multi-color, shadow, background effects shadow_enabled: true
🎬 Keyframe Animation Position, scale, opacity animations property_types: ["scale_x", "alpha"]
🔊 Audio Precision Control Volume, speed, audio effects volume: 0.8, speed: 1.2
📱 Multi-format Support Various video dimensions and formats width: 1080, height: 1920
Real-time Processing Instant draft updates and previews Millisecond response time

💡 Usage Examples

🌐 HTTP API Examples

📹 Adding Video Material
import requests

# Add background video
response = requests.post("http://localhost:9001/add_video", json={
    "video_url": "https://example.com/background.mp4",
    "start": 0,
    "end": 10,
    "width": 1080,
    "height": 1920,
    "volume": 0.8,
    "transition": "fade_in"
})

print(f"Video addition result: {response.json()}")
📝 Creating Styled Text
import requests

# Add title text
response = requests.post("http://localhost:9001/add_text", json={
    "text": "🎬 Welcome to CapCutAPI",
    "start": 0,
    "end": 5,
    "font": "Arial",
    "font_color": "#FFD700",
    "font_size": 48,
    "shadow_enabled": True,
    "background_color": "#000000"
})

print(f"Text addition result: {response.json()}")

🔧 MCP Protocol Examples

🎯 Complete Workflow
# 1. Create new project
draft = mcp_client.call_tool("create_draft", {
    "width": 1080,
    "height": 1920
})
draft_id = draft["result"]["draft_id"]

# 2. Add background video
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. Add title text
mcp_client.call_tool("add_text", {
    "text": "AI-Driven Video Production",
    "draft_id": draft_id,
    "start": 1,
    "end": 6,
    "font_size": 56,
    "shadow_enabled": True,
    "background_color": "#1E1E1E"
})

# 4. Add keyframe animation
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. Save project
result = mcp_client.call_tool("save_draft", {
    "draft_id": draft_id
})
print(f"Project saved: {result['result']['draft_url']}")

Testing with REST Client

You can use the rest_client_test.http file with REST Client IDE plugins for HTTP testing.

Draft Management

Calling save_draft generates a folder starting with dfd_ in the server's current directory. Copy this folder to your CapCut draft directory to access the generated draft in CapCut.


📚 Documentation Center

📖 Document Type 🌍 Language 📄 Link 📝 Description
MCP Complete Guide 🇺🇸 English MCP Documentation Complete MCP server usage guide
MCP User Manual 🇨🇳 Chinese MCP 中文文档 Detailed Chinese usage instructions
API Reference 🇺🇸 English example.py Code examples and best practices
REST Testing 🌐 Universal rest_client_test.http HTTP interface test cases

🌟 Enterprise Features

🔒 Security

  • 🛡️ Input Validation: Strict parameter validation and type checking
  • 🔐 Error Handling: Comprehensive exception catching and error reporting
  • 📊 Logging: Detailed operation logs and debug information
  • 🚫 Resource Limits: Memory and processing time limit protection

Performance Optimization

  • 🚀 Async Processing: Non-blocking concurrent operation support
  • 💾 Memory Management: Smart resource recycling and caching mechanisms
  • 📈 Batch Processing: Efficient batch operation interfaces
  • ⏱️ Response Time: Millisecond-level API response speed

🔧 Scalability

  • 🔌 Plugin Architecture: Modular functionality extension support
  • 🌐 Multi-protocol: HTTP REST and MCP dual protocol support
  • ☁️ Cloud Deployment: Containerization and microservice architecture ready
  • 📊 Monitoring Integration: Complete performance monitoring and metrics collection

🤝 Community & Support

💬 Get Help

📞 Support Channel 🔗 Link 📝 Description
🐛 Bug Reports GitHub Issues Bug reports and feature requests
💡 Feature Suggestions Discussions Community discussions and suggestions
📖 Documentation Feedback Documentation Issues Documentation improvement suggestions
🔧 Technical Support Stack Overflow Technical Q&A

🎯 Contributing Guide

We welcome all forms of contributions!

# 1. Fork the project
git clone https://github.com/your-username/CapCutAPI.git

# 2. Create feature branch
git checkout -b feature/amazing-feature

# 3. Commit changes
git commit -m 'Add amazing feature'

# 4. Push branch
git push origin feature/amazing-feature

# 5. Create Pull Request

📈 Project Statistics

Star History

Star History Chart

📊 Project Metrics

GitHub repo size GitHub code size GitHub issues GitHub pull requests GitHub last commit


📄 License

This project is open source under the Apache 2.0 License. See LICENSE file for details.

Apache License 2.0

Copyright (c) 2025 CapCutAPI Contributors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


🎉 Get Started Now

Experience the power of CapCutAPI today!

Get Started Download Documentation


🆕 New Feature: Now with MCP protocol support for seamless AI assistant integration! Try the MCP server for advanced video editing automation.

Made with ❤️ by the CapCutAPI Community

Description
Open CapCut API.
Readme Apache-2.0 1.4 MiB
Languages
Python 100%