erwold commited on
Commit
a349a7f
·
1 Parent(s): 00a1ccb

Initial Commit

Browse files
Files changed (1) hide show
  1. app.py +90 -53
app.py CHANGED
@@ -163,61 +163,98 @@ class FluxInterface:
163
  interface = FluxInterface()
164
 
165
  # Create Gradio interface
166
- with gr.Blocks() as demo:
167
- gr.Markdown("""
168
- # 🎨 Qwen2vl-Flux Image Variation Demo
169
- Upload an image and get AI-generated variations. You can optionally add a text prompt to guide the generation.
170
- """)
171
-
172
- with gr.Row():
173
- with gr.Column(scale=1):
174
- input_image = gr.Image(
175
- label="Upload Image",
176
- type="pil",
177
- height=384
178
- )
179
- prompt = gr.Textbox(
180
- label="Optional Text Prompt, As Long As Possible",
181
- placeholder="Enter text prompt here (optional)",
182
- lines=2
183
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
 
185
- with gr.Group():
186
- guidance = gr.Slider(
187
- minimum=1,
188
- maximum=10,
189
- value=3.5,
190
- step=0.5,
191
- label="Guidance Scale"
192
- )
193
- steps = gr.Slider(
194
- minimum=1,
195
- maximum=50,
196
- value=28,
197
- step=1,
198
- label="Number of Steps"
199
- )
200
- num_images = gr.Slider(
201
- minimum=1,
202
- maximum=4,
203
- value=2,
204
- step=1,
205
- label="Number of Images"
206
- )
207
- seed = gr.Number(
208
- label="Random Seed (optional)",
209
- precision=0
210
  )
211
-
212
- submit_btn = gr.Button("Generate Variations", variant="primary")
213
-
214
- with gr.Column(scale=1):
215
- output_gallery = gr.Gallery(
216
- label="Generated Variations",
217
- columns=2,
218
- show_label=True
219
- )
220
-
221
  # Set up the generation function
222
  submit_btn.click(
223
  fn=interface.generate,
 
163
  interface = FluxInterface()
164
 
165
  # Create Gradio interface
166
+ with gr.Blocks(css="""
167
+ .container { max-width: 1200px; margin: auto; padding: 20px; }
168
+ .header { text-align: center; margin-bottom: 40px; }
169
+ .gr-form { border: 1px solid #e0e0e0; padding: 20px; border-radius: 8px; background: white; }
170
+ .gr-box { border: 1px solid #e0e0e0; padding: 10px; border-radius: 4px; margin: 5px 0; }
171
+ .gr-button { height: 40px; }
172
+ .gr-gallery { min-height: 400px; }
173
+ """) as demo:
174
+ with gr.Column(elem_classes="container"):
175
+ gr.Markdown("""
176
+ <div class="header">
177
+ # 🎨 Qwen2vl-Flux Image Variation Demo
178
+ Upload an image and get AI-generated variations. You can optionally add a text prompt to guide the generation.
179
+ </div>
180
+ """)
181
+
182
+ with gr.Row():
183
+ with gr.Column(scale=1, min_width=400):
184
+ with gr.Box(elem_classes="gr-form"):
185
+ input_image = gr.Image(
186
+ label="Upload Image",
187
+ type="pil",
188
+ height=400,
189
+ elem_classes="gr-box"
190
+ )
191
+ prompt = gr.Textbox(
192
+ label="Optional Text Prompt",
193
+ placeholder="Enter text prompt here (optional)",
194
+ lines=2,
195
+ elem_classes="gr-box"
196
+ )
197
+
198
+ with gr.Group():
199
+ with gr.Row():
200
+ with gr.Column(scale=1):
201
+ guidance = gr.Slider(
202
+ minimum=1,
203
+ maximum=10,
204
+ value=3.5,
205
+ step=0.5,
206
+ label="Guidance Scale",
207
+ elem_classes="gr-box"
208
+ )
209
+ with gr.Column(scale=1):
210
+ steps = gr.Slider(
211
+ minimum=1,
212
+ maximum=50,
213
+ value=28,
214
+ step=1,
215
+ label="Number of Steps",
216
+ elem_classes="gr-box"
217
+ )
218
+ with gr.Row():
219
+ with gr.Column(scale=1):
220
+ num_images = gr.Slider(
221
+ minimum=1,
222
+ maximum=4,
223
+ value=2,
224
+ step=1,
225
+ label="Number of Images",
226
+ elem_classes="gr-box"
227
+ )
228
+ with gr.Column(scale=1):
229
+ seed = gr.Number(
230
+ label="Random Seed (optional)",
231
+ precision=0,
232
+ elem_classes="gr-box"
233
+ )
234
+
235
+ submit_btn = gr.Button(
236
+ "Generate Variations",
237
+ variant="primary",
238
+ elem_classes="gr-button"
239
+ )
240
 
241
+ with gr.Column(scale=1, min_width=400):
242
+ output_gallery = gr.Gallery(
243
+ label="Generated Variations",
244
+ columns=2,
245
+ rows=2,
246
+ height=600,
247
+ elem_classes="gr-gallery"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
248
  )
249
+
250
+ gr.Markdown("""
251
+ ### Tips:
252
+ - Higher guidance scale values (1-10) result in outputs that more closely follow the prompt
253
+ - More steps generally produce better quality but take longer
254
+ - You can generate up to 4 variations at once
255
+ - Set a seed for reproducible results
256
+ """)
257
+
 
258
  # Set up the generation function
259
  submit_btn.click(
260
  fn=interface.generate,