
ComfyUI-to-Python-Extension是一种强大的工具,可将comfyui工作流转换为可执行的python代码。该脚本旨在弥合Comfyui的Visual接口与Python的编程环境之间的差距,可促进从设计到代码执行的无缝过渡。无论您是数据科学家,软件开发人员还是AI爱好者,该工具都简化了在Python实施Comfyui工作流程的过程。
转换为:

因此:
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"
)
emptylatentimage = EmptyLatentImage()
emptylatentimage_5 = emptylatentimage.generate(
width=1024, height=1024, batch_size=1
)
cliptextencode = CLIPTextEncode()
cliptextencode_6 = cliptextencode.encode(
text="evening sunset scenery blue sky nature, glass bottle with a galaxy in it",
clip=checkpointloadersimple_4[1],
)
cliptextencode_7 = cliptextencode.encode(
text="text, watermark", clip=checkpointloadersimple_4[1]
)
checkpointloadersimple_12 = checkpointloadersimple.load_checkpoint(
ckpt_name="sd_xl_refiner_1.0.safetensors"
)
cliptextencode_15 = cliptextencode.encode(
text="evening sunset scenery blue sky nature, glass bottle with a galaxy in it",
clip=checkpointloadersimple_12[1],
)
cliptextencode_16 = cliptextencode.encode(
text="text, watermark", clip=checkpointloadersimple_12[1]
)
ksampleradvanced = KSamplerAdvanced()
vaedecode = VAEDecode()
saveimage = SaveImage()
for q in range(10):
ksampleradvanced_10 = ksampleradvanced.sample(
add_noise="enable",
noise_seed=random.randint(1, 2**64),
steps=25,
cfg=8,
sampler_name="euler",
scheduler="normal",
start_at_step=0,
end_at_step=20,
return_with_leftover_noise="enable",
model=checkpointloadersimple_4[0],
positive=cliptextencode_6[0],
negative=cliptextencode_7[0],
latent_image=emptylatentimage_5[0],
)
ksampleradvanced_11 = ksampleradvanced.sample(
add_noise="disable",
noise_seed=random.randint(1, 2**64),
steps=25,
cfg=8,
sampler_name="euler",
scheduler="normal",
start_at_step=20,
end_at_step=10000,
return_with_leftover_noise="disable",
model=checkpointloadersimple_12[0],
positive=cliptextencode_15[0],
negative=cliptextencode_16[0],
latent_image=ksampleradvanced_10[0],
)
vaedecode_17 = vaedecode.decode(
samples=ksampleradvanced_11[0], vae=checkpointloadersimple_12[2]
)
saveimage_19 = saveimage.save_images(
filename_prefix="ComfyUI", images=vaedecode_17[0]
)
if __name__ == "__main__":
main()

comfyui_to_python.py参数ComfyUI最新更改的更新导航到您的ComfyUI/custom_nodes目录
克隆这个仓库
git clone https://github.com/pydn/ComfyUI-to-Python-Extension.git克隆回购后,您的ComfyUI目录应该看起来像这样:
/comfy
/comfy_extras
/custom_nodes
--/ComfyUI-to-Python-Extension
/input
/models
/output
/script_examples
/web
.gitignore
LICENSE
README.md
comfyui_screenshot.png
cuda_mollac.py
execution.py
extra_model_paths.yaml.example
folder_paths.py
latent_preview.py
main.py
nodes.py
requirements.txt
server.py
启动comfyui
加载您喜欢的工作流程,然后单击Save As Script

在弹出屏幕中键入所需的文件名。
将.py文件从您的下载文件夹移动到ComfyUI目录。
现在,您可以执行新创建的.py文件以生成图像而无需启动服务器。
导航到ComfyUI-to-Python-Extension文件夹和安装要求
pip install -r requirements.txt启动comfyui,通过Queue Prompt单击齿轮图标,然后检查Enable Dev mode Options 。如果您不启用此选项,则脚本将无法工作!

加载您喜欢的工作流程,然后在队列提示下单击新启用的Save (API Format)按钮
将下载的.json Workflow文件移至您的ComfyUI/ComfyUI-to-Python-Extension文件夹
如果需要,在执行comfyui_to_python.py时添加参数以更新默认的input_file和output_file ,以匹配您的.json工作流文件和所需的.py文件名。默认情况下,脚本将寻找一个名为workflow_api.json的文件。您还可以将queue_size变量更新为要在单个脚本执行中生成的所需图像数。默认情况下,脚本将生成10个图像。运行python comfyui_to_python.py --help以获取更多详细信息。
6a。用默认参数运行脚本:
python comfyui_to_python.py6b。使用可选参数运行脚本:
python comfyui_to_python.py --input_file " workflow_api (2).json " --output_file my_workflow.py --queue_size 100运行comfyui_to_python.py后,将在当前工作目录中创建一个新的.py文件。如果您没有进行更改,请查找workflow_api.py 。
现在,您可以执行新创建的.py文件以生成图像而无需启动服务器。