create_track
Add video, audio, or text tracks to JianYing (CapCut) video drafts to organize multiple media segments within a single project.
Instructions
创建轨道 Args: draft_id: 草稿ID track_type: 轨道类型,支持 "video", "audio", "text", 一个轨道可以有多个素材,如video轨道想添加两个视频,使用同一个track_id就可以 track_name: 轨道名称,同类型轨道名不能相同
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| track_type | Yes | ||
| track_name | Yes |
Implementation Reference
- jianyingdraft/tool/track_tool.py:13-31 (handler)The MCP tool handler function 'create_track' that handles the tool execution, calls the service, and updates index mapping.@mcp.tool() def create_track(draft_id: str, track_type: str, track_name: str)-> ToolResponse: """ 创建轨道 Args: draft_id: 草稿ID track_type: 轨道类型,支持 "video", "audio", "text", 一个轨道可以有多个素材,如video轨道想添加两个视频,使用同一个track_id就可以 track_name: 轨道名称,同类型轨道名不能相同 """ # 调用服务层处理业务逻辑 result = create_track_service(draft_id, track_type, track_name) # 如果轨道创建成功,添加索引记录 if result.success and result.data and "track_id" in result.data: track_id = result.data["track_id"] index_manager.add_track_mapping(track_id, draft_id, track_name, track_type) return result
- Helper service function that performs the actual track creation using the Track class and handles various errors.def create_track_service(draft_id: str, track_type: str, track_name: Optional[str] = None) -> ToolResponse: """ 轨道创建服务 - 封装复杂的轨道创建逻辑 Args: draft_id: 草稿ID track_type: 轨道类型 ("video", "audio", "text") track_name: 轨道名称(可选) Returns: ToolResponse: 包含操作结果的响应对象 """ try: # 创建Track实例 track = Track(draft_id) # 调用轨道创建方法 track_id = track.add_track(track_type, track_name) # 构建返回数据 result_data = { "track_id": track_id, "draft_id": draft_id, "track_type": track_type } # 如果有轨道名称,添加到返回数据中 if track_name: result_data["track_name"] = track_name return ToolResponse( success=True, message="轨道创建成功", data=result_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)}" )
- jianyingdraft/server.py:27-27 (registration)Registration of the track tools (including create_track) by calling track_tools(mcp) in the main server setup.track_tools(mcp)