LPX55 commited on
Commit
0f5d03e
·
verified ·
1 Parent(s): e56f38c

ui: make preset prompting more user friendly on fe (#4)

Browse files

- ui: make preset prompting more user friendly on fe (0df64d5394854038780b8ea01ec7dcb371c724ec)

Files changed (1) hide show
  1. app_local.py +40 -1
app_local.py CHANGED
@@ -236,7 +236,24 @@ if is_xformers_available():
236
  else:
237
  print("xformers not available")
238
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
 
 
240
  @spaces.GPU()
241
  def infer(
242
  image,
@@ -442,6 +459,15 @@ with gr.Blocks(title="Qwen Image Edit - Fast Lightning Mode w/ Batch") as demo:
442
  interactive=True
443
  )
444
 
 
 
 
 
 
 
 
 
 
445
  run_button = gr.Button(
446
  "Generate Edit(s)",
447
  variant="primary"
@@ -495,6 +521,19 @@ with gr.Blocks(title="Qwen Image Edit - Fast Lightning Mode w/ Batch") as demo:
495
  value="<div style='padding:15px; margin-top:15px'>"
496
  "Prompt details will appear after generation</div>"
497
  )
 
 
 
 
 
 
 
 
 
 
 
 
 
498
 
499
  # Set up processing
500
  inputs = [
@@ -506,7 +545,7 @@ with gr.Blocks(title="Qwen Image Edit - Fast Lightning Mode w/ Batch") as demo:
506
  num_inference_steps,
507
  rewrite_toggle,
508
  num_images_per_prompt,
509
- preset_dropdown # Add preset dropdown to inputs
510
  ]
511
  outputs = [result, seed, prompt_info]
512
 
 
236
  else:
237
  print("xformers not available")
238
 
239
+ # Function to update prompt preview when preset is selected
240
+ def update_prompt_preview(preset_type, base_prompt):
241
+ """Update the prompt preview display based on selected preset and base prompt"""
242
+ if preset_type and preset_type in PRESETS:
243
+ preset = PRESETS[preset_type]
244
+ preview_text = f"**Preset: {preset_type}**\n\n"
245
+ preview_text += f"*{preset['description']}*\n\n"
246
+ preview_text += "**Generated Prompts:**\n"
247
+
248
+ for i, preset_prompt in enumerate(preset["prompts"], 1):
249
+ full_prompt = f"{base_prompt}, {preset_prompt}"
250
+ preview_text += f"{i}. {full_prompt}\n"
251
+
252
+ return preview_text
253
+ else:
254
+ return "Select a preset above to see how your base prompt will be modified for batch generation."
255
 
256
+
257
  @spaces.GPU()
258
  def infer(
259
  image,
 
459
  interactive=True
460
  )
461
 
462
+ # Add prompt preview component
463
+ prompt_preview = gr.Textbox(
464
+ label="📋 Prompt Preview",
465
+ interactive=False,
466
+ lines=6,
467
+ max_lines=10,
468
+ value="Enter a base prompt and select a preset above to see how your prompt will be modified for batch generation.",
469
+ placeholder="Prompt preview will appear here..."
470
+ )
471
  run_button = gr.Button(
472
  "Generate Edit(s)",
473
  variant="primary"
 
521
  value="<div style='padding:15px; margin-top:15px'>"
522
  "Prompt details will appear after generation</div>"
523
  )
524
+
525
+ # Set up prompt preview update
526
+ preset_dropdown.change(
527
+ fn=update_prompt_preview,
528
+ inputs=[preset_dropdown, prompt],
529
+ outputs=prompt_preview
530
+ )
531
+
532
+ prompt.change(
533
+ fn=update_prompt_preview,
534
+ inputs=[preset_dropdown, prompt],
535
+ outputs=prompt_preview
536
+ )
537
 
538
  # Set up processing
539
  inputs = [
 
545
  num_inference_steps,
546
  rewrite_toggle,
547
  num_images_per_prompt,
548
+ preset_dropdown
549
  ]
550
  outputs = [result, seed, prompt_info]
551