comrender commited on
Commit
b4f8216
Β·
verified Β·
1 Parent(s): 9b505fb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -17
app.py CHANGED
@@ -12,6 +12,7 @@ from gradio_imageslider import ImageSlider
12
  from PIL import Image
13
  from huggingface_hub import snapshot_download
14
  import requests
 
15
 
16
  # For ESRGAN (requires pip install basicsr gfpgan)
17
  try:
@@ -233,7 +234,6 @@ def tiled_flux_img2img(pipe, prompt, image, strength, steps, guidance, generator
233
  def enhance_image(
234
  image_input,
235
  image_url,
236
- seed,
237
  randomize_seed,
238
  num_inference_steps,
239
  upscale_factor,
@@ -251,8 +251,16 @@ def enhance_image(
251
  else:
252
  raise gr.Error("Please provide an image (upload or URL)")
253
 
 
 
 
 
 
 
254
  if randomize_seed:
255
  seed = random.randint(0, MAX_SEED)
 
 
256
 
257
  true_input_image = input_image
258
 
@@ -300,15 +308,15 @@ def enhance_image(
300
  # Resize input image to match output size for slider alignment
301
  resized_input = true_input_image.resize(image.size, resample=Image.LANCZOS)
302
 
303
- return [resized_input, image]
304
 
305
 
306
  # Create Gradio interface
307
- with gr.Blocks(css=css, title="🎨 AI Image Upscaler - Florence-2 + FLUX") as demo:
308
  gr.HTML("""
309
  <div class="main-header">
310
- <h1>🎨 AI Image Upscaler</h1>
311
- <p>Upload an image or provide a URL to upscale it using Florence-2 captioning and FLUX upscaling</p>
312
  <p>Currently running on <strong>{}</strong></p>
313
  </div>
314
  """.format(power_device))
@@ -358,7 +366,7 @@ with gr.Blocks(css=css, title="🎨 AI Image Upscaler - Florence-2 + FLUX") as d
358
  )
359
 
360
  num_inference_steps = gr.Slider(
361
- label="Number of Inference Steps",
362
  minimum=8,
363
  maximum=50,
364
  step=1,
@@ -367,7 +375,7 @@ with gr.Blocks(css=css, title="🎨 AI Image Upscaler - Florence-2 + FLUX") as d
367
  )
368
 
369
  denoising_strength = gr.Slider(
370
- label="Denoising Strength",
371
  minimum=0.0,
372
  maximum=1.0,
373
  step=0.05,
@@ -380,14 +388,6 @@ with gr.Blocks(css=css, title="🎨 AI Image Upscaler - Florence-2 + FLUX") as d
380
  label="Randomize seed",
381
  value=True
382
  )
383
- seed = gr.Slider(
384
- label="Seed",
385
- minimum=0,
386
- maximum=MAX_SEED,
387
- step=1,
388
- value=42,
389
- interactive=True
390
- )
391
 
392
  enhance_btn = gr.Button(
393
  "πŸš€ Upscale Image",
@@ -406,13 +406,20 @@ with gr.Blocks(css=css, title="🎨 AI Image Upscaler - Florence-2 + FLUX") as d
406
  label=None # Remove default label
407
  )
408
 
 
 
 
 
 
 
 
 
409
  # Event handler
410
  enhance_btn.click(
411
  fn=enhance_image,
412
  inputs=[
413
  input_image,
414
  image_url,
415
- seed,
416
  randomize_seed,
417
  num_inference_steps,
418
  upscale_factor,
@@ -420,7 +427,7 @@ with gr.Blocks(css=css, title="🎨 AI Image Upscaler - Florence-2 + FLUX") as d
420
  use_generated_caption,
421
  custom_prompt,
422
  ],
423
- outputs=[result_slider]
424
  )
425
 
426
  gr.HTML("""
 
12
  from PIL import Image
13
  from huggingface_hub import snapshot_download
14
  import requests
15
+ import io
16
 
17
  # For ESRGAN (requires pip install basicsr gfpgan)
18
  try:
 
234
  def enhance_image(
235
  image_input,
236
  image_url,
 
237
  randomize_seed,
238
  num_inference_steps,
239
  upscale_factor,
 
251
  else:
252
  raise gr.Error("Please provide an image (upload or URL)")
253
 
254
+ # Convert input image to PNG in backend
255
+ buffer = io.BytesIO()
256
+ input_image.save(buffer, format="PNG")
257
+ buffer.seek(0)
258
+ input_image = Image.open(buffer)
259
+
260
  if randomize_seed:
261
  seed = random.randint(0, MAX_SEED)
262
+ else:
263
+ seed = 42
264
 
265
  true_input_image = input_image
266
 
 
308
  # Resize input image to match output size for slider alignment
309
  resized_input = true_input_image.resize(image.size, resample=Image.LANCZOS)
310
 
311
+ return [resized_input, image], image
312
 
313
 
314
  # Create Gradio interface
315
+ with gr.Blocks(css=css, title="🎨 Flux dev Creative Upscaler - Florence-2 + FLUX") as demo:
316
  gr.HTML("""
317
  <div class="main-header">
318
+ <h1>🎨 Flux dev Creative Upscaler</h1>
319
+ <p>Upload an image or provide a URL to upscale it using Florence-2 captioning and FLUX dev with Ultimate SD Upscaler</p>
320
  <p>Currently running on <strong>{}</strong></p>
321
  </div>
322
  """.format(power_device))
 
366
  )
367
 
368
  num_inference_steps = gr.Slider(
369
+ label="Steps (25 Recommended)",
370
  minimum=8,
371
  maximum=50,
372
  step=1,
 
375
  )
376
 
377
  denoising_strength = gr.Slider(
378
+ label="Creativity (Denoising)",
379
  minimum=0.0,
380
  maximum=1.0,
381
  step=0.05,
 
388
  label="Randomize seed",
389
  value=True
390
  )
 
 
 
 
 
 
 
 
391
 
392
  enhance_btn = gr.Button(
393
  "πŸš€ Upscale Image",
 
406
  label=None # Remove default label
407
  )
408
 
409
+ upscaled_output = gr.Image(
410
+ label="Upscaled Image (Download as PNG)",
411
+ type="pil",
412
+ interactive=False,
413
+ show_download_button=True,
414
+ height=600,
415
+ )
416
+
417
  # Event handler
418
  enhance_btn.click(
419
  fn=enhance_image,
420
  inputs=[
421
  input_image,
422
  image_url,
 
423
  randomize_seed,
424
  num_inference_steps,
425
  upscale_factor,
 
427
  use_generated_caption,
428
  custom_prompt,
429
  ],
430
+ outputs=[result_slider, upscaled_output]
431
  )
432
 
433
  gr.HTML("""