Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SAVE_PATHYes数据存储路径 - 存储草稿的操作数据
OUTPUT_PATHYes导出路径 - 生成的剪映草稿文件存放位置

Tools

Functions exposed to the LLM to take actions

NameDescription
rules

制作视频的规范,这一步必须执行,方便了解如何规范的使用工具制作视频

create_draft

创建草稿

Args: draft_name: str 草稿名称 width: int,视频宽度,默认1920 height: int,视频高度,默认1080 fps: int,帧率,默认30

export_draft

导出草稿为剪映项目,导出到本地剪映的草稿路径下

Args: draft_id: 草稿ID,必须是已存在的草稿 jianying_draft_path: 导出路径

create_track

创建轨道 Args: draft_id: 草稿ID track_type: 轨道类型,支持 "video", "audio", "text", 一个轨道可以有多个素材,如video轨道想添加两个视频,使用同一个track_id就可以 track_name: 轨道名称,同类型轨道名不能相同

add_video_segment

添加视频片段到指定轨道,须注意target_timerange和source_timerange的使用规则

Args: track_id: 轨道ID,通过create_track获得 material: 视频文件路径,包括文本文件路径或者url target_start_end: 片段在轨道上的目标时间范围,格式如 "1s-4.2s",表示在轨道上从1s开始,到4.2s结束,target_start_end参数描述的是轨道上的时间范围,同一轨道中不可有重复时间段,即0s-4.2s和4s-5s,第一段素材最后0.2s与第二段素材重叠了,只能是0s-4.2s和4.ss-5s source_start_end: 从源视频文件中截取的时间范围,格式如 "1s-4.2s",表示从源视频的1s开始截取,到4.2s结束(可选),source_start_end参数描述的是素材本身取的时长,默认取全部时长,一般情况下不设置,除非用户说明,若素材时长为5s,用户需要取其中1s-5s的内容,才配置 speed: (float, optional): 播放速度, 默认为1.0,此项与source_timerange同时指定时, 将覆盖target_timerange中的时长 volume: (float, optional): 音量, 默认为1.0 change_pitch: (bool, optional): 是否跟随变速改变音调, 默认为否 clip_settings: (Dict, optional)图像调节设置字典(可选),哪些需要修改就填哪些字段 默认 clip_settings = { "alpha": 1.0, # 图像不透明度, 0-1. 默认为1.0. "flip_horizontal": False, # 是否水平翻转. 默认为False. "flip_vertical": False, # 是否垂直翻转. 默认为False. "rotation": 0.0, # 顺时针旋转的角度, 可正可负. 默认为0.0. "scale_x": 1.0, # 水平缩放比例. 默认为1.0. "scale_y": 1.0, # 垂直缩放比例. 默认为1.0. "transform_x": 0.0, # 水平位移, 单位为半个画布宽. 默认为0.0. "transform_y": 0.0 # 垂直位移, 单位为半个画布高. 默认为0.0. }

Returns: ToolResponse: 包含操作结果的响应,格式为 {"success": bool, "message": str, "data": dict, "video_segment_id": str}

Examples: # 基本用法 add_video_segment("track_id", "/path/to/video.mp4", "0s-5s")

# 指定源时间范围 add_video_segment("track_id", "/path/to/video.mp4", "0s-3s", source_timerange="10s-3s") # 设置播放速度和音量 add_video_segment("track_id", "/path/to/video.mp4", "0s-5s", speed=2.0, volume=0.8) # 设置图像调节 add_video_segment("track_id", "/path/to/video.mp4", "0s-5s", clip_settings={"alpha": 0.8, "scale_x": 1.2, "rotation": 45})
add_video_animation

为视频片段添加动画效果

Args: video_segment_id: 视频片段ID,通过add_video_segment获得 animation_type: 动画类型,支持 "IntroType", "OutroType", "GroupAnimationType" animation_name: 动画名称,如 "上下抖动", "向上滑动" 等,可以使用find_effects_by_type工具,资源类型选择IntroType、OutroType、GroupAnimationType,从而获取动画类型有哪些 duration: 动画持续时间,格式如 "1s"(可选)

add_video_transition

为视频片段添加转场效果,注意两视频间添加转场应该在前一个添加转场,即video_segment_id使用前一个视频

Args: video_segment_id: 视频片段ID,通过add_video_segment获得 transition_type: 转场类型名称,可以使用find_effects_by_type工具,资源类型选择TransitionType,从而获取转场类型有哪些 duration: 转场持续时间,格式如 "1s"(可选)

add_video_keyframe

为视频片段添加关键帧

Args: video_segment_id: 视频片段ID,通过add_video_segment获得 property_name: 属性名称,可选参数如下: position_x:右移为正, 此处的数值应该为剪映中显示的值 / 草稿宽度, 也即单位是半个画布宽 position_y:上移为正, 此处的数值应该为剪映中显示的值 / 草稿高度, 也即单位是半个画布高 rotation:顺时针旋转的角度 scale_x:单独控制X轴缩放比例(1.0为不缩放), 与uniform_scale互斥 scale_y:单独控制Y轴缩放比例(1.0为不缩放), 与uniform_scale互斥 uniform_scale:同时控制X轴及Y轴缩放比例(1.0为不缩放), 与scale_xscale_y互斥 alpha:不透明度, 1.0为完全不透明, 仅对VideoSegment有效 saturation:饱和度, 0.0为原始饱和度, 范围为-1.0到1.0 contrast:对比度, 0.0为原始对比度, 范围为-1.0到1.0 brightness:亮度, 0.0为原始亮度, 范围为-1.0到1.0 volume:音量, 1.0为原始音量 time_offset: 时间偏移量,格式如 "0.5s", "1s" 等 value: 属性值 Examples: # 在0.5秒时设置水平位置 add_video_keyframe("video_segment_id", "position_x", "0.5s", 0.2)

# 在1秒时设置旋转角度 add_video_keyframe("video_segment_id", "rotation", "1s", 45.0) # 在2秒时设置透明度 add_video_keyframe("video_segment_id", "alpha", "2s", 0.5)
add_video_filter

为视频片段添加滤镜效果

Args: video_segment_id: 视频片段ID,通过add_video_segment获得 filter_type: 滤镜类型名称,可以使用find_effects_by_type工具,资源类型选择filter_type,从而获取滤镜类型有哪些 intensity: 滤镜强度,范围0-100,默认100.0

add_video_background_filling

为视频片段添加背景填充效果

Args: video_segment_id: 视频片段ID,通过add_video_segment获得 fill_type: 填充类型,"blur"表示模糊,"color"表示颜色 blur: 模糊程度,范围0.0-1.0,仅在fill_type为"blur"时有效,默认0.0625 剪映中的四档模糊数值分别为0.0625, 0.375, 0.75和1.0 color: 填充颜色,格式为'#RRGGBBAA',仅在fill_type为"color"时有效,默认"#00000000"

add_video_mask

为视频片段添加蒙版效果

Args: video_segment_id: 视频片段ID,通过add_video_segment获得 mask_type: 蒙版类型名称,可以使用find_effects_by_type工具,资源类型选择mask_type,从而获取蒙版类型有哪些 center_x: 蒙版中心点X坐标(以素材的像素为单位),默认0.0(素材中心) center_y: 蒙版中心点Y坐标(以素材的像素为单位),默认0.0(素材中心) size: 蒙版的主要尺寸,以占素材高度的比例表示,默认0.5 rotation: 蒙版顺时针旋转的角度,默认0.0 feather: 蒙版的羽化参数,取值范围0~100,默认0.0 invert: 是否反转蒙版,默认False rect_width: 矩形蒙版的宽度,仅在蒙版类型为矩形时有效,以占素材宽度的比例表示 round_corner: 矩形蒙版的圆角参数,仅在蒙版类型为矩形时有效,取值范围0~100

add_video_effect

为视频片段添加特效

Args: video_segment_id: 视频片段ID,通过add_video_segment获得 effect_type: 特效类型名称,可以使用find_effects_by_type工具,资源类型选择VIDEO_SCENE、VIDEO_CHARACTER,从而获取特效类型有哪些 params: 特效参数列表(可选),参数范围0-100,具体参数数量和含义取决于特效类型

add_text_segment

添加文本片段到指定轨道

Args: track_id: 轨道ID,通过create_track获得 text: 文本内容 target_start_end: 片段在轨道上的目标时间范围,格式如 "1s-4.2s",表示在轨道上从1s开始,到4.2s结束 font: 字体类型名称(可选) style: 字体样式字典(可选),哪些需要修改就填哪些字段 默认style = { "size": 6.0,# 字体大小, 默认为6.0 "bold": False,# 是否加粗, 默认为否 "italic": False,# 是否斜体, 默认为否 "underline": False,# 是否加下划线, 默认为否 "color": (1.0, 1.0, 1.0), # 字体颜色, RGB三元组, 取值范围为[0, 1], 默认为白色 "alpha": 1.0,# 字体不透明度, 取值范围[0, 1], 默认不透明 "align": 0, # 对齐方式, 0: 左对齐, 1: 居中, 2: 右对齐, 默 认为左对齐 "vertical": False,#是否为竖排文本, 默认为否 "letter_spacing": 0,# 字符间距, 定义与剪映中一致, 默认为0 "line_spacing": 0,# 行间距, 定义与剪映中一致, 默认为0 "auto_wrapping": False,# 是否自动换行, 默认关闭 "max_line_width": 0.82 # 每行最大行宽占屏幕宽度比例, 取值范围为[0, 1], 默认为0.82 } clip_settings: 图像调节设置字典(可选),哪些需要修改就填哪些字段 默认 clip_settings = { "alpha": 1.0, # 图像不透明度, 0-1. 默认为1.0. "flip_horizontal": False, # 是否水平翻转. 默认为False. "flip_vertical": False, # 是否垂直翻转. 默认为False. "rotation": 0.0, # 顺时针旋转的角度, 可正可负. 默认为0.0. "scale_x": 1.0, # 水平缩放比例. 默认为1.0. "scale_y": 1.0, # 垂直缩放比例. 默认为1.0. "transform_x": 0.0, # 水平位移, 单位为半个画布宽. 默认为0.0. "transform_y": 0.0 # 垂直位移, 单位为半个画布高. 默认为0.0.但强烈建议修改为-0.8(这样字幕是在正下方,不影响视频观感) } border: 文本描边参数字典(可选),哪些需要修改就填哪些字段 stroke_style = { "alpha": 1.0, # 描边不透明度, 取值范围[0, 1], 默认为1.0 "color": (0.0, 0.0, 0.0), # 描边颜色, RGB三元组, 取值范围为[0, 1], 默认为黑色 "width": 40.0 # 描边宽度, 与剪映中一致, 取值范围为[0, 100], 默认为40.0 } background: 文本背景参数字典(可选),哪些需要修改就填哪些字段 默认 background = { "color": "#000000", # 背景颜色, 格式为'#RRGGBB' (默认为黑色) "style": 1, # 背景样式, 1和2分别对应剪映中的两种样式, 默认为1 "alpha": 1.0, # 背景不透明度, 与剪映中一致, 取值范围[0, 1], 默认为1.0 "round_radius": 0.0, # 背景圆角半径, 与剪映中一致, 取值范围[0, 1], 默认为0.0 "height": 0. 14, # 背景高度, 与剪映中一致, 取值范围为[0, 1], 默认为0.14 "width": 0.14, # 背景宽度, 与剪映中一致, 取值范围为[0, 1], 默认为0.14 "horizontal_offset": 0.5, # 背景水平偏移, 与剪映中一致, 取值范围为[0, 1], 默认为0.5 "vertical_offset": 0.5 # 背景竖直偏移, 与剪映中一致, 取值范围为[0, 1], 默认为0.5 }

Examples: # 基础文本 add_text_segment("track_id", "Hello World", "0s-5s")

# 带样式的文本 add_text_segment("track_id", "标题文本", "0s-3s", style={"size": 12.0, "bold": True, "color": (1.0, 0.0, 0.0)}) # 带描边的文本 add_text_segment("track_id", "描边文本", "2s-7s", border={"width": 20.0, "color": (0.0, 0.0, 0.0)}) # 带背景的文本 add_text_segment("track_id", "背景文本", "5s-10s", background={"color": "#FF0000", "alpha": 0.8})
add_text_animation

为文本片段添加动画效果

Args: text_segment_id: 文本片段ID,通过add_text_segment获得 animation_type: 动画类型,支持以下类型: - "TextIntro": 入场动画 - "TextOutro": 出场动画 - "TextLoopAnim": 循环动画 animation_name: 动画名称,如 "复古打字机", "弹簧", "色差故障", "淡入", "淡出" 等,可以使用find_effects_by_type工具,资源类型选择TextIntro、TextOutro、TextLoopAnim,从而获取动画类型有哪些 duration: 动画持续时间(可选),格式如 "1s", "500ms"

add_audio_segment

添加音频片段到指定轨道,须注意 target_start_end和 source_start_end 的使用规则

Args: track_id: 轨道ID,通过create_track获得 material: 音频文件路径,支持本地文件路径或URL target_start_end: 片段在轨道上的目标时间范围,格式如 "0s-4.2s",表示在轨道上从0s开始,持续4.2s,target_start_end参数描述的是轨道上的时间范围,同一轨道中不可有重复时间段,即0s-4.2s和4s-5s,第一段素材最后0.2s与第二段素材重叠了,只能是0s-4.2s和4.ss-5s source_start_end: 从源音频文件中截取的时间范围,格式如 "1s-4.2s",表示从源音频的1s开始截取,到4.2s结束(可选),source_start_end参数描述的是素材本身取的时长,默认取全部时长,一般情况下不设置,除非用户说明,若素材时长为5s,用户需要取其中1s-5s的内容,才配置 speed: 播放速度,默认为1.0。此项与source_timerange同时指定时,将覆盖target_timerange中的时长(可选) volume: 音量,默认为1.0 change_pitch: 是否跟随变速改变音调,默认为False

add_audio_effect

为音频片段添加特效

Args: audio_segment_id: 音频片段ID,通过add_audio_segment获得 effect_type: 特效类型,支持以下类型: - "AudioSceneEffectType": 场景音效(如雨声、风声等) - "ToneEffectType": 音调特效(如机器人、电音等) - "SpeechToSongType": 语音转歌声特效(如Lofi、流行等) effect_name: 特效名称,如 "雨声", "机器人", "Lofi", "电音", "回声" 等,可以使用find_effects_by_type工具,资源类型选择AudioSceneEffectType、ToneEffectType、SpeechToSongType,从而获取特效类型有哪些 params: 特效参数列表(可选),参数范围0-100,具体参数数量和含义取决于特效类型,一般不做修改

add_audio_fade

为音频片段添加淡入淡出效果

Args: audio_segment_id: 音频片段ID,通过add_audio_segment获得 in_duration: 音频淡入时长,格式如 "1s", "500ms", "0.5s" out_duration: 音频淡出时长,格式如 "1s", "500ms", "0.5s"

add_audio_keyframe

为音频片段添加音量关键帧

Args: audio_segment_id: 音频片段ID,通过add_audio_segment获得 time_offset: 关键帧的时间偏移量,格式如 "0s", "1.5s", "500ms" volume: 音量在time_offset处的值,范围通常0.0-1.0,也可以大于1.0实现增益效果

find_effects_by_type

根据类型查找剪映特效资源

Args: effect_type: 特效类型,支持以下类型: - "VIDEO_SCENE": 视频画面特效 - "ToneEffectType": 音频音色特效 - "AudioSceneEffectType": 音频场景特效 - "filter_type": 滤镜特效 - "SpeechToSongType": 语音转歌曲特效 - "mask_type": 蒙版特效 - "TransitionType": 转场特效 - "Font": 字体 - "TextIntro": 文字入场动画 - "TextOutro": 文字出场动画 - "TextLoopAnim": 文字循环动画 - "GroupAnimationType": 组合动画 - "VIDEO_CHARACTER": 视频人物特效 - "IntroType": 视频/图片入场动画 - "OutroType": 视频/图片出场动画 is_vip: 是否只获取VIP资源,None表示获取所有 limit: 返回数量限制,None表示返回全部 keyword: 模糊匹配关键词,用于搜索特效名称

parse_media_info

解析媒体文件信息

Args: media_path: 媒体文件路径或URL,支持本地文件和网络URL,不论任何类型的文件都可以,视频可返回时长、分辨率,图片可返回尺寸

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/hey-jian-wei/jianying-mcp'

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