Spaces:
Runtime error
Runtime error
rayochoajr
commited on
Update app.py
Browse files
app.py
CHANGED
@@ -71,12 +71,19 @@ def get_images(ws, prompt, server_address):
|
|
71 |
return output_images
|
72 |
|
73 |
# π Chapter 7: Generate Image Function π
|
74 |
-
def generate_image(text_prompt, seed, server):
|
75 |
-
|
76 |
-
|
77 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
"class_type": "KSampler",
|
79 |
-
"inputs": {
|
80 |
"cfg": 8,
|
81 |
"denoise": 1,
|
82 |
"latent_image": [
|
@@ -97,47 +104,47 @@ def generate_image(text_prompt, seed, server):
|
|
97 |
],
|
98 |
"sampler_name": "euler",
|
99 |
"scheduler": "normal",
|
100 |
-
"seed":
|
101 |
-
"steps":
|
102 |
-
}
|
103 |
-
},
|
104 |
-
"4": {
|
105 |
"class_type": "CheckpointLoaderSimple",
|
106 |
-
"inputs": {
|
107 |
"ckpt_name": "v1-5-pruned-emaonly.ckpt"
|
108 |
-
}
|
109 |
-
},
|
110 |
-
"5": {
|
111 |
"class_type": "EmptyLatentImage",
|
112 |
-
"inputs": {
|
113 |
"batch_size": 1,
|
114 |
"height": 512,
|
115 |
"width": 768
|
116 |
-
}
|
117 |
-
},
|
118 |
-
"6": {
|
119 |
"class_type": "CLIPTextEncode",
|
120 |
-
"inputs": {
|
121 |
"clip": [
|
122 |
"4",
|
123 |
1
|
124 |
],
|
125 |
-
"text": "
|
126 |
-
}
|
127 |
-
},
|
128 |
-
"7": {
|
129 |
"class_type": "CLIPTextEncode",
|
130 |
-
"inputs": {
|
131 |
"clip": [
|
132 |
"4",
|
133 |
1
|
134 |
],
|
135 |
"text": "bad hands"
|
136 |
-
}
|
137 |
-
},
|
138 |
-
"8": {
|
139 |
"class_type": "VAEDecode",
|
140 |
-
"inputs": {
|
141 |
"samples": [
|
142 |
"3",
|
143 |
0
|
@@ -146,23 +153,21 @@ def generate_image(text_prompt, seed, server):
|
|
146 |
"4",
|
147 |
2
|
148 |
]
|
149 |
-
}
|
150 |
-
},
|
151 |
-
"save_image_websocket_node": {
|
152 |
"class_type": "SaveImageWebsocket",
|
153 |
-
"inputs": {
|
154 |
"images": [
|
155 |
"8",
|
156 |
0
|
157 |
]
|
158 |
-
}
|
159 |
-
}
|
160 |
-
}
|
161 |
"""
|
162 |
|
163 |
prompt = json.loads(prompt_text)
|
164 |
-
prompt["6"]["inputs"]["text"] = text_prompt
|
165 |
-
prompt["3"]["inputs"]["seed"] = seed
|
166 |
server_address = "3.14.144.23:8188" if server == "AWS Server" else "192.168.50.136:8188"
|
167 |
ws = websocket.WebSocket()
|
168 |
ws.connect(f"ws://{server_address}/ws?clientId={client_id}")
|
@@ -191,6 +196,7 @@ with gr.Blocks() as demo:
|
|
191 |
with gr.Column():
|
192 |
text_prompt = gr.Textbox(label="Text Prompt", value="masterpiece best quality man")
|
193 |
seed = gr.Number(label="Seed", value=5)
|
|
|
194 |
server = gr.Radio(label="Server", choices=["AWS Server", "Home Server"], value="AWS Server")
|
195 |
generate_button = gr.Button("Generate Image")
|
196 |
cancel_button = gr.Button("Cancel Request")
|
@@ -198,7 +204,7 @@ with gr.Blocks() as demo:
|
|
198 |
with gr.Column():
|
199 |
output_image = gr.Image(label="Generated Image")
|
200 |
|
201 |
-
generate_button.click(fn=generate_image, inputs=[text_prompt, seed, server], outputs=output_image)
|
202 |
cancel_button.click(fn=cancel_request, inputs=[], outputs=[])
|
203 |
|
204 |
demo.launch()
|
|
|
71 |
return output_images
|
72 |
|
73 |
# π Chapter 7: Generate Image Function π
|
74 |
+
def generate_image(text_prompt, seed, quality, server):
|
75 |
+
steps_map = {
|
76 |
+
"Low": 8,
|
77 |
+
"Medium": 16,
|
78 |
+
"High": 30
|
79 |
+
}
|
80 |
+
steps = steps_map[quality]
|
81 |
+
|
82 |
+
prompt_text = f"""
|
83 |
+
{{
|
84 |
+
"3": {{
|
85 |
"class_type": "KSampler",
|
86 |
+
"inputs": {{
|
87 |
"cfg": 8,
|
88 |
"denoise": 1,
|
89 |
"latent_image": [
|
|
|
104 |
],
|
105 |
"sampler_name": "euler",
|
106 |
"scheduler": "normal",
|
107 |
+
"seed": {seed},
|
108 |
+
"steps": {steps}
|
109 |
+
}}
|
110 |
+
}},
|
111 |
+
"4": {{
|
112 |
"class_type": "CheckpointLoaderSimple",
|
113 |
+
"inputs": {{
|
114 |
"ckpt_name": "v1-5-pruned-emaonly.ckpt"
|
115 |
+
}}
|
116 |
+
}},
|
117 |
+
"5": {{
|
118 |
"class_type": "EmptyLatentImage",
|
119 |
+
"inputs": {{
|
120 |
"batch_size": 1,
|
121 |
"height": 512,
|
122 |
"width": 768
|
123 |
+
}}
|
124 |
+
}},
|
125 |
+
"6": {{
|
126 |
"class_type": "CLIPTextEncode",
|
127 |
+
"inputs": {{
|
128 |
"clip": [
|
129 |
"4",
|
130 |
1
|
131 |
],
|
132 |
+
"text": "{text_prompt}"
|
133 |
+
}}
|
134 |
+
}},
|
135 |
+
"7": {{
|
136 |
"class_type": "CLIPTextEncode",
|
137 |
+
"inputs": {{
|
138 |
"clip": [
|
139 |
"4",
|
140 |
1
|
141 |
],
|
142 |
"text": "bad hands"
|
143 |
+
}}
|
144 |
+
}},
|
145 |
+
"8": {{
|
146 |
"class_type": "VAEDecode",
|
147 |
+
"inputs": {{
|
148 |
"samples": [
|
149 |
"3",
|
150 |
0
|
|
|
153 |
"4",
|
154 |
2
|
155 |
]
|
156 |
+
}}
|
157 |
+
}},
|
158 |
+
"save_image_websocket_node": {{
|
159 |
"class_type": "SaveImageWebsocket",
|
160 |
+
"inputs": {{
|
161 |
"images": [
|
162 |
"8",
|
163 |
0
|
164 |
]
|
165 |
+
}}
|
166 |
+
}}
|
167 |
+
}}
|
168 |
"""
|
169 |
|
170 |
prompt = json.loads(prompt_text)
|
|
|
|
|
171 |
server_address = "3.14.144.23:8188" if server == "AWS Server" else "192.168.50.136:8188"
|
172 |
ws = websocket.WebSocket()
|
173 |
ws.connect(f"ws://{server_address}/ws?clientId={client_id}")
|
|
|
196 |
with gr.Column():
|
197 |
text_prompt = gr.Textbox(label="Text Prompt", value="masterpiece best quality man")
|
198 |
seed = gr.Number(label="Seed", value=5)
|
199 |
+
quality = gr.Radio(label="Quality", choices=["Low", "Medium", "High"], value="Low")
|
200 |
server = gr.Radio(label="Server", choices=["AWS Server", "Home Server"], value="AWS Server")
|
201 |
generate_button = gr.Button("Generate Image")
|
202 |
cancel_button = gr.Button("Cancel Request")
|
|
|
204 |
with gr.Column():
|
205 |
output_image = gr.Image(label="Generated Image")
|
206 |
|
207 |
+
generate_button.click(fn=generate_image, inputs=[text_prompt, seed, quality, server], outputs=output_image)
|
208 |
cancel_button.click(fn=cancel_request, inputs=[], outputs=[])
|
209 |
|
210 |
demo.launch()
|