Skip to main content
Glama

JianYing MCP

by hey-jian-wei
text_service.py5.46 kB
# -*- coding: utf-8 -*- """ Author: jian wei File Name: text_service.py """ from typing import Optional, Dict, Any from jianyingdraft.jianying.text import TextSegment from jianyingdraft.utils.response import ToolResponse def add_text_segment_service( draft_id: str, text: str, timerange: str, font: Optional[str] = None, style: Optional[Dict[str, Any]] = None, clip_settings: Optional[Dict[str, Any]] = None, border: Optional[Dict[str, Any]] = None, background: Optional[Dict[str, Any]] = None, track_name: Optional[str] = None ) -> ToolResponse: """ 文本片段添加服务 - 创建文本片段 Args: draft_id: 草稿ID text: 文本内容 timerange: 时间范围,格式如 "0s-5s" font: 字体类型名称(可选) style: 字体样式字典(可选) clip_settings: 图像调节设置字典(可选) border: 文本描边参数字典(可选) background: 文本背景参数字典(可选) track_name: 指定的轨道名称(可选) Returns: ToolResponse: 包含操作结果的响应对象 """ try: # 创建TextSegment实例 text_segment = TextSegment(draft_id, track_name=track_name) # 调用文本片段添加方法 result_data = text_segment.add_text_segment( text=text, timerange=timerange, font=font, style=style, clip_settings=clip_settings, border=border, background=background, track_name=track_name ) # 构建返回数据 response_data = { "text_segment_id": text_segment.text_segment_id, "draft_id": draft_id, "text": text, "timerange": timerange, "add_text_segment": result_data } # 添加可选参数到返回数据 if font: response_data["font"] = font if style: response_data["style"] = style if clip_settings: response_data["clip_settings"] = clip_settings if border: response_data["border"] = border if background: response_data["background"] = background if track_name: response_data["track_name"] = track_name return ToolResponse( success=True, message=f"文本片段添加成功: {text[:20]}{'...' if len(text) > 20 else ''}", data=response_data ) except ValueError as e: # 处理参数错误 return ToolResponse( success=False, message=f"参数错误: {str(e)}" ) except NameError as e: # 处理轨道不存在错误 return ToolResponse( success=False, message=f"轨道错误: {str(e)}" ) except Exception as e: # 处理其他未预期的错误 return ToolResponse( success=False, message=f"文本片段添加失败: {str(e)}" ) def add_text_animation_service( draft_id: str, text_segment_id: str, animation_type: str, animation_name: str, duration: Optional[str] = None, track_name: Optional[str] = None ) -> ToolResponse: """ 文本动画添加服务 - 为文本片段添加动画效果 Args: draft_id: 草稿ID text_segment_id: 文本片段ID animation_type: 动画类型,"TextIntro"、"TextOutro"、"TextLoopAnim" animation_name: 动画名称,如 "复古打字机"、"弹簧"、"色差故障" 等 duration: 动画持续时间(可选),格式如 "1s"、"500ms" track_name: 轨道名称(可选) Returns: ToolResponse: 包含操作结果的响应对象 """ try: # 创建TextSegment实例,传入text_segment_id text_segment = TextSegment(draft_id, text_segment_id=text_segment_id, track_name=track_name) # 调用文本动画添加方法 result_data = text_segment.add_animation( animation_type=animation_type, animation_name=animation_name, duration=duration ) # 构建返回数据 response_data = { "text_segment_id": text_segment_id, "draft_id": draft_id, "animation_type": animation_type, "animation_name": animation_name, "add_animation": result_data } # 添加可选参数到返回数据 if duration: response_data["duration"] = duration if track_name: response_data["track_name"] = track_name return ToolResponse( success=True, message=f"文本动画添加成功: {animation_type}.{animation_name}", data=response_data ) except ValueError as e: # 处理参数错误 return ToolResponse( success=False, message=f"参数错误: {str(e)}" ) except NameError as e: # 处理轨道不存在错误 return ToolResponse( success=False, message=f"轨道错误: {str(e)}" ) except Exception as e: # 处理其他未预期的错误 return ToolResponse( success=False, message=f"文本动画添加失败: {str(e)}" )

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