registry.json 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458
  1. {
  2. "tools": [
  3. {
  4. "tool_id": "image_stitcher",
  5. "name": "图片拼接工具",
  6. "category": "cv",
  7. "description": "将多张图片按指定方向(水平/垂直/网格)拼接成一张大图。支持间距设置、背景色填充和统一缩放模式。输入输出均为 Base64 编码的 PNG 图片。",
  8. "input_schema": {
  9. "properties": {
  10. "background_color": {
  11. "default": "#FFFFFF",
  12. "description": "间距填充背景色,十六进制颜色值",
  13. "type": "string"
  14. },
  15. "columns": {
  16. "default": 2,
  17. "description": "grid 模式下每行的列数",
  18. "minimum": 1,
  19. "type": "integer"
  20. },
  21. "direction": {
  22. "default": "horizontal",
  23. "description": "拼接方向:horizontal=水平,vertical=垂直,grid=网格",
  24. "enum": [
  25. "horizontal",
  26. "vertical",
  27. "grid"
  28. ],
  29. "type": "string"
  30. },
  31. "images": {
  32. "description": "Base64 编码的图片列表,至少 2 张",
  33. "items": {
  34. "type": "string"
  35. },
  36. "minItems": 2,
  37. "type": "array"
  38. },
  39. "resize_mode": {
  40. "default": "none",
  41. "description": "缩放模式:none=不缩放,fit_width=统一宽度,fit_height=统一高度",
  42. "enum": [
  43. "none",
  44. "fit_width",
  45. "fit_height"
  46. ],
  47. "type": "string"
  48. },
  49. "spacing": {
  50. "default": 0,
  51. "description": "图片间距(像素)",
  52. "minimum": 0,
  53. "type": "integer"
  54. }
  55. },
  56. "reason": "图片拼接工具输入参数定义",
  57. "required": [
  58. "images"
  59. ],
  60. "type": "object"
  61. },
  62. "output_schema": {
  63. "properties": {
  64. "height": {
  65. "description": "结果图高度(像素)",
  66. "type": "integer"
  67. },
  68. "image": {
  69. "description": "拼接结果,Base64 编码的 PNG 图片",
  70. "type": "string"
  71. },
  72. "width": {
  73. "description": "结果图宽度(像素)",
  74. "type": "integer"
  75. }
  76. },
  77. "reason": "图片拼接工具输出结果定义",
  78. "required": [
  79. "image",
  80. "width",
  81. "height"
  82. ],
  83. "type": "object"
  84. },
  85. "stream_support": false,
  86. "status": "active",
  87. "backend_runtime": "local",
  88. "group_ids": [],
  89. "tool_slug_ids": []
  90. },
  91. {
  92. "tool_id": "liblibai_controlnet",
  93. "name": "LibLib ControlNet 图生图",
  94. "category": "cv",
  95. "description": "基于 LibLib AI 开放 API 的 ControlNet Canny 图生图工具,支持通过边缘检测控制图像生成",
  96. "input_schema": {
  97. "type": "object",
  98. "properties": {
  99. "image": {
  100. "type": "string",
  101. "description": "图片来源,支持 Base64 编码的图片数据或 HTTP 图片 URL"
  102. },
  103. "prompt": {
  104. "type": "string",
  105. "description": "正向提示词"
  106. },
  107. "negative_prompt": {
  108. "type": "string",
  109. "description": "反向提示词",
  110. "default": "lowres, bad anatomy, text, error"
  111. },
  112. "width": {
  113. "type": "integer",
  114. "description": "输出宽度",
  115. "default": 512
  116. },
  117. "height": {
  118. "type": "integer",
  119. "description": "输出高度",
  120. "default": 512
  121. },
  122. "steps": {
  123. "type": "integer",
  124. "description": "采样步数",
  125. "default": 20
  126. },
  127. "cfg_scale": {
  128. "type": "number",
  129. "description": "CFG Scale",
  130. "default": 7
  131. },
  132. "img_count": {
  133. "type": "integer",
  134. "description": "生成图片数量",
  135. "default": 1
  136. },
  137. "control_weight": {
  138. "type": "number",
  139. "description": "ControlNet 权重",
  140. "default": 1
  141. },
  142. "preprocessor": {
  143. "type": "integer",
  144. "description": "预处理器枚举",
  145. "default": 1
  146. },
  147. "canny_low": {
  148. "type": "integer",
  149. "description": "Canny 低阈值",
  150. "default": 100
  151. },
  152. "canny_high": {
  153. "type": "integer",
  154. "description": "Canny 高阈值",
  155. "default": 200
  156. }
  157. },
  158. "required": [
  159. "image",
  160. "prompt"
  161. ]
  162. },
  163. "output_schema": {
  164. "type": "object",
  165. "properties": {
  166. "images": {
  167. "type": "array",
  168. "items": {
  169. "type": "string"
  170. },
  171. "description": "生成的图片 URL 列表"
  172. },
  173. "task_id": {
  174. "type": "string",
  175. "description": "任务 ID"
  176. },
  177. "status": {
  178. "type": "string",
  179. "description": "任务状态(success/failed/timeout)"
  180. }
  181. }
  182. },
  183. "stream_support": false,
  184. "status": "active",
  185. "backend_runtime": "local",
  186. "group_ids": [],
  187. "tool_slug_ids": []
  188. },
  189. {
  190. "tool_id": "launch_comfy_env",
  191. "name": "Launch ComfyUI Environment",
  192. "category": "ai",
  193. "description": "启动 RunComfy 云端机器并等待就绪。返回 server_id 用于后续 ComfyUI workflow 执行。需要环境变量 RUNCOMFY_USER_ID 和 API_TOKEN。",
  194. "input_schema": {
  195. "type": "object",
  196. "properties": {
  197. "version_id": {
  198. "type": "string",
  199. "description": "RunComfy workflow version ID",
  200. "default": "90f77137-ba75-400d-870f-204c614ae8a3"
  201. },
  202. "server_type": {
  203. "type": "string",
  204. "enum": [
  205. "medium",
  206. "large",
  207. "extra-large",
  208. "2x-large",
  209. "2xl-turbo"
  210. ],
  211. "description": "机器规格",
  212. "default": "medium"
  213. },
  214. "duration": {
  215. "type": "integer",
  216. "description": "预估运行时长(秒)",
  217. "default": 3600
  218. }
  219. }
  220. },
  221. "output_schema": {
  222. "type": "object",
  223. "properties": {
  224. "server_id": {
  225. "type": "string",
  226. "description": "机器唯一标识,用于后续操作"
  227. },
  228. "comfy_url": {
  229. "type": "string",
  230. "description": "ComfyUI 访问地址"
  231. },
  232. "status": {
  233. "type": "string",
  234. "description": "机器状态"
  235. },
  236. "usage_instruction": {
  237. "type": "string",
  238. "description": "使用说明"
  239. }
  240. },
  241. "required": [
  242. "server_id",
  243. "comfy_url",
  244. "status",
  245. "usage_instruction"
  246. ]
  247. },
  248. "stream_support": false,
  249. "status": "active",
  250. "backend_runtime": "local",
  251. "group_ids": [
  252. "runcomfy_lifecycle"
  253. ],
  254. "tool_slug_ids": [
  255. "comfyui"
  256. ]
  257. },
  258. {
  259. "tool_id": "runcomfy_workflow_executor",
  260. "name": "RunComfy Workflow Executor",
  261. "category": "image_generation",
  262. "description": "在已就绪的 RunComfy 机器上提交 ComfyUI 工作流,上传输入文件,监听执行状态,下载结果图片(不启动/关闭机器)",
  263. "input_schema": {
  264. "type": "object",
  265. "required": [
  266. "server_id",
  267. "workflow_api"
  268. ],
  269. "properties": {
  270. "server_id": {
  271. "type": "string",
  272. "description": "已启动的 RunComfy 机器 ID"
  273. },
  274. "workflow_api": {
  275. "type": "object",
  276. "description": "ComfyUI workflow_api.json 内容(字典格式)"
  277. },
  278. "input_files": {
  279. "type": "array",
  280. "description": "可选的输入文件列表",
  281. "items": {
  282. "type": "object",
  283. "required": [
  284. "filename",
  285. "type",
  286. "base64_data"
  287. ],
  288. "properties": {
  289. "filename": {
  290. "type": "string",
  291. "description": "文件名"
  292. },
  293. "type": {
  294. "type": "string",
  295. "description": "文件类型:images/loras/checkpoints/vae/controlnet"
  296. },
  297. "base64_data": {
  298. "type": "string",
  299. "description": "文件的 Base64 编码数据"
  300. }
  301. }
  302. }
  303. }
  304. }
  305. },
  306. "output_schema": {
  307. "type": "object",
  308. "properties": {
  309. "prompt_id": {
  310. "type": "string",
  311. "description": "任务 ID"
  312. },
  313. "images": {
  314. "type": "array",
  315. "items": {
  316. "type": "string"
  317. },
  318. "description": "结果图片的 Base64 数据列表"
  319. },
  320. "status": {
  321. "type": "string",
  322. "description": "执行状态"
  323. },
  324. "server_id": {
  325. "type": "string",
  326. "description": "机器 ID"
  327. }
  328. }
  329. },
  330. "stream_support": false,
  331. "status": "active",
  332. "backend_runtime": "local",
  333. "group_ids": [
  334. "runcomfy_lifecycle"
  335. ],
  336. "tool_slug_ids": [
  337. "comfyui"
  338. ]
  339. },
  340. {
  341. "tool_id": "runcomfy_stop_env",
  342. "name": "RunComfy Stop Service",
  343. "category": "cloud",
  344. "description": "Stop and delete RunComfy server instances to release resources. Works with launch_comfy_env for complete lifecycle management.",
  345. "input_schema": {
  346. "type": "object",
  347. "properties": {
  348. "server_id": {
  349. "type": "string",
  350. "description": "The server ID to stop"
  351. }
  352. },
  353. "required": [
  354. "server_id"
  355. ]
  356. },
  357. "output_schema": {
  358. "type": "object",
  359. "properties": {
  360. "server_id": {
  361. "type": "string",
  362. "description": "The stopped server ID"
  363. },
  364. "status": {
  365. "type": "string",
  366. "description": "Deleted, NotFound, or Error"
  367. },
  368. "message": {
  369. "type": "string",
  370. "description": "Detailed result message"
  371. }
  372. }
  373. },
  374. "stream_support": false,
  375. "status": "active",
  376. "backend_runtime": "local",
  377. "group_ids": [
  378. "runcomfy_lifecycle"
  379. ],
  380. "tool_slug_ids": [
  381. "comfyui"
  382. ]
  383. },
  384. {
  385. "tool_id": "ji_meng_add_task",
  386. "name": "即梦-创建任务",
  387. "category": "cv",
  388. "description": "提交异步任务到上游(POST 转发 JI_MENG_API_BASE + add_task 路径)。",
  389. "input_schema": {
  390. "type": "object",
  391. "properties": {
  392. "prompt": {
  393. "type": "string",
  394. "description": "任务描述 / 提示词"
  395. },
  396. "extra": {
  397. "type": "object",
  398. "description": "可选,合并进上游 JSON body"
  399. }
  400. },
  401. "required": [
  402. "prompt"
  403. ]
  404. },
  405. "output_schema": {
  406. "type": "object",
  407. "properties": {
  408. "task_id": {
  409. "type": "string"
  410. },
  411. "status": {
  412. "type": "string"
  413. }
  414. }
  415. },
  416. "stream_support": false,
  417. "status": "active",
  418. "backend_runtime": "local",
  419. "group_ids": [],
  420. "tool_slug_ids": []
  421. },
  422. {
  423. "tool_id": "ji_meng_query_task",
  424. "name": "即梦-查询任务",
  425. "category": "cv",
  426. "description": "按 task_id 查询上游任务状态与结果(POST 转发 query_task 路径)。",
  427. "input_schema": {
  428. "type": "object",
  429. "properties": {
  430. "task_id": {
  431. "type": "string",
  432. "description": "创建任务返回的任务 ID"
  433. }
  434. },
  435. "required": [
  436. "task_id"
  437. ]
  438. },
  439. "output_schema": {
  440. "type": "object",
  441. "properties": {
  442. "task_id": {
  443. "type": "string"
  444. },
  445. "status": {
  446. "type": "string"
  447. }
  448. }
  449. },
  450. "stream_support": false,
  451. "status": "active",
  452. "backend_runtime": "local",
  453. "group_ids": [],
  454. "tool_slug_ids": []
  455. }
  456. ],
  457. "version": "2.0"
  458. }