项目介绍
ComfyUI-to-Python-Extension 是一个强大的工具,旨在将 ComfyUI 的工作流程转化为可执行的 Python 代码。这个工具为 ComfyUI 的可视化界面和 Python 编程环境之间架起了一座桥梁,使得从设计到代码执行的过程更加流畅。不论用户是数据科学家、软件开发者,还是人工智能爱好者,该工具都能让用户更快捷地在 Python 中实现 ComfyUI 工作流程。
功能与用途
ComfyUI-to-Python-Extension 的主要功能是将 ComfyUI 的可视化工作流程转换成如下的 Python 代码,这样用户可以通过 Python 编程来更好地管理和扩展他们的项目。
示例代码转换
以下是一个使用该工具的示例:
-
原始 ComfyUI 工作流:
-
转换后的 Python 代码:
import random import torch import sys sys.path.append("../") from nodes import ( VAEDecode, KSamplerAdvanced, EmptyLatentImage, SaveImage, CheckpointLoaderSimple, CLIPTextEncode, ) def main(): with torch.inference_mode(): checkpointloadersimple = CheckpointLoaderSimple() checkpointloadersimple_4 = checkpointloadersimple.load_checkpoint( ckpt_name="sd_xl_base_1.0.safetensors" ) ... if __name__ == "__main__": main()
潜在应用场景
- 简化使用 ComfyUI 工作流程的精简应用或管道部署的过程
- 为不同的提示或参数值创建编程实验
- 生成大批量任务队列, 如批量生成图片,而不需要反复点击按键
- 在 GUI 中建立基础工作流程后,可以在 Python 中轻松扩展或迭代架构
更新日志
V1.3.0 版本更新
- 直接从 ComfyUI web 应用生成 .py 文件。
V1.2.1 版本更新
- 通过 CLI 参数动态改变
comfyui_to_python.py
中的参数 - 修复处理接受 kwargs 的节点的热修复问题
V1.2.0 & V1.0.0 版本更新
- 更新以适应 ComfyUI 的最新更改
- 支持所有自定义节点。如果在代码执行中遇到问题,首先确保每个节点在 GUI 中可以正常工作。
安装步骤
- 打开
ComfyUI/custom_nodes
目录 - 克隆此项目仓库
git clone https://github.com/pydn/ComfyUI-to-Python-Extension.git
克隆后,目录应如下所示:
/comfy
/comfy_extras
/custom_nodes
--/ComfyUI-to-Python-Extension
/input
/models
/output
/script_examples
/web
.gitignore
LICENSE
README.md
...
Web 应用使用方式
- 启动 ComfyUI
- 加载喜欢的工作流并点击
Save As Script
- 在弹出窗口中键入所需文件名。
- 将下载的 .py 文件移动到 ComfyUI 目录。
- 现在用户可以运行新创建的 .py 文件生成图像,无需启动服务器。
CLI 使用方式
-
导航至
ComfyUI-to-Python-Extension
文件夹并安装所需模块pip install -r requirements.txt
-
启动 ComfyUI,点击‘队列提示’上的齿轮图标,勾选
Enable Dev mode Options
。 -
加载喜欢的工作流,然后点击队列提示下新启用的
Save (API Format)
按钮。 -
将下载的 .json 工作流文件移动到
ComfyUI/ComfyUI-to-Python-Extension
文件夹中。 -
如有需要,运行
comfyui_to_python.py
时添加参数以更新默认的input_file
和output_file
,同时可设置queue_size
变量为所需图片生成数目。默认脚本生成 10 张图片。运行python comfyui_to_python.py --help
获取更多详情。 -
运行脚本:
# 使用默认参数 python comfyui_to_python.py # 使用可选参数 python comfyui_to_python.py --input_file "workflow_api (2).json" --output_file my_workflow.py --queue_size 100
-
运行
comfyui_to_python.py
后,将在当前目录生成一个新的 .py 文件。 -
用户可以执行新创建的 .py 文件生成图像而无需启动服务器。