{ "tools": [ { "tool_id": "image_stitcher", "name": "图片拼接工具", "category": "cv", "description": "将多张图片按指定方向(水平/垂直/网格)拼接成一张大图。支持间距设置、背景色填充和统一缩放模式。输入输出均为 Base64 编码的 PNG 图片。", "input_schema": { "properties": { "background_color": { "default": "#FFFFFF", "description": "间距填充背景色,十六进制颜色值", "type": "string" }, "columns": { "default": 2, "description": "grid 模式下每行的列数", "minimum": 1, "type": "integer" }, "direction": { "default": "horizontal", "description": "拼接方向:horizontal=水平,vertical=垂直,grid=网格", "enum": [ "horizontal", "vertical", "grid" ], "type": "string" }, "images": { "description": "Base64 编码的图片列表,至少 2 张", "items": { "type": "string" }, "minItems": 2, "type": "array" }, "resize_mode": { "default": "none", "description": "缩放模式:none=不缩放,fit_width=统一宽度,fit_height=统一高度", "enum": [ "none", "fit_width", "fit_height" ], "type": "string" }, "spacing": { "default": 0, "description": "图片间距(像素)", "minimum": 0, "type": "integer" } }, "reason": "图片拼接工具输入参数定义", "required": [ "images" ], "type": "object" }, "output_schema": { "properties": { "height": { "description": "结果图高度(像素)", "type": "integer" }, "image": { "description": "拼接结果,Base64 编码的 PNG 图片", "type": "string" }, "width": { "description": "结果图宽度(像素)", "type": "integer" } }, "reason": "图片拼接工具输出结果定义", "required": [ "image", "width", "height" ], "type": "object" }, "stream_support": false, "status": "active", "backend_runtime": "local", "group_ids": [], "tool_slug_ids": [] }, { "tool_id": "liblibai_controlnet", "name": "LibLib ControlNet 图生图", "category": "cv", "description": "基于 LibLib AI 开放 API 的 ControlNet Canny 图生图工具,支持通过边缘检测控制图像生成", "input_schema": { "type": "object", "properties": { "image": { "type": "string", "description": "图片来源,支持 Base64 编码的图片数据或 HTTP 图片 URL" }, "prompt": { "type": "string", "description": "正向提示词" }, "negative_prompt": { "type": "string", "description": "反向提示词", "default": "lowres, bad anatomy, text, error" }, "width": { "type": "integer", "description": "输出宽度", "default": 512 }, "height": { "type": "integer", "description": "输出高度", "default": 512 }, "steps": { "type": "integer", "description": "采样步数", "default": 20 }, "cfg_scale": { "type": "number", "description": "CFG Scale", "default": 7 }, "img_count": { "type": "integer", "description": "生成图片数量", "default": 1 }, "control_weight": { "type": "number", "description": "ControlNet 权重", "default": 1 }, "preprocessor": { "type": "integer", "description": "预处理器枚举", "default": 1 }, "canny_low": { "type": "integer", "description": "Canny 低阈值", "default": 100 }, "canny_high": { "type": "integer", "description": "Canny 高阈值", "default": 200 } }, "required": [ "image", "prompt" ] }, "output_schema": { "type": "object", "properties": { "images": { "type": "array", "items": { "type": "string" }, "description": "生成的图片 URL 列表" }, "task_id": { "type": "string", "description": "任务 ID" }, "status": { "type": "string", "description": "任务状态(success/failed/timeout)" } } }, "stream_support": false, "status": "active", "backend_runtime": "local", "group_ids": [], "tool_slug_ids": [] }, { "tool_id": "launch_comfy_env", "name": "Launch ComfyUI Environment", "category": "ai", "description": "启动 RunComfy 云端机器并等待就绪。返回 server_id 用于后续 ComfyUI workflow 执行。需要环境变量 RUNCOMFY_USER_ID 和 API_TOKEN。", "input_schema": { "type": "object", "properties": { "version_id": { "type": "string", "description": "RunComfy workflow version ID", "default": "90f77137-ba75-400d-870f-204c614ae8a3" }, "server_type": { "type": "string", "enum": [ "medium", "large", "extra-large", "2x-large", "2xl-turbo" ], "description": "机器规格", "default": "medium" }, "duration": { "type": "integer", "description": "预估运行时长(秒)", "default": 3600 } } }, "output_schema": { "type": "object", "properties": { "server_id": { "type": "string", "description": "机器唯一标识,用于后续操作" }, "comfy_url": { "type": "string", "description": "ComfyUI 访问地址" }, "status": { "type": "string", "description": "机器状态" }, "usage_instruction": { "type": "string", "description": "使用说明" } }, "required": [ "server_id", "comfy_url", "status", "usage_instruction" ] }, "stream_support": false, "status": "active", "backend_runtime": "local", "group_ids": [ "runcomfy_lifecycle" ], "tool_slug_ids": [ "comfyui" ] }, { "tool_id": "runcomfy_workflow_executor", "name": "RunComfy Workflow Executor", "category": "image_generation", "description": "在已就绪的 RunComfy 机器上提交 ComfyUI 工作流,上传输入文件,监听执行状态,下载结果图片(不启动/关闭机器)", "input_schema": { "type": "object", "required": [ "server_id", "workflow_api" ], "properties": { "server_id": { "type": "string", "description": "已启动的 RunComfy 机器 ID" }, "workflow_api": { "type": "object", "description": "ComfyUI workflow_api.json 内容(字典格式)" }, "input_files": { "type": "array", "description": "可选的输入文件列表", "items": { "type": "object", "required": [ "filename", "type", "base64_data" ], "properties": { "filename": { "type": "string", "description": "文件名" }, "type": { "type": "string", "description": "文件类型:images/loras/checkpoints/vae/controlnet" }, "base64_data": { "type": "string", "description": "文件的 Base64 编码数据" } } } } } }, "output_schema": { "type": "object", "properties": { "prompt_id": { "type": "string", "description": "任务 ID" }, "images": { "type": "array", "items": { "type": "string" }, "description": "结果图片的 Base64 数据列表" }, "status": { "type": "string", "description": "执行状态" }, "server_id": { "type": "string", "description": "机器 ID" } } }, "stream_support": false, "status": "active", "backend_runtime": "local", "group_ids": [ "runcomfy_lifecycle" ], "tool_slug_ids": [ "comfyui" ] }, { "tool_id": "runcomfy_stop_env", "name": "RunComfy Stop Service", "category": "cloud", "description": "Stop and delete RunComfy server instances to release resources. Works with launch_comfy_env for complete lifecycle management.", "input_schema": { "type": "object", "properties": { "server_id": { "type": "string", "description": "The server ID to stop" } }, "required": [ "server_id" ] }, "output_schema": { "type": "object", "properties": { "server_id": { "type": "string", "description": "The stopped server ID" }, "status": { "type": "string", "description": "Deleted, NotFound, or Error" }, "message": { "type": "string", "description": "Detailed result message" } } }, "stream_support": false, "status": "active", "backend_runtime": "local", "group_ids": [ "runcomfy_lifecycle" ], "tool_slug_ids": [ "comfyui" ] }, { "tool_id": "kuaishou_kling", "name": "快手可灵AI生成工具", "category": "ai_generation", "description": "支持AI视频生成、AI图片生成、AI对口型等功能的统一接口。可以通过文本或图片生成视频,生成多张AI图片,以及为视频添加对口型效果。", "input_schema": { "type": "object", "properties": { "biz_type": { "type": "string", "enum": [ "aiImage", "aiVideo", "aiLipSync" ], "description": "业务类型" }, "action": { "type": "string", "description": "动作类型" }, "prompt": { "type": "string", "description": "生成内容的提示词" }, "negative_prompt": { "type": "string", "description": "不希望呈现的内容" }, "cfg": { "type": "string", "default": "50", "description": "创意想象力与创意相关性比例" }, "mode": { "type": "string", "enum": [ "text2video", "audio2video" ], "description": "生成模式" }, "image_url": { "type": "string", "description": "参考图片地址" }, "aspect_ratio": { "type": "string", "enum": [ "9:16", "16:9", "1:1" ], "default": "16:9", "description": "长宽比" }, "task_id": { "type": "string", "description": "查询任务状态时使用" }, "cookie": { "type": "string", "description": "认证Cookie" }, "version": { "type": "string", "description": "模型版本" }, "image_count": { "type": "integer", "default": 4, "description": "生成图片数量(1-4)" }, "add_audio": { "type": "boolean", "default": false, "description": "是否自动添加音频" }, "start_frame_image": { "type": "string", "description": "首帧图片URL" }, "end_frame_image": { "type": "string", "description": "尾帧图片URL" }, "video_id": { "type": "string", "description": "视频ID(对口型用)" }, "video_url": { "type": "string", "description": "视频URL(对口型用)" }, "text": { "type": "string", "description": "对口型文本内容" }, "voice_id": { "type": "string", "description": "音色ID" }, "voice_language": { "type": "string", "enum": [ "zh", "en" ], "default": "zh", "description": "音色语种" }, "voice_speed": { "type": "number", "default": 1, "description": "语速" }, "audio_type": { "type": "string", "enum": [ "file", "url" ], "description": "音频类型" }, "audio_file": { "type": "string", "description": "音频文件路径" }, "audio_url": { "type": "string", "description": "音频URL" } }, "required": [ "biz_type" ] }, "output_schema": { "type": "object", "properties": { "task_id": { "type": "string", "description": "任务ID" }, "status": { "type": "string", "enum": [ "process", "finished", "failed" ], "description": "任务状态" }, "result": { "type": "object", "description": "生成结果", "properties": { "images": { "type": "array", "items": { "type": "string" }, "description": "图片URL列表" }, "videos": { "type": "array", "items": { "type": "string" }, "description": "视频URL列表" } } }, "error": { "type": "string", "description": "错误信息" } } }, "stream_support": false, "status": "active", "backend_runtime": "local", "group_ids": [], "tool_slug_ids": [] }, { "tool_id": "jimeng_ai", "name": "Jimeng AI Generator", "category": "ai", "description": "AI generation tool supporting text-to-image (Seendance 2.0) and image-to-video (Seedream Lite 5.0)", "input_schema": { "type": "object", "required": [ "action" ], "properties": { "action": { "type": "string", "enum": [ "text2image", "image2video", "query_status" ], "description": "Operation type: text2image, image2video, or query_status" }, "prompt": { "type": "string", "description": "Positive prompt describing desired content" }, "negative_prompt": { "type": "string", "description": "Negative prompt for unwanted content" }, "model": { "type": "string", "enum": [ "seendance_2.0", "seedream_lite_5.0" ], "description": "Model selection" }, "aspect_ratio": { "type": "string", "enum": [ "1:1", "16:9", "9:16", "4:3", "3:4" ], "description": "Image aspect ratio" }, "image_count": { "type": "integer", "minimum": 1, "maximum": 4, "description": "Number of images to generate" }, "cfg_scale": { "type": "number", "minimum": 1, "maximum": 20, "description": "Creativity strength" }, "steps": { "type": "integer", "minimum": 10, "maximum": 50, "description": "Generation steps" }, "seed": { "type": "integer", "description": "Random seed for reproducibility" }, "image_url": { "type": "string", "description": "Reference image URL (for image2video)" }, "image_base64": { "type": "string", "description": "Reference image Base64 (alternative to image_url)" }, "video_duration": { "type": "integer", "enum": [ 3, 5, 10 ], "description": "Video duration in seconds" }, "motion_strength": { "type": "number", "minimum": 0, "maximum": 1, "description": "Motion strength (0=static, 1=maximum)" }, "task_id": { "type": "string", "description": "Task ID for status query" }, "cookie": { "type": "string", "description": "Authentication cookie" }, "api_key": { "type": "string", "description": "API key" } } }, "output_schema": { "type": "object", "properties": { "task_id": { "type": "string", "description": "Unique task identifier" }, "status": { "type": "string", "enum": [ "pending", "processing", "completed", "failed" ], "description": "Task status" }, "progress": { "type": "number", "description": "Progress percentage (0-100)" }, "result": { "type": "object", "description": "Generation results", "properties": { "images": { "type": "array", "items": { "type": "string" }, "description": "Generated image URLs" }, "videos": { "type": "array", "items": { "type": "string" }, "description": "Generated video URLs" }, "metadata": { "type": "object", "description": "Generation metadata" } } }, "error": { "type": "string", "description": "Error message if failed" }, "estimated_time": { "type": "integer", "description": "Estimated completion time in seconds" } }, "required": [ "task_id", "status" ] }, "stream_support": false, "status": "active", "backend_runtime": "local", "group_ids": [], "tool_slug_ids": [] } ], "version": "2.0" }