2025-07-11 18:02:44 +08:00
|
|
|
# CapCutAPI
|
|
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
Open source CapCut API tool.
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:49:46 +08:00
|
|
|
[中文说明](https://github.com/sun-guannan/CapCutAPI/blob/main/README-zh.md)
|
|
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
## Project Features
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
This project is a Python-based CapCut processing tool that offers the following core functionalities:
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
### Core Features
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
- **Draft File Management**: Create, read, modify, and save CapCut draft files
|
|
|
|
|
- **Material Processing**: Support adding and editing various materials such as videos, audios, images, texts, stickers, etc.
|
|
|
|
|
- **Effect Application**: Support adding multiple effects like transitions, filters, masks, animations, etc.
|
|
|
|
|
- **API Service**: Provide HTTP API interfaces to support remote calls and automated processing
|
|
|
|
|
- **AI Integration**: Integrate multiple AI services to support intelligent generation of subtitles, texts, and images
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
### Main API Interfaces
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
- `/create_draft`: Create a draft
|
|
|
|
|
- `/add_video`: Add video material to the draft
|
|
|
|
|
- `/add_audio`: Add audio material to the draft
|
|
|
|
|
- `/add_image`: Add image material to the draft
|
|
|
|
|
- `/add_text`: Add text material to the draft
|
|
|
|
|
- `/add_subtitle`: Add subtitles to the draft
|
|
|
|
|
- `/add_effect`: Add effects to materials
|
|
|
|
|
- `/add_sticker`: Add stickers to the draft
|
|
|
|
|
- `/save_draft`: Save the draft file
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
## Configuration Instructions
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
### Configuration File
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
The project supports custom settings through a configuration file. To use the configuration file:
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
1. Copy `config.json.example` to `config.json`
|
|
|
|
|
2. Modify the configuration items as needed
|
2025-07-11 18:02:44 +08:00
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
cp config.json.example config.json
|
|
|
|
|
```
|
|
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
### Environment Configuration
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
#### Python Environment
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
This project requires Python version 3.8.20. Please ensure that the correct version of Python is installed on your system.
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
#### Install Dependencies
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
Install the required dependency packages for the project:
|
2025-07-11 18:02:44 +08:00
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
pip install -r requirements.txt
|
|
|
|
|
```
|
|
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
### Run the Server
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
After completing the configuration and environment setup, execute the following command to start the server:
|
2025-07-11 18:02:44 +08:00
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
python capcut_server.py
|
|
|
|
|
```
|
|
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
Once the server is started, you can access the related functions through the API interfaces.
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
## Usage Examples
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
### Adding a Video
|
2025-07-11 18:02:44 +08:00
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
import requests
|
|
|
|
|
|
|
|
|
|
response = requests.post("http://localhost:9000/add_video", json={
|
|
|
|
|
"video_url": "http://example.com/video.mp4",
|
|
|
|
|
"start": 0,
|
|
|
|
|
"end": 10,
|
|
|
|
|
"width": 1080,
|
|
|
|
|
"height": 1920
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
print(response.json())
|
|
|
|
|
```
|
|
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
### Adding Text
|
2025-07-11 18:02:44 +08:00
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
import requests
|
|
|
|
|
|
|
|
|
|
response = requests.post("http://localhost:9000/add_text", json={
|
2025-07-12 09:47:42 +08:00
|
|
|
"text": "Hello, World!",
|
2025-07-11 18:02:44 +08:00
|
|
|
"start": 0,
|
|
|
|
|
"end": 3,
|
2025-07-12 09:47:42 +08:00
|
|
|
"font": "Source Han Sans",
|
2025-07-11 18:02:44 +08:00
|
|
|
"font_color": "#FF0000",
|
|
|
|
|
"font_size": 30.0
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
print(response.json())
|
|
|
|
|
```
|
|
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
## Project Features
|
2025-07-11 18:02:44 +08:00
|
|
|
|
2025-07-12 09:47:42 +08:00
|
|
|
- **Cross-platform Support**: Supports both CapCut China version and CapCut International version
|
|
|
|
|
- **Automated Processing**: Supports batch processing and automated workflows
|
|
|
|
|
- **Rich APIs**: Provides comprehensive API interfaces for easy integration into other systems
|
|
|
|
|
- **Flexible Configuration**: Achieve flexible function customization through configuration files
|
|
|
|
|
- **AI Enhancement**: Integrate multiple AI services to improve video production efficiency
|