news 2026/4/29 16:51:29

【ComfyUI API 自动化利器:comfyui_xy Python 库使用详解】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【ComfyUI API 自动化利器:comfyui_xy Python 库使用详解】

项目地址:https://github.com/xy200303/ComfyUiApi

PyPI地址:https://pypi.org/project/comfyui-xy/

在 AIGC 领域,ComfyUI 凭借其强大的节点式工作流赢得了众多开发者的青睐。然而,当我们需要将 ComfyUI 集成到自己的应用中,或者进行批量化、自动化任务时,直接使用官方 API 可能会显得有些繁琐。

为了解决这个问题,我开发了一个轻量级的 Python 客户端库 ——comfyui_xy。它封装了 ComfyUI 的核心 API,让你能够像调用普通 Python 函数一样,轻松实现上传图片、修改工作流、排队任务以及获取生成结果。

本文将详细介绍comfyui_xy的安装与使用方法,带你快速上手 ComfyUI 自动化。


1. 安装

首先,通过 pip 安装该库:

pipinstallcomfyui_xy

2. 快速入门

2.1 准备工作:获取 API 格式工作流

在使用 API 之前,你需要获取 ComfyUI 的工作流 JSON。注意:这与平时保存的 JSON 不同。

  1. 打开 ComfyUI 网页界面。
  2. 点击菜单中的Settings(齿轮图标)。
  3. 勾选“Enable Dev mode Options”
  4. 回到菜单,点击“Save (API Format)”按钮,保存为workflow_api.json

2.2 最简示例:文生图

下面是一个简单的示例,展示如何加载工作流并生成图片。

importjsonimportrandomfromcomfyui_xyimportComfyUiClient# 1. 初始化客户端 (默认连接本地 http://127.0.0.1:8188)client=ComfyUiClient()# 2. 加载你导出的 API 格式工作流withopen("workflow_api.json","r",encoding="utf-8")asf:workflow=json.load(f)# 3. 动态修改参数# 假设 KSampler 是节点 "3",我们要修改它的 seedworkflow["3"]["inputs"]["seed"]=random.randint(1,1000000000)# 4. 执行工作流# process_workflow 会自动排队、等待执行完成、并下载结果print("正在执行任务...")results=client.process_workflow(workflow)# 5. 保存结果fori,resultinenumerate(results):print(f"生成文件:{result.filename}({result.file_type})")result.save(f"output_{i}.png")# 保存到本地ifresult.file_type=="image":result.show()# 如果是图片,直接弹出预览

3. 核心功能详解

3.1 连接远程服务器

如果你的 ComfyUI 部署在远程服务器(例如 AutoDL 或云服务器),支持 HTTPS:

# 连接远程 HTTPS 服务器client=ComfyUiClient(url="https://u12345.autodl.com:12345")# 或者普通的 HTTP 服务器# client = ComfyUiClient(url="http://192.168.1.100:8188")

3.2 图生图:上传图片与遮罩

在图生图(Img2Img)或重绘(Inpainting)任务中,我们需要先上传图片。

# 上传图片image_name=client.upload_image("test.jpg")print(f"图片已上传,服务器文件名为:{image_name}")# 上传遮罩mask_name=client.upload_mask("mask.png")# 将上传后的文件名填入工作流节点# 假设 LoadImage 节点 ID 为 "10"workflow["10"]["inputs"]["image"]=image_name

3.3 处理多种输出类型

ComfyUI 不仅生成图片,还可能生成视频(AnimateDiff)、音频等。comfyui_xy统一使用ComfyResponse对象处理这些结果。

results=client.process_workflow(workflow)forresultinresults:# result.data: 原始二进制数据# result.file_type: 'image', 'video', 'audio' 等ifresult.file_type=="video":result.save("output_video.mp4")elifresult.file_type=="image":result.save("output_image.png")

3.4 高级控制

库中还封装了一些常用的系统级操作:

  • 中断任务
    client.interrupt()
  • 查看队列
    queue_info=client.get_queue()print(f"排队中:{queue_info['queue_pending']}, 运行中:{queue_info['queue_running']}")
  • 获取历史记录
    history=client.get_history_all()
  • 查询节点信息
    # 获取 KSampler 的输入输出定义info=client.get_object_info("KSampler")

4. 总结

comfyui_xy旨在简化 Python 与 ComfyUI 的交互过程,让你无需处理复杂的 WebSocket 连接和 HTTP 请求细节。无论是构建自己的 AI 应用后端,还是编写自动化测试脚本,它都能助你一臂之力。

项目开源地址:https://github.com/xy200303/ComfyUiApi

如果你觉得好用,欢迎给个 Star!如果有任何问题,也欢迎在 Issues 中反馈。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 18:37:09

GTE+SeqGPT语义搜索实战:支持同义替换、语序变化、省略主语的鲁棒匹配

GTESeqGPT语义搜索实战:支持同义替换、语序变化、省略主语的鲁棒匹配 你有没有遇到过这样的问题:在知识库中搜索“怎么让电脑不卡”,结果返回的全是“优化Windows性能”的技术文档,而真正想要的“清理浏览器缓存”那条内容却排在…

作者头像 李华
网站建设 2026/4/18 20:24:24

YOLO12检测统计功能详解:输出JSON含坐标/置信度/80类标签结构

YOLO12检测统计功能详解:输出JSON含坐标/置信度/80类标签结构 1. 什么是YOLO12?不只是“又一个YOLO” YOLO12不是简单地给YOLO系列加个序号,而是Ultralytics在目标检测工程化落地层面的一次务实升级。它没有堆砌复杂模块,而是聚…

作者头像 李华
网站建设 2026/4/27 15:58:59

从StateGraph到GPU:OpenSceneGraph状态管理的现代硬件优化策略

从StateGraph到GPU:OpenSceneGraph状态管理的现代硬件优化策略 在实时图形渲染领域,状态管理一直是性能优化的核心战场。OpenSceneGraph(OSG)作为成熟的场景图引擎,其独创的StateGraph机制曾为OpenGL时代的状态管理树立…

作者头像 李华
网站建设 2026/4/23 13:06:27

【YOLOv12多模态创新改进】全网独家创新首发| ICCV 2025 | 引入 LIF 局部光照感知融合模块,高效融合 RGB 与红外信息,可见光与红外图像融合目标检测SOTA、多模态遥感小目标检测

一、本文介绍 🔥本文给大家介绍使用 LIF 局部光照感知融合模块引入 YOLOv8 多模态红外–可见光目标检测中,可根据图像不同区域的局部光照条件自适应分配 RGB 与红外特征权重,在亮区充分利用可见光的纹理信息,在暗区或夜间更侧重红外的目标轮廓信息,从而实现合理且稳定的…

作者头像 李华
网站建设 2026/4/21 14:17:12

零基础玩转Qwen3-Reranker:一键提升RAG系统精度

零基础玩转Qwen3-Reranker:一键提升RAG系统精度 1. 引言:为什么你的RAG总在“差不多”边缘徘徊? 你有没有遇到过这样的情况: 向RAG系统提问“2024年Qwen系列模型有哪些技术突破?”,它却返回了三篇讲Qwen…

作者头像 李华