File size: 3,151 Bytes
77f10a3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
import json
from urllib import request

#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": 8,

            "denoise": 1,

            "latent_image": [

                "5",

                0

            ],

            "model": [

                "4",

                0

            ],

            "negative": [

                "7",

                0

            ],

            "positive": [

                "6",

                0

            ],

            "sampler_name": "euler",

            "scheduler": "normal",

            "seed": 8566257,

            "steps": 20

        }

    },

    "4": {

        "class_type": "CheckpointLoaderSimple",

        "inputs": {

            "ckpt_name": "v1-5-pruned-emaonly.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}

    # If the workflow contains API nodes, you can add a Comfy API key to the `extra_data`` field of the payload.
    # p["extra_data"] = {
    #     "api_key_comfy_org": "comfyui-87d01e28d*******************************************************"  # replace with real key
    # }
    # See: https://docs.comfy.org/tutorials/api-nodes/overview
    # Generate a key here: https://platform.comfy.org/login

    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 man"

#set the seed for our KSampler node
prompt["3"]["inputs"]["seed"] = 5


queue_prompt(prompt)