Spaces:
Runtime error
Runtime error
chore: Update Gradio UI layout for image generation and processing
Browse files
app.py
CHANGED
@@ -190,100 +190,93 @@ pipe = StableDiffusionXLPipeline.from_pretrained(
|
|
190 |
|
191 |
print('Loading Finished!')
|
192 |
|
193 |
-
# Gradio UI
|
194 |
with gr.Blocks() as demo:
|
195 |
with gr.Group():
|
196 |
with gr.Row():
|
197 |
-
prompt = gr.Textbox(label='Enter your prompt (English)', scale=
|
198 |
submit_prompt = gr.Button(
|
199 |
'Generate Image', scale=1, variant='primary')
|
200 |
-
img = gr.Image(
|
201 |
-
|
202 |
-
with gr.Row(variant="panel"):
|
203 |
-
with gr.Column():
|
204 |
-
with gr.Row():
|
205 |
-
input_image = gr.Image(
|
206 |
-
label="Input Image",
|
207 |
-
image_mode="RGBA",
|
208 |
-
sources="upload",
|
209 |
-
type="pil",
|
210 |
-
elem_id="content_image",
|
211 |
-
)
|
212 |
-
processed_image = gr.Image(
|
213 |
-
label="Processed Image",
|
214 |
-
image_mode="RGBA",
|
215 |
-
type="pil",
|
216 |
-
interactive=False
|
217 |
-
)
|
218 |
-
with gr.Row():
|
219 |
-
with gr.Group():
|
220 |
-
do_remove_background = gr.Checkbox(
|
221 |
-
label="Remove Background", value=True)
|
222 |
-
sample_seed = gr.Number(
|
223 |
-
value=42, label="Seed Value", precision=0)
|
224 |
-
sample_steps = gr.Slider(
|
225 |
-
label="Sample Steps", minimum=30, maximum=75, value=75, step=5)
|
226 |
-
|
227 |
-
with gr.Row():
|
228 |
-
submit_mesh = gr.Button(
|
229 |
-
"Generate", elem_id="generate", variant="primary")
|
230 |
|
|
|
231 |
with gr.Row(variant="panel"):
|
232 |
-
gr.Examples(
|
233 |
-
examples=[os.path.join("examples", img_name)
|
234 |
-
for img_name in sorted(os.listdir("examples"))],
|
235 |
-
inputs=[input_image],
|
236 |
-
label="Examples",
|
237 |
-
cache_examples=False,
|
238 |
-
examples_per_page=16
|
239 |
-
)
|
240 |
-
|
241 |
-
with gr.Column():
|
242 |
-
with gr.Row():
|
243 |
with gr.Column():
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
gr.Markdown(
|
258 |
-
|
259 |
-
with gr.Tab("GLB"):
|
260 |
-
output_model_glb = gr.Model3D(
|
261 |
-
label="Output Model (GLB Format)",
|
262 |
-
interactive=False,
|
263 |
-
)
|
264 |
-
gr.Markdown(
|
265 |
-
"Note: The model shown here has a darker appearance. Download to get correct results.")
|
266 |
-
|
267 |
-
with gr.Row():
|
268 |
-
gr.Markdown(
|
269 |
-
'''Try a different <b>seed value</b> if the result is unsatisfying (Default: 42).''')
|
270 |
|
271 |
mv_images = gr.State()
|
272 |
|
273 |
submit_prompt.click(fn=generate_image, inputs=[prompt], outputs=img)
|
274 |
-
|
275 |
submit_mesh.click(fn=check_input_image, inputs=[input_image]).success(
|
276 |
-
fn=preprocess,
|
277 |
-
|
278 |
-
outputs=[processed_image],
|
279 |
).success(
|
280 |
-
fn=generate_mvs,
|
281 |
-
|
282 |
-
outputs=[mv_images, mv_show_images]
|
283 |
).success(
|
284 |
-
fn=make3d,
|
285 |
-
|
286 |
-
outputs=[output_model_obj, output_model_glb]
|
287 |
)
|
288 |
|
289 |
demo.launch()
|
|
|
190 |
|
191 |
print('Loading Finished!')
|
192 |
|
|
|
193 |
with gr.Blocks() as demo:
|
194 |
with gr.Group():
|
195 |
with gr.Row():
|
196 |
+
prompt = gr.Textbox(label='Enter your prompt (English)', scale=2)
|
197 |
submit_prompt = gr.Button(
|
198 |
'Generate Image', scale=1, variant='primary')
|
199 |
+
img = gr.Image()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
|
201 |
+
with gr.Tab("Image Processing"):
|
202 |
with gr.Row(variant="panel"):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
with gr.Column():
|
204 |
+
with gr.Row():
|
205 |
+
input_image = gr.Image(
|
206 |
+
label="Input Image",
|
207 |
+
image_mode="RGBA",
|
208 |
+
sources="upload",
|
209 |
+
type="pil",
|
210 |
+
elem_id="content_image",
|
211 |
+
)
|
212 |
+
processed_image = gr.Image(
|
213 |
+
label="Processed Image",
|
214 |
+
image_mode="RGBA",
|
215 |
+
type="pil",
|
216 |
+
interactive=False
|
217 |
+
)
|
218 |
+
with gr.Row():
|
219 |
+
with gr.Group():
|
220 |
+
do_remove_background = gr.Checkbox(
|
221 |
+
label="Remove Background", value=True)
|
222 |
+
sample_seed = gr.Number(
|
223 |
+
value=42, label="Seed Value", precision=0)
|
224 |
+
sample_steps = gr.Slider(
|
225 |
+
label="Sample Steps", minimum=30, maximum=75, value=75, step=5)
|
226 |
+
with gr.Row():
|
227 |
+
submit_mesh = gr.Button(
|
228 |
+
"Generate", elem_id="generate", variant="primary")
|
229 |
+
with gr.Row(variant="panel"):
|
230 |
+
gr.Examples(
|
231 |
+
examples=[os.path.join("examples", img_name) for img_name in sorted(
|
232 |
+
os.listdir("examples"))],
|
233 |
+
inputs=[input_image],
|
234 |
+
label="Examples",
|
235 |
+
cache_examples=False,
|
236 |
+
examples_per_page=16
|
237 |
+
)
|
238 |
+
|
239 |
+
with gr.Tab("3D Model"):
|
240 |
+
with gr.Column():
|
241 |
+
with gr.Row():
|
242 |
+
with gr.Column():
|
243 |
+
mv_show_images = gr.Image(
|
244 |
+
label="Generated Multi-views",
|
245 |
+
type="pil",
|
246 |
+
width=379,
|
247 |
+
interactive=False
|
248 |
+
)
|
249 |
+
with gr.Row():
|
250 |
+
with gr.Tab("OBJ"):
|
251 |
+
output_model_obj = gr.Model3D(
|
252 |
+
label="Output Model (OBJ Format)",
|
253 |
+
interactive=False,
|
254 |
+
)
|
255 |
+
gr.Markdown(
|
256 |
+
"Note: Downloaded .obj model will be flipped. Export .glb instead or manually flip it before usage.")
|
257 |
+
with gr.Tab("GLB"):
|
258 |
+
output_model_glb = gr.Model3D(
|
259 |
+
label="Output Model (GLB Format)",
|
260 |
+
interactive=False,
|
261 |
+
)
|
262 |
+
gr.Markdown(
|
263 |
+
"Note: The model shown here has a darker appearance. Download to get correct results.")
|
264 |
+
with gr.Row():
|
265 |
gr.Markdown(
|
266 |
+
'''Try a different <b>seed value</b> if the result is unsatisfying (Default: 42).''')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
|
268 |
mv_images = gr.State()
|
269 |
|
270 |
submit_prompt.click(fn=generate_image, inputs=[prompt], outputs=img)
|
|
|
271 |
submit_mesh.click(fn=check_input_image, inputs=[input_image]).success(
|
272 |
+
fn=preprocess, inputs=[input_image,
|
273 |
+
do_remove_background], outputs=[processed_image],
|
|
|
274 |
).success(
|
275 |
+
fn=generate_mvs, inputs=[processed_image, sample_steps, sample_seed], outputs=[
|
276 |
+
mv_images, mv_show_images]
|
|
|
277 |
).success(
|
278 |
+
fn=make3d, inputs=[mv_images], outputs=[
|
279 |
+
output_model_obj, output_model_glb]
|
|
|
280 |
)
|
281 |
|
282 |
demo.launch()
|