import json from urllib import request, parse import random #This is the ComfyUI api prompt format. #If you want it for a specific workflow you can "enable dev mode options" #in the settings of the UI (gear beside the "Queue Size: ") this will enable #a button on the UI to save workflows in api format. #keep in mind ComfyUI is pre alpha software so this format will change a bit. #this is the one for the default workflow prompt_text = """ { "3": { "class_type": "KSampler", "inputs": { "cfg": 2, "denoise": 1, "latent_image": [ "5", 0 ], "model": [ "4", 0 ], "negative": [ "7", 0 ], "positive": [ "6", 0 ], "sampler_name": "dpmpp_sde", "scheduler": "karras", "seed": -1, "steps": 8 } }, "4": { "class_type": "CheckpointLoaderSimple", "inputs": { "ckpt_name": "dreamshaperXL_sfwLightningDPMSDE.safetensors" } }, "5": { "class_type": "EmptyLatentImage", "inputs": { "batch_size": 1, "height": 512, "width": 512 } }, "6": { "class_type": "CLIPTextEncode", "inputs": { "clip": [ "4", 1 ], "text": "masterpiece best quality girl" } }, "7": { "class_type": "CLIPTextEncode", "inputs": { "clip": [ "4", 1 ], "text": "bad hands" } }, "8": { "class_type": "VAEDecode", "inputs": { "samples": [ "3", 0 ], "vae": [ "4", 2 ] } }, "9": { "class_type": "SaveImage", "inputs": { "filename_prefix": "ComfyUI", "images": [ "8", 0 ] } } } """ def queue_prompt(prompt): p = {"prompt": prompt} data = json.dumps(p).encode('utf-8') req = request.Request("http://127.0.0.1:8188/prompt", data=data) request.urlopen(req) prompt = json.loads(prompt_text) #set the text prompt for our positive CLIPTextEncode # prompt["6"]["inputs"]["text"] = "masterpiece best quality girl, in a field of flowers, galaxy in sky, dressed in a yellow dress" prompt["6"]["inputs"]["text"] = "fencer, black background" prompt["7"]["inputs"]["text"] = "bad hands, text" #set the seed for our KSampler node prompt["3"]["inputs"]["seed"] = random.randint(0, 10000000000) prompt["3"]["inputs"]['steps'] = 3 # prompt["3"]["inputs"]["sampler_name"] = "lcm" queue_prompt(prompt)