How hommy-master/capcut-mate works
CapCut Mate is a FastAPI service for automating Jianying/CapCut draft editing and cloud video export, accompanied by an Electron desktop client for downloading and managing draft files. The primary API workflow is client request → validation/routing → draft or material editing → save or asynchronous rendering → result/status. README capabilities are represented at subsystem level; sampled source confirms application setup, the Electron IPC handlers, and parts of the render-task and draft-control layers, but does not expose most route-to-service wiring.
Main entry points: v1.py API routes · video_task_manager.py Render task manager · service Draft management · pyJianYingDraft Draft engine
Components 21
API surface
- FastAPI app
main.py - API routes
src/router/v1.py - Request schemas
src/schemas
Draft editing
- Draft management
src/service - Material addition
src/service - Effects and animation
src/service - Media queries
src/service - Draft engine
src/pyJianYingDraft - Draft write locks
src/utils/draft_lock_manager.py
Video export
- Render submission
src/service/gen_video.py - Render task manager
src/utils/video_task_manager.py - Render status API
src/service/gen_video.py - Draft retrieval
src/utils/draft_downloader.py - Object storage
src/utils
Desktop client
- Desktop interface
desktop-client/web/src/App.jsx - Electron service
desktop-client/web/src/services/electronService.js - IPC handlers
desktop-client/nodeapi/ipcHandlers.js - Draft downloads
desktop-client/nodeapi/download.js
External systems
- Jianying desktop
- Cloud storage
Other components
- API client
Connections 21
- API client → FastAPI app: sends requests
- FastAPI app → API routes: mounts routes
- API routes → Request schemas: validates input
- API routes → Draft management: dispatches draft
- API routes → Material addition: dispatches materials
- API routes → Effects and animation: dispatches effects
- API routes → Media queries: dispatches queries
- Draft management → Draft engine: edits drafts
- Material addition → Draft engine: adds materials
- Effects and animation → Draft engine: applies effects
- Draft management → Draft write locks: coordinates writes
- API routes → Render submission: submits export
- Render submission → Render task manager: queues task
- API routes → Render status API: queries status
- Render task manager → Draft retrieval: retrieves draft
- Render task manager → Jianying desktop: drives export
- Render task manager → Object storage: stores output
- Object storage → Cloud storage: uploads files
- Desktop interface → Electron service: requests actions
- Electron service → IPC handlers: invokes handlers
- IPC handlers → Draft downloads: dispatches download