rayochoajr commited on
Commit
2200845
Β·
verified Β·
1 Parent(s): e9f7e38

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +44 -38
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
- prompt_text = """
76
- {
77
- "3": {
 
 
 
 
 
 
 
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": 8566257,
101
- "steps": 8
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": "masterpiece best quality girl"
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()