Update app.py
Browse files
app.py
CHANGED
|
@@ -220,18 +220,30 @@ def create_interface():
|
|
| 220 |
""")
|
| 221 |
|
| 222 |
with gr.Column(elem_classes="container"):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 223 |
with gr.Group(elem_classes="controls-group"):
|
| 224 |
gr.Markdown("### 📐 Format et Orientation")
|
| 225 |
with gr.Row():
|
| 226 |
format_size = gr.Dropdown(
|
| 227 |
choices=["A4", "A3", "A2", "A1", "A0"],
|
| 228 |
value="A4",
|
| 229 |
-
label="Format"
|
|
|
|
| 230 |
)
|
| 231 |
orientation = gr.Radio(
|
| 232 |
choices=["Portrait", "Paysage"],
|
| 233 |
value="Portrait",
|
| 234 |
-
label="Orientation"
|
|
|
|
| 235 |
)
|
| 236 |
|
| 237 |
with gr.Group(elem_classes="controls-group"):
|
|
@@ -240,75 +252,89 @@ def create_interface():
|
|
| 240 |
style = gr.Dropdown(
|
| 241 |
choices=list(ART_STYLES.keys()),
|
| 242 |
value="Art Moderne",
|
| 243 |
-
label="Style artistique"
|
|
|
|
| 244 |
)
|
| 245 |
layout = gr.Dropdown(
|
| 246 |
choices=list(COMPOSITION_PARAMS["Layouts"].keys()),
|
| 247 |
value="Centré",
|
| 248 |
-
label="Composition"
|
|
|
|
| 249 |
)
|
| 250 |
|
| 251 |
with gr.Row():
|
| 252 |
ambiance = gr.Dropdown(
|
| 253 |
choices=list(COMPOSITION_PARAMS["Ambiances"].keys()),
|
| 254 |
value="Dramatique",
|
| 255 |
-
label="Ambiance"
|
|
|
|
| 256 |
)
|
| 257 |
palette = gr.Dropdown(
|
| 258 |
choices=list(COMPOSITION_PARAMS["Palette"].keys()),
|
| 259 |
value="Contrasté",
|
| 260 |
-
label="Palette"
|
|
|
|
| 261 |
)
|
| 262 |
|
| 263 |
with gr.Group(elem_classes="controls-group"):
|
| 264 |
-
gr.Markdown("### 📝 Contenu
|
|
|
|
| 265 |
subject = gr.Textbox(
|
| 266 |
label="Description",
|
| 267 |
-
placeholder="
|
|
|
|
| 268 |
)
|
| 269 |
title = gr.Textbox(
|
| 270 |
label="Titre",
|
| 271 |
-
placeholder="
|
|
|
|
| 272 |
)
|
| 273 |
|
| 274 |
with gr.Group(elem_classes="advanced-controls"):
|
| 275 |
-
gr.Markdown("### 🎯 Ajustements Fins
|
|
|
|
| 276 |
with gr.Row():
|
| 277 |
detail_level = gr.Slider(
|
| 278 |
minimum=1,
|
| 279 |
maximum=10,
|
| 280 |
value=7,
|
| 281 |
step=1,
|
| 282 |
-
label="Niveau de Détail"
|
|
|
|
| 283 |
)
|
| 284 |
contrast = gr.Slider(
|
| 285 |
minimum=1,
|
| 286 |
maximum=10,
|
| 287 |
value=5,
|
| 288 |
step=1,
|
| 289 |
-
label="Contraste"
|
|
|
|
| 290 |
)
|
| 291 |
saturation = gr.Slider(
|
| 292 |
minimum=1,
|
| 293 |
maximum=10,
|
| 294 |
value=5,
|
| 295 |
step=1,
|
| 296 |
-
label="Saturation"
|
|
|
|
| 297 |
)
|
| 298 |
|
| 299 |
with gr.Group(elem_classes="controls-group"):
|
|
|
|
| 300 |
with gr.Row():
|
| 301 |
quality = gr.Slider(
|
| 302 |
minimum=30,
|
| 303 |
maximum=50,
|
| 304 |
value=35,
|
| 305 |
-
label="Qualité"
|
|
|
|
| 306 |
)
|
| 307 |
creativity = gr.Slider(
|
| 308 |
minimum=5,
|
| 309 |
maximum=15,
|
| 310 |
value=7.5,
|
| 311 |
-
label="Créativité"
|
|
|
|
| 312 |
)
|
| 313 |
|
| 314 |
with gr.Row():
|
|
|
|
| 220 |
""")
|
| 221 |
|
| 222 |
with gr.Column(elem_classes="container"):
|
| 223 |
+
# Zone d'introduction et guide
|
| 224 |
+
gr.Markdown("""
|
| 225 |
+
### 🎯 Guide d'utilisation
|
| 226 |
+
1. Choisissez le format et l'orientation de votre affiche
|
| 227 |
+
2. Sélectionnez un style artistique et une composition
|
| 228 |
+
3. Décrivez votre vision dans "Description"
|
| 229 |
+
4. Ajustez les paramètres fins selon vos besoins
|
| 230 |
+
5. Cliquez sur "Générer" !
|
| 231 |
+
""")
|
| 232 |
+
|
| 233 |
with gr.Group(elem_classes="controls-group"):
|
| 234 |
gr.Markdown("### 📐 Format et Orientation")
|
| 235 |
with gr.Row():
|
| 236 |
format_size = gr.Dropdown(
|
| 237 |
choices=["A4", "A3", "A2", "A1", "A0"],
|
| 238 |
value="A4",
|
| 239 |
+
label="Format",
|
| 240 |
+
info="Choisissez la taille de votre affiche. A4 est le plus petit, A0 le plus grand."
|
| 241 |
)
|
| 242 |
orientation = gr.Radio(
|
| 243 |
choices=["Portrait", "Paysage"],
|
| 244 |
value="Portrait",
|
| 245 |
+
label="Orientation",
|
| 246 |
+
info="Portrait (vertical) ou Paysage (horizontal)"
|
| 247 |
)
|
| 248 |
|
| 249 |
with gr.Group(elem_classes="controls-group"):
|
|
|
|
| 252 |
style = gr.Dropdown(
|
| 253 |
choices=list(ART_STYLES.keys()),
|
| 254 |
value="Art Moderne",
|
| 255 |
+
label="Style artistique",
|
| 256 |
+
info="Le style global de votre affiche. Chaque style a ses propres caractéristiques uniques."
|
| 257 |
)
|
| 258 |
layout = gr.Dropdown(
|
| 259 |
choices=list(COMPOSITION_PARAMS["Layouts"].keys()),
|
| 260 |
value="Centré",
|
| 261 |
+
label="Composition",
|
| 262 |
+
info="Comment les éléments seront organisés dans l'affiche"
|
| 263 |
)
|
| 264 |
|
| 265 |
with gr.Row():
|
| 266 |
ambiance = gr.Dropdown(
|
| 267 |
choices=list(COMPOSITION_PARAMS["Ambiances"].keys()),
|
| 268 |
value="Dramatique",
|
| 269 |
+
label="Ambiance",
|
| 270 |
+
info="L'atmosphère générale de votre affiche"
|
| 271 |
)
|
| 272 |
palette = gr.Dropdown(
|
| 273 |
choices=list(COMPOSITION_PARAMS["Palette"].keys()),
|
| 274 |
value="Contrasté",
|
| 275 |
+
label="Palette",
|
| 276 |
+
info="Les types de couleurs utilisées"
|
| 277 |
)
|
| 278 |
|
| 279 |
with gr.Group(elem_classes="controls-group"):
|
| 280 |
+
gr.Markdown("""### 📝 Contenu
|
| 281 |
+
*Conseils pour la description : soyez précis sur ce que vous souhaitez voir dans l'affiche*""")
|
| 282 |
subject = gr.Textbox(
|
| 283 |
label="Description",
|
| 284 |
+
placeholder="Ex: Une affiche moderne pour un festival de musique, avec des instruments colorés flottant dans l'espace",
|
| 285 |
+
info="Décrivez en détail ce que vous souhaitez voir dans votre affiche"
|
| 286 |
)
|
| 287 |
title = gr.Textbox(
|
| 288 |
label="Titre",
|
| 289 |
+
placeholder="Le titre qui apparaîtra sur l'affiche...",
|
| 290 |
+
info="Laissez vide si vous ne voulez pas de titre sur l'affiche"
|
| 291 |
)
|
| 292 |
|
| 293 |
with gr.Group(elem_classes="advanced-controls"):
|
| 294 |
+
gr.Markdown("""### 🎯 Ajustements Fins
|
| 295 |
+
*Ces paramètres permettent d'affiner le résultat final*""")
|
| 296 |
with gr.Row():
|
| 297 |
detail_level = gr.Slider(
|
| 298 |
minimum=1,
|
| 299 |
maximum=10,
|
| 300 |
value=7,
|
| 301 |
step=1,
|
| 302 |
+
label="Niveau de Détail",
|
| 303 |
+
info="Plus la valeur est élevée, plus l'image sera détaillée"
|
| 304 |
)
|
| 305 |
contrast = gr.Slider(
|
| 306 |
minimum=1,
|
| 307 |
maximum=10,
|
| 308 |
value=5,
|
| 309 |
step=1,
|
| 310 |
+
label="Contraste",
|
| 311 |
+
info="Influence l'intensité des couleurs et la différence entre les zones claires et sombres"
|
| 312 |
)
|
| 313 |
saturation = gr.Slider(
|
| 314 |
minimum=1,
|
| 315 |
maximum=10,
|
| 316 |
value=5,
|
| 317 |
step=1,
|
| 318 |
+
label="Saturation",
|
| 319 |
+
info="Contrôle la vivacité des couleurs"
|
| 320 |
)
|
| 321 |
|
| 322 |
with gr.Group(elem_classes="controls-group"):
|
| 323 |
+
gr.Markdown("### ⚙️ Paramètres de Génération")
|
| 324 |
with gr.Row():
|
| 325 |
quality = gr.Slider(
|
| 326 |
minimum=30,
|
| 327 |
maximum=50,
|
| 328 |
value=35,
|
| 329 |
+
label="Qualité",
|
| 330 |
+
info="Influence la qualité finale de l'image. Une valeur plus élevée prend plus de temps"
|
| 331 |
)
|
| 332 |
creativity = gr.Slider(
|
| 333 |
minimum=5,
|
| 334 |
maximum=15,
|
| 335 |
value=7.5,
|
| 336 |
+
label="Créativité",
|
| 337 |
+
info="Plus la valeur est élevée, plus l'IA prendra de libertés créatives"
|
| 338 |
)
|
| 339 |
|
| 340 |
with gr.Row():
|