How sun-guannan/vectcutapi works
VectCutAPI exposes video-editing workflows through an HTTP API and an MCP interface. An agent or API client creates a draft, adds timeline media and effects, then saves or previews the project; the MCP tools forward operations to the HTTP API. The repository also includes draft serialization/profile support, project download and preview capabilities, and Jianying/CapCut desktop automation. README claims and filenames establish several feature areas, but unsampled handlers limit confidence in their internal wiring.
Main entry points: capcut_server.py HTTP API · script_file.py Draft serialization · save_draft_impl.py Save draft · index.ts MCP server
Components 24
Client interfaces
- HTTP API
capcut_server.py - MCP server
mcp-server/src/index.ts - MCP tools
mcp-server/src/tools/index.ts - API client service
mcp-server/src/services/api-client.ts
Editing operations
- Draft creation
create_draft.py - Video tracks
add_video_track.py - Audio tracks
add_audio_track.py - Images
add_image_impl.py - Text and titles
add_text_impl.py - Subtitles
add_subtitle_impl.py - Stickers
add_sticker_impl.py - Effects
add_effect_impl.py - Keyframe animation
add_video_keyframe_impl.py - Media analysis
get_duration_impl.py
Draft engine
- Draft serialization
pyJianYingDraft/script_file.py - Draft profiles
draft_profiles.py - Save draft
save_draft_impl.py
Preview and delivery
- Web preview
web_preview.py - Draft download
downloader.py - Object storage
oss.py - Desktop automation
pyJianYingDraft/jianying_controller.py
Other components
- Editing agent
- API client
- CapCut / Jianying
Connections 33
- Editing agent → MCP server: connects to
- MCP server → MCP tools: registers
- MCP tools → API client service: calls
- API client service → HTTP API: HTTP requests
- API client → HTTP API: sends requests
- HTTP API → Draft creation: dispatches
- HTTP API → Video tracks: dispatches
- HTTP API → Audio tracks: dispatches
- HTTP API → Images: dispatches
- HTTP API → Text and titles: dispatches
- HTTP API → Subtitles: dispatches
- HTTP API → Stickers: dispatches
- HTTP API → Effects: dispatches
- HTTP API → Keyframe animation: dispatches
- HTTP API → Media analysis: dispatches
- Draft creation → Draft serialization: builds draft
- Video tracks → Draft serialization: updates timeline
- Audio tracks → Draft serialization: updates timeline
- Images → Draft serialization: adds material
- Text and titles → Draft serialization: adds material
- Subtitles → Draft serialization: adds material
- Stickers → Draft serialization: adds material
- Effects → Draft serialization: updates timeline
- Keyframe animation → Draft serialization: animates clips
- HTTP API → Save draft: dispatches
- Save draft → Draft serialization: serializes
- Save draft → Draft profiles: selects format
- Web preview → Draft serialization: reads draft data
- HTTP API → Web preview: serves preview
- HTTP API → Draft download: dispatches downloads
- Save draft → Object storage: uploads optionally
- Desktop automation → CapCut / Jianying: automates export
- Draft download → API client: returns draft