尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

ComfyUI-Manager 工作流分享 API 集成指南

ComfyUI-Manager 工作流分享 API 集成指南 ComfyUI-Manager 工作流分享 API 集成指南【免费下载链接】ComfyUI-ManagerComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custom nodes of ComfyUI. Furthermore, this extension provides a hub feature and convenience functions to access a wide range of information within ComfyUI.项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager从发链接靠截图到一键发布你的工作流分享困局做 ComfyUI 的开发者或资深用户几乎都遇到过这样的窘境精心调好的工作流想分享给朋友要么截图一堆节点图、要么把 workflow JSON 复制到聊天框里让人家手动导入既费时又容易丢信息。其实 ComfyUI-Manager 内置了一套完整的工作流分享 API 集成方案它把工作流 生成结果 元数据打包成一条可直接发布的内容对接 OpenArt、YouML、Copus、Matrix、eSheep、ComfyWorkflows 等多个平台。下面这篇文章就带你从零跑通这套集成约 15 分钟即可见效。最短路径快速上手3 步完成接入先看效果、再讲原理。这套 API 的调用链非常短你只需要在 ComfyUI 的前端环境里做三件事第 1 步引入分享模块// 在 comfyui-manager.js 同目录下导入公共分享入口 import { showOpenArtShareDialog, showCopusShareDialog, showYouMLShareDialog, ShareDialogChooser } from ./comfyui-share-common.js;第 2 步绑定一个触发按钮button onclickhandleShare()把当前工作流分享出去/button第 3 步调用统一入口async function handleShare() { // 弹出平台选择器让用户挑选目标站点 if (!ShareDialogChooser.instance) { ShareDialogChooser.instance new ShareDialogChooser(); } ShareDialogChooser.instance.show(); }到这里你的页面上已经拥有了一个可用的分享入口用户点开后能自由选择六个目标平台。如果只想要单平台直达直接调用showOpenArtShareDialog()这类函数即可。核心能力拆解这套 API 到底能做什么能力一把工作流翻译成可传输的 JSONapp.graphToPrompt()是 ComfyUI 官方提供的方法返回的对象里workflow字段就是可导入、可复用的工作流定义output字段则是本次执行的完整提示词数据。所有分享逻辑都以此为数据源你可以把它理解成把图纸workflow和施工记录prompt一起打包带走。能力二自动识别输出节点与产物画布上的节点五花八门API 不会盲目全部打包。getPotentialOutputsAndOutputNodes(nodes)会遍历所有节点只认SUPPORTED_OUTPUT_NODE_TYPES里登记的六类出口export const SUPPORTED_OUTPUT_NODE_TYPES [ PreviewImage, SaveImage, VHS_VideoCombine, ADE_AnimateDiffCombine, SaveAnimatedWEBP, CR Image Output ];对于视频类节点如VHS_VideoCombine还会通过parseURLPath()解析预览 widget 中的 URL 参数过滤出format以image开头的产物避免把不支持格式塞进请求。这一步的结果是一个结构清晰的数组{ type: output, // 产物类型image 或 output title: 我的预览图, // 节点标题 node_id: 12, // 节点 id output: { // 具体的文件定位信息 filename: abc.png, subfolder: outputs, format: image/png } }能力三按平台分发一套逻辑多处复用不同平台的能力差异统一收敛在两个层面前端各自实现一个继承自ComfyDialog的对话框类如OpenArtShareDialog、CopusShareDialog后端则通过glob/share_3rdparty.py里的若干/manager/*路由提供服务。下表可帮你快速对齐平台前端入口认证方式特色能力OpenArtshowOpenArtShareDialog()API Key存.openart_key发布 开发者管理模式YouMLshowYouMLShareDialog().youml配置文件工作流转交互式应用CopusshowCopusShareDialog()平台账号元数据丰富支持区块链存储MatrixshowShareDialog(matrix)账号密码存matrix_auth发图 发 workflow 文件到聊天室ComfyWorkflowsshowShareDialog(comfyworkflows)shareKey附带模型 SHA256 与快照信息eSheepshareToEsheep()无需认证弹窗跳转到平台网页上传完整实战案例把工作流发布到 OpenArt下面以 OpenArt 为例走一遍从读配置到发布成功的完整链路。环境准备确保你的 ComfyUI 已安装 ComfyUI-Manager并在前端环境中能看到window.app与window.api这两个对象由 ComfyUI 注入。第一步读取/保存 API Key// 保存密钥POST 到 /manager/set_openart_auth await api.fetchApi(/manager/set_openart_auth, { method: POST, headers: { Content-Type: application/json }, body: JSON.stringify({ openart_key: 你的密钥 }) }); // 读取密钥GET /manager/get_openart_auth未配置时后端返回 404 const key await api.fetchApi(/manager/get_openart_auth) .then(r r.ok ? r.json() : { openart_key: }) .then(d d.openart_key);第二步组装发布数据const prompt await app.graphToPrompt(); const workflowJSON prompt[workflow]; // 工作流定义 const nodes app.graph._nodes; const { potential_outputs } getPotentialOutputsAndOutputNodes(nodes); const payload { workflow: workflowJSON, images: potential_outputs, // 用户勾选的产物 title: 人像重绘工作流, description: 一键完成人脸修复与风格迁移, credits: 作者名, is_nsfw: false };第三步调用后端路由完成发布const resp await api.fetchApi(/manager/share, { method: POST, headers: { Content-Type: application/json }, body: JSON.stringify({ ...payload, matrix_auth: { homeserver: , username: , password: }, cw_auth: { cw_sharekey: }, share_destinations: [openart] }) });发布成功后前端对话框里会渲染出已发布点击查看的跳转链接整个流程即告完成。进阶技巧与避坑指南常见报错对照表现象根因处理建议提示找不到输出节点画布上没有六类受支持节点或未跑过一次生成先添加 PreviewImage/SaveImage 并执行一次产物列表为空节点存在但images数组为空先跑通一次生成再点分享读取 API Key 返回 404密钥从未保存先 POST 保存再 GET 读取OpenArt 校验失败密钥错误或网络不通检查密钥、确认能访问 openart.ai分享对话框打不开缺少配套 CSS确认custom-nodes-manager.css等样式已引入安全与认证建议 密钥写在后端文件如.openart_key前端只读不回显避免把密钥硬编码进源码。 区分环境comfyui-share-copus.js里用env变量切换 prod/test 的 API 地址联调时记得切到测试环境。⚠️ 若你的应用走 HTTPS跳转外站时注意混入内容警告eSheep 流程依赖前端构造window.location地址并window.open请确保域名与端口拼接正确。个性化定制想改默认分享站点读写/manager/share_option路由即可持久化用户偏好前端comfyui-manager.js中的分享按钮会据此决定直达还是弹出选择器。想扩展输出节点类型把新节点名加进SUPPORTED_OUTPUT_NODE_TYPES并在getPotentialOutputsAndOutputNodes里补充对应的产物解析分支。总结与延伸资源回顾一下这次集成入口在js/comfyui-share-common.js分发逻辑在各平台的分享对话框类里后端路由集中在glob/share_3rdparty.py。你只需要掌握app.graphToPrompt()取数据、getPotentialOutputsAndOutputNodes()筛产物、api.fetchApi()走接口这三板斧就能在自己的应用里复刻一套完整的工作流分享能力。想继续深入推荐按这份清单延展阅读统一入口与工具函数js/comfyui-share-common.js各平台对话框实现js/comfyui-share-openart.js、js/comfyui-share-copus.js、js/comfyui-share-youml.js后端路由与认证存取glob/share_3rdparty.py前端接线示例js/comfyui-manager.js动手跑一遍上面的示例再对照源码逐行读你很快就能在 ComfyUI-Manager 的分享体系上搭建出自己的发布管道。如果你对某个平台的细节比如 YouML 的交互式应用转换、Copus 的区块链存储感兴趣欢迎带着问题再去翻对应的对话框源码那里有更完整的答案。【免费下载链接】ComfyUI-ManagerComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable various custom nodes of ComfyUI. Furthermore, this extension provides a hub feature and convenience functions to access a wide range of information within ComfyUI.项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表