Skip to content

Compact Contract ​

Language Switch ​

中文版 | English

Minimal contract for function calling. See each API page for full fields. All timestamps are microseconds.

Base URL: https://capcut-mate.jcaigc.cn

Full path = Base URL + /openapi/capcut-mate/v1/{name}

Core endpoints ​

EndpointMethodRequiredJSON-string fieldsReturn fields to keep
create_draftPOSTnone (default 1920x1080)nonedraft_url
add_videosPOSTdraft_url, video_infosvideo_infosdraft_url, segment_ids
add_audiosPOSTdraft_url, audio_infosaudio_infosdraft_url
add_imagesPOSTdraft_url, image_infosimage_infosdraft_url, segment_ids
add_captionsPOSTdraft_url, captionscaptionsdraft_url
gen_videoPOSTdraft_url; hosted export should send apiKeynonenone (poll status)
gen_video_statusPOSTdraft_urlnonestatus, video_url

Minimal bodies ​

create_draft ​

json
{ "width": 1080, "height": 1920 }

Keep draft_url from the response.

add_videos ​

json
{
  "draft_url": "https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/get_draft?draft_id=REPLACE",
  "video_infos": "[{\"video_url\":\"https://example.com/clip.mp4\",\"start\":0,\"end\":5000000}]"
}

Common video_infos item fields: required video_url (http/https), start, end; optional duration, volume, transition, transition_duration; mask is accepted but not applied by add_videos — mask a segment with add_masks instead.

add_audios ​

json
{
  "draft_url": "YOUR_DRAFT_URL",
  "audio_infos": "[{\"audio_url\":\"https://example.com/bgm.mp3\",\"start\":0,\"end\":10000000}]"
}

add_images ​

json
{
  "draft_url": "YOUR_DRAFT_URL",
  "image_infos": "[{\"image_url\":\"https://example.com/cover.png\",\"start\":0,\"end\":5000000}]"
}

add_captions ​

json
{
  "draft_url": "YOUR_DRAFT_URL",
  "captions": "[{\"start\":0,\"end\":5000000,\"text\":\"Hello CapCut\"}]",
  "font_size": 15,
  "text_color": "#ffffff"
}

gen_video ​

json
{
  "draft_url": "YOUR_DRAFT_URL",
  "apiKey": "123e4567-e89b-12d3-a456-426614174000"
}

gen_video_status ​

json
{ "draft_url": "YOUR_DRAFT_URL" }

status: pending | processing | completed | failed. Read video_url only when completed.

Optional write APIs ​

EndpointRequiredNotes
add_effectsdraft_url, effect_infoseffect_infos is a JSON string
add_filtersdraft_url, filter_infosfilter_infos is a JSON string
add_keyframesdraft_url, keyframeskeyframes is a JSON string
add_masksdraft_url, segment_idsneeds an existing video/image segment; name defaults to 线性
add_stickerdraft_url, sticker_id, start, endsticker_id from search_sticker
save_draftdraft_urlusually optional; write APIs persist