Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CAPCUT_API_URLNoThe URL of the VectCutAPI backend. Override if you changed the port.http://127.0.0.1:9001

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
capcut_create_draftA

Create a new CapCut/Jianying video draft (project). This must be called first — every other capcut_* tool needs the draft_id it returns.

Args:

  • width (number): Canvas width in pixels. Default 1080.

  • height (number): Canvas height in pixels. Default 1920 (portrait). Use 1920x1080 for landscape.

Returns: JSON including result.draft_id (string) — pass this to all subsequent add_*/save_draft calls.

Example: Use when starting any new video project, e.g. "make a 9:16 short" -> width=1080, height=1920.

capcut_add_textA

Add a text element (title, caption, lower-third, etc.) to an existing draft's timeline.

Args:

  • draft_id (string, required): From capcut_create_draft.

  • text (string, required): The text content.

  • start/end (number, seconds): Time range the text is visible.

  • font, font_size, font_color: Basic styling.

  • shadow_enabled/shadow_color/shadow_alpha: Drop shadow.

  • background_color/background_alpha/background_round_radius: Background panel behind the text.

  • text_styles: Array of {start, end, font_color} for multi-color segments within the same text block.

  • extra_params: Any additional VectCutAPI field not modeled above.

Returns: JSON confirming the text element was added, including which optional features were used.

Don't use when: you need burned-in subtitles from an SRT file — use capcut_add_subtitle instead.

capcut_add_videoA

Add a video clip to an existing draft's timeline (e.g. as background footage or B-roll).

Args:

  • draft_id (string, required): From capcut_create_draft.

  • video_url (string, required): URL or local path (as supported by the backend) of the source video.

  • start/end (number, seconds): Placement on the timeline.

  • volume (number): Playback volume multiplier, 1.0 = original.

  • transition (string): Named transition, e.g. 'fade_in'.

  • transform_x/transform_y, scale_x/scale_y: Position and scale.

  • extra_params: Any additional VectCutAPI field not modeled above.

Returns: JSON confirming the video clip was added to the timeline.

capcut_add_audioA

Add an audio clip (music, voiceover, sound effect) to an existing draft's timeline.

Args:

  • draft_id (string, required): From capcut_create_draft.

  • audio_url (string, required): URL or local path of the source audio.

  • start (number, seconds): Placement on the timeline. end is optional (defaults to full clip length).

  • volume (number): Playback volume multiplier, 1.0 = original.

  • speed (number): Playback speed multiplier, 1.0 = original.

  • effects (string[]): Named audio effects, e.g. ['echo', 'denoise'].

  • extra_params: Any additional VectCutAPI field not modeled above.

Returns: JSON confirming the audio clip was added to the timeline.

capcut_add_imageB

Add a static image (photo, graphic, generated art) to an existing draft's timeline.

Args:

  • draft_id (string, required): From capcut_create_draft.

  • image_url (string, required): URL or local path of the source image.

  • start/end (number, seconds): Placement on the timeline.

  • transform_x/transform_y, scale_x/scale_y: Position and scale.

  • animation (string): Named entrance/loop animation, e.g. 'zoom_in'.

  • transition (string): Named transition, e.g. 'fade_in'.

  • extra_params: Any additional VectCutAPI field not modeled above.

Returns: JSON confirming the image asset was added to the timeline.

capcut_add_subtitleA

Import an SRT subtitle file into an existing draft, applying consistent styling and timing.

Args:

  • draft_id (string, required): From capcut_create_draft.

  • srt_path (string, required): Path or URL to the .srt file.

  • font_style (string): Named font style preset.

  • position (string): Named position preset, e.g. 'bottom_center'.

  • extra_params: Any additional VectCutAPI field not modeled above.

Returns: JSON confirming the subtitle track was added.

Don't use when: you only need a single one-off text overlay — use capcut_add_text instead.

capcut_add_effectB

Apply a visual effect or filter to an existing draft over a given time range.

Args:

  • draft_id (string, required): From capcut_create_draft.

  • effect_type (string, required): Effect/filter identifier.

  • start (number, seconds), end or duration: Time range the effect is active.

  • params (number[]): Effect-specific numeric parameters, in the order VectCutAPI's effect definition expects (varies by effect_type); use null for an item to fall back to its default.

  • extra_params: Any additional VectCutAPI field not modeled above.

Returns: JSON confirming the effect was added.

capcut_add_stickerA

Place a sticker asset on an existing draft's timeline.

Args:

  • draft_id (string, required): From capcut_create_draft.

  • resource_id (string, required): ID of the sticker resource.

  • start (number, seconds), end (optional): Time range the sticker is visible.

  • position_x/position_y, scale, rotation: Placement and transform.

  • extra_params: Any additional VectCutAPI field not modeled above.

Returns: JSON confirming the sticker was added.

capcut_add_video_keyframeA

Add property keyframes (scale, position, rotation, opacity, ...) to an existing track for animation.

Args:

  • draft_id (string, required): From capcut_create_draft.

  • track_name (string, required): Name of the track to animate.

  • property_types (string[], required): Properties to animate, e.g. ['scale_x', 'scale_y', 'alpha'].

  • times (number[], required): Keyframe timestamps in seconds — same length as values.

  • values (string[], required): Keyframe values matching each timestamp.

  • extra_params: Any additional VectCutAPI field not modeled above.

Returns: JSON confirming the keyframes were added.

Example: animate a zoom-in — property_types=['scale_x','scale_y'], times=[0,2], values=['1.0','1.5'].

capcut_save_draftA

Save/finalize a draft so it can be opened in CapCut/Jianying. Call this last, after adding all desired tracks/effects.

Args:

  • draft_id (string, required): From capcut_create_draft.

Returns: JSON including result.draft_url and/or the local draft folder path. Per VectCutAPI docs, saving generates a folder starting with 'dfd_' next to capcut_server.py — copy it into your CapCut/Jianying drafts directory to open it in the app.

Note: safe to call multiple times on the same draft_id (re-saves with current state).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/goransmoljanovic015-cell/capcut-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server