Spaces:
Runtime error
Runtime error
Add share_btn
Browse files
app.py
CHANGED
@@ -8,6 +8,8 @@ import cv2
|
|
8 |
from io import BytesIO
|
9 |
from PIL import Image, ImageFilter
|
10 |
|
|
|
|
|
11 |
# Constants
|
12 |
low_threshold = 100
|
13 |
high_threshold = 200
|
@@ -30,7 +32,7 @@ async () => {
|
|
30 |
get_js_image = """
|
31 |
async (canvas, prompt) => {
|
32 |
const poseMakerEl = document.querySelector("pose-maker");
|
33 |
-
const imgBase64 = poseMakerEl.
|
34 |
return [imgBase64, prompt]
|
35 |
}
|
36 |
"""
|
@@ -80,7 +82,7 @@ def generate_images(canvas, prompt):
|
|
80 |
num_inference_steps=20,
|
81 |
negative_prompt="longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality",
|
82 |
)
|
83 |
-
all_outputs = [
|
84 |
for image in output.images:
|
85 |
all_outputs.append(image)
|
86 |
return all_outputs
|
@@ -104,7 +106,7 @@ async (pose) => {
|
|
104 |
}
|
105 |
"""
|
106 |
|
107 |
-
with gr.Blocks() as blocks:
|
108 |
gr.HTML(
|
109 |
"""
|
110 |
<div style="text-align: center; margin: 0 auto;">
|
@@ -137,10 +139,15 @@ with gr.Blocks() as blocks:
|
|
137 |
label="Enter your prompt",
|
138 |
max_lines=1,
|
139 |
placeholder="best quality, extremely detailed",
|
|
|
140 |
)
|
141 |
run_button = gr.Button("Generate")
|
|
|
|
|
|
|
|
|
142 |
with gr.Column():
|
143 |
-
gallery = gr.Gallery().style(grid=[2], height="auto")
|
144 |
rotation_axis.change(fn=placeholder_fn,
|
145 |
inputs=[rotation_axis],
|
146 |
outputs=[],
|
@@ -155,6 +162,7 @@ with gr.Blocks() as blocks:
|
|
155 |
inputs=[canvas, prompt],
|
156 |
outputs=[gallery],
|
157 |
_js=get_js_image)
|
|
|
158 |
blocks.load(None, None, None, _js=load_js)
|
159 |
|
160 |
blocks.launch(debug=True)
|
|
|
8 |
from io import BytesIO
|
9 |
from PIL import Image, ImageFilter
|
10 |
|
11 |
+
from share_btn import community_icon_html, loading_icon_html, share_js, share_btn_css
|
12 |
+
|
13 |
# Constants
|
14 |
low_threshold = 100
|
15 |
high_threshold = 200
|
|
|
32 |
get_js_image = """
|
33 |
async (canvas, prompt) => {
|
34 |
const poseMakerEl = document.querySelector("pose-maker");
|
35 |
+
const imgBase64 = poseMakerEl.captureScreenshotDepthMap();
|
36 |
return [imgBase64, prompt]
|
37 |
}
|
38 |
"""
|
|
|
82 |
num_inference_steps=20,
|
83 |
negative_prompt="longbody, lowres, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality",
|
84 |
)
|
85 |
+
all_outputs = []
|
86 |
for image in output.images:
|
87 |
all_outputs.append(image)
|
88 |
return all_outputs
|
|
|
106 |
}
|
107 |
"""
|
108 |
|
109 |
+
with gr.Blocks(css=share_btn_css) as blocks:
|
110 |
gr.HTML(
|
111 |
"""
|
112 |
<div style="text-align: center; margin: 0 auto;">
|
|
|
139 |
label="Enter your prompt",
|
140 |
max_lines=1,
|
141 |
placeholder="best quality, extremely detailed",
|
142 |
+
elem_id="prompt",
|
143 |
)
|
144 |
run_button = gr.Button("Generate")
|
145 |
+
with gr.Group(elem_id="share-btn-container"):
|
146 |
+
community_icon = gr.HTML(community_icon_html)
|
147 |
+
loading_icon = gr.HTML(loading_icon_html)
|
148 |
+
share_button = gr.Button("Share to community", elem_id="share-btn")
|
149 |
with gr.Column():
|
150 |
+
gallery = gr.Gallery(elem_id="gallery").style(grid=[2], height="auto")
|
151 |
rotation_axis.change(fn=placeholder_fn,
|
152 |
inputs=[rotation_axis],
|
153 |
outputs=[],
|
|
|
162 |
inputs=[canvas, prompt],
|
163 |
outputs=[gallery],
|
164 |
_js=get_js_image)
|
165 |
+
share_button.click(None, [], [], _js=share_js)
|
166 |
blocks.load(None, None, None, _js=load_js)
|
167 |
|
168 |
blocks.launch(debug=True)
|