
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文件以生成圖像而無需啟動服務器。