Julian Bilcke commited on
Commit
85186d4
·
1 Parent(s): e7e705d
Files changed (3) hide show
  1. app.py +2 -42
  2. page_layouts.yaml +151 -169
  3. style_presets.yaml +97 -97
app.py CHANGED
@@ -1017,49 +1017,9 @@ with gr.Blocks(css=css) as demo:
1017
  with gr.Column(elem_id="col-container"):
1018
  gr.HTML("""
1019
  <div id="logo-title" style="display: flex; align-items: center; justify-content: center; padding: 20px 0; position: relative;">
1020
- <img src="/gradio_api/file=logo.png" alt="AI Comic Factory Logo" style="max-height: 256px; width: auto; margin-right: 30px;">
1021
  <div style="position: relative; display: flex; flex-direction: column; align-items: center;">
1022
- <div class="comic-label comic-label-top" style="
1023
- background: linear-gradient(135deg, #ff6b35, #ff8c42);
1024
- color: white;
1025
- padding: 12px 28px;
1026
- font-size: 32px;
1027
- font-weight: 900;
1028
- text-transform: uppercase;
1029
- transform: rotate(-5deg);
1030
- position: relative;
1031
- margin-bottom: 10px;
1032
- border-radius: 8px;
1033
- box-shadow: 0 8px 20px rgba(255, 107, 53, 0.4);
1034
- text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
1035
- letter-spacing: 2px;
1036
- border: 3px solid #fff;
1037
- font-family: 'Impact', 'Arial Black', sans-serif;
1038
- animation: pulse 2s ease-in-out infinite;
1039
- ">
1040
- AI Comic Factory
1041
- </div>
1042
- <div class="comic-label comic-label-bottom" style="
1043
- background: linear-gradient(135deg, #ff8c42, #ffa552);
1044
- color: white;
1045
- padding: 10px 24px;
1046
- font-size: 24px;
1047
- font-weight: 800;
1048
- text-transform: uppercase;
1049
- transform: rotate(7deg);
1050
- position: relative;
1051
- border-radius: 6px;
1052
- box-shadow: 0 6px 16px rgba(255, 140, 66, 0.4);
1053
- text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.15);
1054
- letter-spacing: 1.5px;
1055
- border: 2px solid #fff;
1056
- font-family: 'Impact', 'Arial Black', sans-serif;
1057
- font-style: italic;
1058
- animation: pulse 2s ease-in-out infinite;
1059
- animation-delay: 0.5s;
1060
- ">
1061
- Gradio Edition!
1062
- </div>
1063
  <style>
1064
  @keyframes pulse {
1065
  0%, 100% {
 
1017
  with gr.Column(elem_id="col-container"):
1018
  gr.HTML("""
1019
  <div id="logo-title" style="display: flex; align-items: center; justify-content: center; padding: 20px 0; position: relative;">
1020
+ <img src="/gradio_api/file=logo.png" alt="AI Comic Factory Logo" style="max-height: 64px; width: auto; margin-right: 30px;">
1021
  <div style="position: relative; display: flex; flex-direction: column; align-items: center;">
1022
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1023
  <style>
1024
  @keyframes pulse {
1025
  0%, 100% {
page_layouts.yaml CHANGED
@@ -20,38 +20,6 @@ layouts:
20
  metadata:
21
  - {panel_type: "splash", focus: "event", composition: "square", shot_type: "full", camera_angle: "eye_level"}
22
 
23
- - id: "classic_frame"
24
- label: "Classic Frame"
25
- description: "Single image with traditional margins"
26
- positions:
27
- - [0.05, 0.05, 0.9, 0.9]
28
- metadata:
29
- - {panel_type: "establishing", focus: "environment", composition: "square", shot_type: "wide", camera_angle: "high_angle"}
30
-
31
- - id: "portrait_focus"
32
- label: "Portrait Focus"
33
- description: "Vertical emphasis for character shots"
34
- positions:
35
- - [0.15, 0.02, 0.7, 0.96]
36
- metadata:
37
- - {panel_type: "closeup", focus: "character", composition: "portrait", shot_type: "medium_closeup", camera_angle: "eye_level"}
38
-
39
- - id: "cinematic_wide"
40
- label: "Cinematic Wide"
41
- description: "Wide letterbox format"
42
- positions:
43
- - [0.02, 0.25, 0.96, 0.5]
44
- metadata:
45
- - {panel_type: "establishing", focus: "environment", composition: "wide", shot_type: "extreme_wide", camera_angle: "eye_level"}
46
-
47
- - id: "floating_center"
48
- label: "Floating Center"
49
- description: "Centered with breathing room"
50
- positions:
51
- - [0.1, 0.15, 0.8, 0.7]
52
- metadata:
53
- - {panel_type: "dialogue", focus: "character", composition: "square", shot_type: "medium", camera_angle: "eye_level"}
54
-
55
  2_images:
56
  - id: "horizontal_split"
57
  label: "Even Split"
@@ -294,37 +262,45 @@ layouts:
294
  - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
295
  - {panel_type: "action", focus: "event", composition: "wide", shot_type: "full", camera_angle: "overhead"}
296
 
297
- - id: "pyramid"
298
- label: "Pyramid"
299
- description: "Building tension from top to bottom"
300
- positions:
301
- - [0.25, 0.02, 0.5, 0.25]
302
- - [0.02, 0.29, 0.47, 0.3]
303
- - [0.51, 0.29, 0.47, 0.3]
304
- - [0.02, 0.61, 0.31, 0.37]
305
- - [0.67, 0.61, 0.31, 0.37]
306
- metadata:
307
- - {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "high_angle"}
308
- - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
309
- - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
310
- - {panel_type: "action", focus: "event", composition: "portrait", shot_type: "full", camera_angle: "low_angle"}
311
- - {panel_type: "action", focus: "event", composition: "portrait", shot_type: "medium", camera_angle: "dutch_angle"}
312
-
313
- - id: "spotlight_drama"
314
- label: "Spotlight Drama"
315
- description: "Central focus with corner details"
316
- positions:
317
- - [0.02, 0.02, 0.35, 0.35]
318
- - [0.63, 0.02, 0.35, 0.35]
319
- - [0.22, 0.22, 0.56, 0.56]
320
- - [0.02, 0.63, 0.35, 0.35]
321
- - [0.63, 0.63, 0.35, 0.35]
322
- metadata:
323
- - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "overhead"}
324
- - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "eye_level"}
325
- - {panel_type: "action", focus: "character", composition: "square", shot_type: "full", camera_angle: "low_angle"}
326
- - {panel_type: "reaction", focus: "emotion", composition: "square", shot_type: "closeup", camera_angle: "low_angle"}
327
- - {panel_type: "reaction", focus: "emotion", composition: "square", shot_type: "closeup", camera_angle: "high_angle"}
 
 
 
 
 
 
 
 
328
 
329
  - id: "euro_bd"
330
  label: "Euro BD Classic"
@@ -377,23 +353,24 @@ layouts:
377
  - {panel_type: "action", focus: "event", composition: "landscape", shot_type: "full", camera_angle: "low_angle"}
378
  - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
379
 
380
- - id: "hero_surround"
381
- label: "Hero Surrounded"
382
- description: "Large central panel with five around it"
383
- positions:
384
- - [0.02, 0.02, 0.31, 0.28]
385
- - [0.67, 0.02, 0.31, 0.28]
386
- - [0.02, 0.7, 0.31, 0.28]
387
- - [0.67, 0.7, 0.31, 0.28]
388
- - [0.25, 0.25, 0.5, 0.5]
389
- - [0.35, 0.35, 0.63, 0.33]
390
- metadata:
391
- - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "overhead"}
392
- - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "eye_level"}
393
- - {panel_type: "detail", focus: "object", composition: "square", shot_type: "closeup", camera_angle: "low_angle"}
394
- - {panel_type: "detail", focus: "character", composition: "square", shot_type: "closeup", camera_angle: "eye_level"}
395
- - {panel_type: "action", focus: "character", composition: "square", shot_type: "full", camera_angle: "low_angle"}
396
- - {panel_type: "action", focus: "event", composition: "landscape", shot_type: "medium", camera_angle: "dutch_angle"}
 
397
 
398
  - id: "staircase"
399
  label: "Staircase"
@@ -413,23 +390,24 @@ layouts:
413
  - {panel_type: "action", focus: "character", composition: "landscape", shot_type: "full", camera_angle: "low_angle"}
414
  - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
415
 
416
- - id: "splash_detail"
417
- label: "Splash with Details"
418
- description: "Full-page moment with detail insets"
419
- positions:
420
- - [0.05, 0.05, 0.4, 0.4]
421
- - [0.55, 0.05, 0.4, 0.4]
422
- - [0.05, 0.55, 0.4, 0.4]
423
- - [0.55, 0.55, 0.4, 0.4]
424
- - [0.25, 0.25, 0.5, 0.5]
425
- - [0.35, 0.35, 0.3, 0.3]
426
- metadata:
427
- - {panel_type: "detail", focus: "environment", composition: "square", shot_type: "closeup", camera_angle: "eye_level"}
428
- - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "overhead"}
429
- - {panel_type: "detail", focus: "object", composition: "square", shot_type: "closeup", camera_angle: "low_angle"}
430
- - {panel_type: "detail", focus: "character", composition: "square", shot_type: "closeup", camera_angle: "eye_level"}
431
- - {panel_type: "action", focus: "event", composition: "square", shot_type: "full", camera_angle: "low_angle"}
432
- - {panel_type: "closeup", focus: "emotion", composition: "square", shot_type: "extreme_closeup", camera_angle: "eye_level"}
 
433
 
434
  - id: "manga_4koma_plus"
435
  label: "Manga 4-Koma Plus"
@@ -468,25 +446,26 @@ layouts:
468
  - {panel_type: "closeup", focus: "emotion", composition: "portrait", shot_type: "extreme_closeup", camera_angle: "eye_level"}
469
 
470
  7_images:
471
- - id: "hero_hexagon"
472
- label: "Hero Hexagon"
473
- description: "Central focus with six surrounding"
474
- positions:
475
- - [0.28, 0.02, 0.44, 0.3]
476
- - [0.02, 0.25, 0.3, 0.25]
477
- - [0.68, 0.25, 0.3, 0.25]
478
- - [0.25, 0.35, 0.5, 0.3]
479
- - [0.02, 0.52, 0.3, 0.25]
480
- - [0.68, 0.52, 0.3, 0.25]
481
- - [0.28, 0.68, 0.44, 0.3]
482
- metadata:
483
- - {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "high_angle"}
484
- - {panel_type: "detail", focus: "object", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
485
- - {panel_type: "detail", focus: "object", composition: "landscape", shot_type: "extreme_closeup", camera_angle: "overhead"}
486
- - {panel_type: "action", focus: "character", composition: "landscape", shot_type: "full", camera_angle: "low_angle"}
487
- - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "eye_level"}
488
- - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
489
- - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
 
490
 
491
  - id: "narrative_flow"
492
  label: "Narrative Flow"
@@ -528,25 +507,26 @@ layouts:
528
  - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
529
  - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
530
 
531
- - id: "spiral_narrative"
532
- label: "Spiral Narrative"
533
- description: "Circular reading flow"
534
- positions:
535
- - [0.28, 0.02, 0.44, 0.25]
536
- - [0.52, 0.15, 0.46, 0.25]
537
- - [0.52, 0.42, 0.46, 0.25]
538
- - [0.28, 0.55, 0.44, 0.25]
539
- - [0.02, 0.42, 0.44, 0.25]
540
- - [0.02, 0.15, 0.44, 0.25]
541
- - [0.3, 0.3, 0.4, 0.22]
542
- metadata:
543
- - {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "high_angle"}
544
- - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
545
- - {panel_type: "action", focus: "event", composition: "landscape", shot_type: "medium_full", camera_angle: "eye_level"}
546
- - {panel_type: "action", focus: "event", composition: "landscape", shot_type: "full", camera_angle: "low_angle"}
547
- - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
548
- - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
549
- - {panel_type: "closeup", focus: "character", composition: "landscape", shot_type: "extreme_closeup", camera_angle: "pov"}
 
550
 
551
  - id: "action_montage"
552
  label: "Action Montage"
@@ -1014,21 +994,22 @@ layouts:
1014
  - {panel_type: "reaction", focus: "emotion", composition: "landscape"}
1015
  - {panel_type: "action", focus: "event", composition: "wide"}
1016
 
1017
- - id: "pyramid"
1018
- label: "Pyramid"
1019
- description: "Building tension from top to bottom"
1020
- positions:
1021
- - [0.25, 0.02, 0.5, 0.25]
1022
- - [0.02, 0.29, 0.47, 0.3]
1023
- - [0.51, 0.29, 0.47, 0.3]
1024
- - [0.02, 0.61, 0.31, 0.37]
1025
- - [0.67, 0.61, 0.31, 0.37]
1026
- metadata:
1027
- - {panel_type: "establishing", focus: "environment", composition: "landscape"}
1028
- - {panel_type: "dialogue", focus: "character", composition: "landscape"}
1029
- - {panel_type: "dialogue", focus: "character", composition: "landscape"}
1030
- - {panel_type: "action", focus: "event", composition: "portrait"}
1031
- - {panel_type: "action", focus: "event", composition: "portrait"}
 
1032
 
1033
  - id: "spotlight_drama"
1034
  label: "Spotlight Drama"
@@ -1248,25 +1229,26 @@ layouts:
1248
  - {panel_type: "reaction", focus: "emotion", composition: "landscape"}
1249
  - {panel_type: "reaction", focus: "emotion", composition: "landscape"}
1250
 
1251
- - id: "spiral_narrative"
1252
- label: "Spiral Narrative"
1253
- description: "Circular reading flow"
1254
- positions:
1255
- - [0.28, 0.02, 0.44, 0.25]
1256
- - [0.52, 0.15, 0.46, 0.25]
1257
- - [0.52, 0.42, 0.46, 0.25]
1258
- - [0.28, 0.55, 0.44, 0.25]
1259
- - [0.02, 0.42, 0.44, 0.25]
1260
- - [0.02, 0.15, 0.44, 0.25]
1261
- - [0.3, 0.3, 0.4, 0.22]
1262
- metadata:
1263
- - {panel_type: "establishing", focus: "environment", composition: "landscape"}
1264
- - {panel_type: "dialogue", focus: "character", composition: "landscape"}
1265
- - {panel_type: "action", focus: "event", composition: "landscape"}
1266
- - {panel_type: "action", focus: "event", composition: "landscape"}
1267
- - {panel_type: "dialogue", focus: "character", composition: "landscape"}
1268
- - {panel_type: "reaction", focus: "emotion", composition: "landscape"}
1269
- - {panel_type: "closeup", focus: "character", composition: "landscape"}
 
1270
 
1271
  - id: "action_montage"
1272
  label: "Action Montage"
 
20
  metadata:
21
  - {panel_type: "splash", focus: "event", composition: "square", shot_type: "full", camera_angle: "eye_level"}
22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  2_images:
24
  - id: "horizontal_split"
25
  label: "Even Split"
 
262
  - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
263
  - {panel_type: "action", focus: "event", composition: "wide", shot_type: "full", camera_angle: "overhead"}
264
 
265
+ #
266
+ # disabled because his "pyramid" effect does't work well with only 5 images,
267
+ # (it doesn't fit the whole page)
268
+ #
269
+ #- id: "pyramid"
270
+ # label: "Pyramid"
271
+ # description: "Building tension from top to bottom"
272
+ # positions:
273
+ # - [0.25, 0.02, 0.5, 0.25]
274
+ # - [0.02, 0.29, 0.47, 0.3]
275
+ # - [0.51, 0.29, 0.47, 0.3]
276
+ # - [0.02, 0.61, 0.31, 0.37]
277
+ # - [0.67, 0.61, 0.31, 0.37]
278
+ # metadata:
279
+ # - {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "high_angle"}
280
+ # - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
281
+ # - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
282
+ # - {panel_type: "action", focus: "event", composition: "portrait", shot_type: "full", camera_angle: "low_angle"}
283
+ # - {panel_type: "action", focus: "event", composition: "portrait", shot_type: "medium", camera_angle: "dutch_angle"}
284
+
285
+ #
286
+ # disabled because it doesn't look good, it creates a lot of empty spots in the cardinal directions,
287
+ # plus there is some overlap between the central image and the 4 others
288
+ #
289
+ #- id: "spotlight_drama"
290
+ # label: "Spotlight Drama"
291
+ # description: "Central focus with corner details"
292
+ # positions:
293
+ # - [0.02, 0.02, 0.35, 0.35]
294
+ # - [0.63, 0.02, 0.35, 0.35]
295
+ # - [0.22, 0.22, 0.56, 0.56]
296
+ # - [0.02, 0.63, 0.35, 0.35]
297
+ # - [0.63, 0.63, 0.35, 0.35]
298
+ # metadata:
299
+ # - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "overhead"}
300
+ # - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "eye_level"}
301
+ # - {panel_type: "action", focus: "character", composition: "square", shot_type: "full", camera_angle: "low_angle"}
302
+ # - {panel_type: "reaction", focus: "emotion", composition: "square", shot_type: "closeup", camera_angle: "low_angle"}
303
+ # - {panel_type: "reaction", focus: "emotion", composition: "square", shot_type: "closeup", camera_angle: "high_angle"}
304
 
305
  - id: "euro_bd"
306
  label: "Euro BD Classic"
 
353
  - {panel_type: "action", focus: "event", composition: "landscape", shot_type: "full", camera_angle: "low_angle"}
354
  - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
355
 
356
+ # disabled as there is too much empty space around the central image
357
+ #- id: "hero_surround"
358
+ # label: "Hero Surrounded"
359
+ # description: "Large central panel with five around it"
360
+ # positions:
361
+ # - [0.02, 0.02, 0.31, 0.28]
362
+ # - [0.67, 0.02, 0.31, 0.28]
363
+ # - [0.02, 0.7, 0.31, 0.28]
364
+ # - [0.67, 0.7, 0.31, 0.28]
365
+ # - [0.25, 0.25, 0.5, 0.5]
366
+ # - [0.35, 0.35, 0.63, 0.33]
367
+ # metadata:
368
+ # - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "overhead"}
369
+ # - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "eye_level"}
370
+ # - {panel_type: "detail", focus: "object", composition: "square", shot_type: "closeup", camera_angle: "low_angle"}
371
+ # - {panel_type: "detail", focus: "character", composition: "square", shot_type: "closeup", camera_angle: "eye_level"}
372
+ # - {panel_type: "action", focus: "character", composition: "square", shot_type: "full", camera_angle: "low_angle"}
373
+ # - {panel_type: "action", focus: "event", composition: "landscape", shot_type: "medium", camera_angle: "dutch_angle"}
374
 
375
  - id: "staircase"
376
  label: "Staircase"
 
390
  - {panel_type: "action", focus: "character", composition: "landscape", shot_type: "full", camera_angle: "low_angle"}
391
  - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
392
 
393
+ # disabled as there is too much empty space around the central image
394
+ #- id: "splash_detail"
395
+ # label: "Splash with Details"
396
+ # description: "Full-page moment with detail insets"
397
+ # positions:
398
+ # - [0.05, 0.05, 0.4, 0.4]
399
+ # - [0.55, 0.05, 0.4, 0.4]
400
+ # - [0.05, 0.55, 0.4, 0.4]
401
+ # - [0.55, 0.55, 0.4, 0.4]
402
+ # - [0.25, 0.25, 0.5, 0.5]
403
+ # - [0.35, 0.35, 0.3, 0.3]
404
+ # metadata:
405
+ # - {panel_type: "detail", focus: "environment", composition: "square", shot_type: "closeup", camera_angle: "eye_level"}
406
+ # - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "overhead"}
407
+ # - {panel_type: "detail", focus: "object", composition: "square", shot_type: "closeup", camera_angle: "low_angle"}
408
+ # - {panel_type: "detail", focus: "character", composition: "square", shot_type: "closeup", camera_angle: "eye_level"}
409
+ # - {panel_type: "action", focus: "event", composition: "square", shot_type: "full", camera_angle: "low_angle"}
410
+ # - {panel_type: "closeup", focus: "emotion", composition: "square", shot_type: "extreme_closeup", camera_angle: "eye_level"}
411
 
412
  - id: "manga_4koma_plus"
413
  label: "Manga 4-Koma Plus"
 
446
  - {panel_type: "closeup", focus: "emotion", composition: "portrait", shot_type: "extreme_closeup", camera_angle: "eye_level"}
447
 
448
  7_images:
449
+ # disabled as there is too much empty space around the central image plus some overlapping
450
+ #- id: "hero_hexagon"
451
+ # label: "Hero Hexagon"
452
+ # description: "Central focus with six surrounding"
453
+ # positions:
454
+ # - [0.28, 0.02, 0.44, 0.3]
455
+ # - [0.02, 0.25, 0.3, 0.25]
456
+ # - [0.68, 0.25, 0.3, 0.25]
457
+ # - [0.25, 0.35, 0.5, 0.3]
458
+ # - [0.02, 0.52, 0.3, 0.25]
459
+ # - [0.68, 0.52, 0.3, 0.25]
460
+ # - [0.28, 0.68, 0.44, 0.3]
461
+ # metadata:
462
+ # - {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "high_angle"}
463
+ # - {panel_type: "detail", focus: "object", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
464
+ # - {panel_type: "detail", focus: "object", composition: "landscape", shot_type: "extreme_closeup", camera_angle: "overhead"}
465
+ # - {panel_type: "action", focus: "character", composition: "landscape", shot_type: "full", camera_angle: "low_angle"}
466
+ # - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "eye_level"}
467
+ # - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
468
+ # - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
469
 
470
  - id: "narrative_flow"
471
  label: "Narrative Flow"
 
507
  - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
508
  - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
509
 
510
+ # disabled as there is too much empty space around the central image
511
+ #- id: "spiral_narrative"
512
+ # label: "Spiral Narrative"
513
+ # description: "Circular reading flow"
514
+ # positions:
515
+ # - [0.28, 0.02, 0.44, 0.25]
516
+ # - [0.52, 0.15, 0.46, 0.25]
517
+ # - [0.52, 0.42, 0.46, 0.25]
518
+ # - [0.28, 0.55, 0.44, 0.25]
519
+ # - [0.02, 0.42, 0.44, 0.25]
520
+ # - [0.02, 0.15, 0.44, 0.25]
521
+ # - [0.3, 0.3, 0.4, 0.22]
522
+ # metadata:
523
+ # - {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "high_angle"}
524
+ # - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
525
+ # - {panel_type: "action", focus: "event", composition: "landscape", shot_type: "medium_full", camera_angle: "eye_level"}
526
+ # - {panel_type: "action", focus: "event", composition: "landscape", shot_type: "full", camera_angle: "low_angle"}
527
+ # - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
528
+ # - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
529
+ # - {panel_type: "closeup", focus: "character", composition: "landscape", shot_type: "extreme_closeup", camera_angle: "pov"}
530
 
531
  - id: "action_montage"
532
  label: "Action Montage"
 
994
  - {panel_type: "reaction", focus: "emotion", composition: "landscape"}
995
  - {panel_type: "action", focus: "event", composition: "wide"}
996
 
997
+ # disabled as it doesn't work great
998
+ #- id: "pyramid"
999
+ # label: "Pyramid"
1000
+ # description: "Building tension from top to bottom"
1001
+ # positions:
1002
+ # - [0.25, 0.02, 0.5, 0.25]
1003
+ # - [0.02, 0.29, 0.47, 0.3]
1004
+ # - [0.51, 0.29, 0.47, 0.3]
1005
+ # - [0.02, 0.61, 0.31, 0.37]
1006
+ # - [0.67, 0.61, 0.31, 0.37]
1007
+ # metadata:
1008
+ # - {panel_type: "establishing", focus: "environment", composition: "landscape"}
1009
+ # - {panel_type: "dialogue", focus: "character", composition: "landscape"}
1010
+ # - {panel_type: "dialogue", focus: "character", composition: "landscape"}
1011
+ # - {panel_type: "action", focus: "event", composition: "portrait"}
1012
+ # - {panel_type: "action", focus: "event", composition: "portrait"}
1013
 
1014
  - id: "spotlight_drama"
1015
  label: "Spotlight Drama"
 
1229
  - {panel_type: "reaction", focus: "emotion", composition: "landscape"}
1230
  - {panel_type: "reaction", focus: "emotion", composition: "landscape"}
1231
 
1232
+ # disabled as it doesn't work great
1233
+ #- id: "spiral_narrative"
1234
+ # label: "Spiral Narrative"
1235
+ # description: "Circular reading flow"
1236
+ # positions:
1237
+ # - [0.28, 0.02, 0.44, 0.25]
1238
+ # - [0.52, 0.15, 0.46, 0.25]
1239
+ # - [0.52, 0.42, 0.46, 0.25]
1240
+ # - [0.28, 0.55, 0.44, 0.25]
1241
+ # - [0.02, 0.42, 0.44, 0.25]
1242
+ # - [0.02, 0.15, 0.44, 0.25]
1243
+ # - [0.3, 0.3, 0.4, 0.22]
1244
+ # metadata:
1245
+ # - {panel_type: "establishing", focus: "environment", composition: "landscape"}
1246
+ # - {panel_type: "dialogue", focus: "character", composition: "landscape"}
1247
+ # - {panel_type: "action", focus: "event", composition: "landscape"}
1248
+ # - {panel_type: "action", focus: "event", composition: "landscape"}
1249
+ # - {panel_type: "dialogue", focus: "character", composition: "landscape"}
1250
+ # - {panel_type: "reaction", focus: "emotion", composition: "landscape"}
1251
+ # - {panel_type: "closeup", focus: "character", composition: "landscape"}
1252
 
1253
  - id: "action_montage"
1254
  label: "Action Montage"
style_presets.yaml CHANGED
@@ -10,14 +10,14 @@ presets:
10
  prompt_suffix: ""
11
  negative_prompt: ""
12
 
13
- random:
14
- id: "random"
15
- label: "Random style"
16
- enabled: true
17
- # This will be handled specially in code
18
- prompt_prefix: ""
19
- prompt_suffix: ""
20
- negative_prompt: ""
21
 
22
  manga_no_color:
23
  id: "manga_no_color"
@@ -43,13 +43,13 @@ presets:
43
  prompt_suffix: "Nihonga, ancient japanese painting, intricate, detailed, detailed painting"
44
  negative_prompt: "franco-belgian comic, color album, color, manga, comic, american comic, photo, painting, 3D render"
45
 
46
- franco_belgian:
47
- id: "franco_belgian"
48
- label: "Franco-Belgian"
49
- enabled: true
50
- prompt_prefix: "bande dessinée, franco-belgian comic"
51
- prompt_suffix: "comic album, detailed drawing"
52
- negative_prompt: "manga, anime, american comic, grayscale, monochrome, photo, painting, 3D render"
53
 
54
  american_comic_90:
55
  id: "american_comic_90"
@@ -85,29 +85,29 @@ presets:
85
  # prompt_suffix: "single panel, american comic, comicbook style, 1960, 60s, color comicbook, color drawing"
86
  # negative_prompt: "manga, anime, american comic, action, grayscale, monochrome, photo, painting, 3D render"
87
 
88
- flying_saucer:
89
- id: "flying_saucer"
90
- label: "Flying Saucer (Pulp Sci-Fi)"
91
- enabled: true
92
- prompt_prefix: "vintage science fiction, color pulp comic panel, 1940"
93
- prompt_suffix: "detailed drawing"
94
- negative_prompt: "manga, anime, american comic, grayscale, monochrome, photo, painting, 3D render"
95
-
96
- humanoid:
97
- id: "humanoid"
98
- label: "Humanoid (Moebius)"
99
- enabled: true
100
- prompt_prefix: "color comic panel, style of Moebius"
101
- prompt_suffix: "detailed drawing, french comic panel, franco-belgian style, bande dessinée, single panel"
102
- negative_prompt: "manga, anime, american comic, grayscale, monochrome, photo, painting, 3D render"
103
-
104
- haddock:
105
- id: "haddock"
106
- label: "Haddock (Tintin)"
107
- enabled: true
108
- prompt_prefix: "color comic panel, style of Hergé, tintin style"
109
- prompt_suffix: "by Hergé, french comic panel, franco-belgian style"
110
- negative_prompt: "manga, anime, american comic, grayscale, monochrome, photo, painting, 3D render"
111
 
112
  # lurid is commented out in the original
113
  # lurid:
@@ -118,13 +118,13 @@ presets:
118
  # prompt_suffix: ""
119
  # negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
120
 
121
- armorican:
122
- id: "armorican"
123
- label: "Armorican (Asterix)"
124
- enabled: true
125
- prompt_prefix: "color comic panel, romans, gauls, french comic panel, franco-belgian style, about"
126
- prompt_suffix: "bande dessinée, single panel"
127
- negative_prompt: "manga, anime, american comic, grayscale, monochrome, photo, painting, 3D render"
128
 
129
  render:
130
  id: "render"
@@ -134,21 +134,21 @@ presets:
134
  prompt_suffix: "crisp, sharp"
135
  negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
136
 
137
- klimt:
138
- id: "klimt"
139
- label: "Klimt"
140
- enabled: true
141
- prompt_prefix: "golden, patchwork, style of Gustav Klimt, Gustav Klimt painting"
142
- prompt_suffix: "detailed painting, intricate details"
143
- negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
144
-
145
- medieval:
146
- id: "medieval"
147
- label: "Medieval Illuminated"
148
- enabled: true
149
- prompt_prefix: "medieval illuminated manuscript, illuminated manuscript of, medieval"
150
- prompt_suffix: "intricate details"
151
- negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
152
 
153
  # glass is commented out in the original
154
  # glass:
@@ -168,23 +168,23 @@ presets:
168
  # prompt_suffix: "medieval"
169
  # negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
170
 
171
- egyptian:
172
- id: "egyptian"
173
- label: "Egyptian"
 
 
 
 
 
 
 
 
 
174
  enabled: true
175
- prompt_prefix: "ancient egyptian wall painting, ancient egypt"
176
  prompt_suffix: ""
177
  negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
178
 
179
- # psx is commented out in the original
180
- # psx:
181
- # id: "psx"
182
- # label: "PSX"
183
- # enabled: false
184
- # prompt_prefix: "videogame screenshot, 3dfx, 3D dos game, software rendering"
185
- # prompt_suffix: ""
186
- # negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
187
-
188
  # pixel is commented out in the original
189
  # pixel:
190
  # id: "pixel"
@@ -194,13 +194,13 @@ presets:
194
  # prompt_suffix: ""
195
  # negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
196
 
197
- photonovel:
198
- id: "photonovel"
199
- label: "Vintage Photonovel"
200
- enabled: true
201
- prompt_prefix: "vintage photo, 1950, 1960, french new wave, faded colors, color movie screencap"
202
- prompt_suffix: ""
203
- negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
204
 
205
  stockphoto:
206
  id: "stockphoto"
@@ -210,20 +210,20 @@ presets:
210
  prompt_suffix: "crisp details"
211
  negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
212
 
213
- # video_3d_style was in the original but commented out
214
- # video_3d_style:
215
- # id: "video_3d_style"
216
- # label: "[video] 3D style"
217
- # enabled: false
218
- # prompt_prefix: ""
219
- # prompt_suffix: ""
220
- # negative_prompt: ""
221
-
222
- # neutral preset from original
223
- neutral:
224
- id: "neutral"
225
- label: "Neutral"
226
- enabled: true
227
- prompt_prefix: ""
228
- prompt_suffix: ""
229
- negative_prompt: ""
 
10
  prompt_suffix: ""
11
  negative_prompt: ""
12
 
13
+ #random:
14
+ # id: "random"
15
+ # label: "Random style"
16
+ # enabled: true
17
+ # # This will be handled specially in code
18
+ # prompt_prefix: ""
19
+ # prompt_suffix: ""
20
+ # negative_prompt: ""
21
 
22
  manga_no_color:
23
  id: "manga_no_color"
 
43
  prompt_suffix: "Nihonga, ancient japanese painting, intricate, detailed, detailed painting"
44
  negative_prompt: "franco-belgian comic, color album, color, manga, comic, american comic, photo, painting, 3D render"
45
 
46
+ #franco_belgian:
47
+ # id: "franco_belgian"
48
+ # label: "Franco-Belgian"
49
+ # enabled: true
50
+ # prompt_prefix: "bande dessinée, franco-belgian comic"
51
+ # prompt_suffix: "comic album, detailed drawing"
52
+ # negative_prompt: "manga, anime, american comic, grayscale, monochrome, photo, painting, 3D render"
53
 
54
  american_comic_90:
55
  id: "american_comic_90"
 
85
  # prompt_suffix: "single panel, american comic, comicbook style, 1960, 60s, color comicbook, color drawing"
86
  # negative_prompt: "manga, anime, american comic, action, grayscale, monochrome, photo, painting, 3D render"
87
 
88
+ #flying_saucer:
89
+ # id: "flying_saucer"
90
+ # label: "Flying Saucer (Pulp Sci-Fi)"
91
+ # enabled: true
92
+ # prompt_prefix: "vintage science fiction, color pulp comic panel, 1940"
93
+ # prompt_suffix: "detailed drawing"
94
+ # negative_prompt: "manga, anime, american comic, grayscale, monochrome, photo, painting, 3D render"
95
+
96
+ #humanoid:
97
+ # id: "humanoid"
98
+ # label: "Humanoid (Moebius)"
99
+ # enabled: true
100
+ # prompt_prefix: "color comic panel, style of Moebius"
101
+ # prompt_suffix: "detailed drawing, french comic panel, franco-belgian style, bande dessinée, single panel"
102
+ # negative_prompt: "manga, anime, american comic, grayscale, monochrome, photo, painting, 3D render"
103
+
104
+ #haddock:
105
+ # id: "haddock"
106
+ # label: "Haddock (Tintin)"
107
+ # enabled: true
108
+ # prompt_prefix: "color comic panel, style of Hergé, tintin style"
109
+ # prompt_suffix: "by Hergé, french comic panel, franco-belgian style"
110
+ # negative_prompt: "manga, anime, american comic, grayscale, monochrome, photo, painting, 3D render"
111
 
112
  # lurid is commented out in the original
113
  # lurid:
 
118
  # prompt_suffix: ""
119
  # negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
120
 
121
+ #armorican:
122
+ # id: "armorican"
123
+ # label: "Armorican (Asterix)"
124
+ # enabled: true
125
+ # prompt_prefix: "color comic panel, romans, gauls, french comic panel, franco-belgian style, about"
126
+ # prompt_suffix: "bande dessinée, single panel"
127
+ # negative_prompt: "manga, anime, american comic, grayscale, monochrome, photo, painting, 3D render"
128
 
129
  render:
130
  id: "render"
 
134
  prompt_suffix: "crisp, sharp"
135
  negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
136
 
137
+ #limt:
138
+ # id: "klimt"
139
+ # label: "Klimt"
140
+ # enabled: true
141
+ # prompt_prefix: "golden, patchwork, style of Gustav Klimt, Gustav Klimt painting"
142
+ # prompt_suffix: "detailed painting, intricate details"
143
+ # negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
144
+
145
+ #medieval:
146
+ # id: "medieval"
147
+ # label: "Medieval Illuminated"
148
+ # enabled: true
149
+ # prompt_prefix: "medieval illuminated manuscript, illuminated manuscript of, medieval"
150
+ # prompt_suffix: "intricate details"
151
+ # negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
152
 
153
  # glass is commented out in the original
154
  # glass:
 
168
  # prompt_suffix: "medieval"
169
  # negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
170
 
171
+ #egyptian:
172
+ # id: "egyptian"
173
+ # label: "Egyptian"
174
+ # enabled: true
175
+ # prompt_prefix: "ancient egyptian wall painting, ancient egypt"
176
+ # prompt_suffix: ""
177
+ # negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
178
+
179
+ # psx is commented out in the original
180
+ psx:
181
+ id: "psx"
182
+ label: "PSX"
183
  enabled: true
184
+ prompt_prefix: "videogame screenshot, 3dfx, 3D dos game, software rendering"
185
  prompt_suffix: ""
186
  negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
187
 
 
 
 
 
 
 
 
 
 
188
  # pixel is commented out in the original
189
  # pixel:
190
  # id: "pixel"
 
194
  # prompt_suffix: ""
195
  # negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
196
 
197
+ #photonovel:
198
+ # id: "photonovel"
199
+ # label: "Vintage Photonovel"
200
+ # enabled: true
201
+ # prompt_prefix: "vintage photo, 1950, 1960, french new wave, faded colors, color movie screencap"
202
+ # prompt_suffix: ""
203
+ # negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
204
 
205
  stockphoto:
206
  id: "stockphoto"
 
210
  prompt_suffix: "crisp details"
211
  negative_prompt: "manga, anime, american comic, grayscale, monochrome, painting"
212
 
213
+ # video_3d_style was in the original but commented out
214
+ # video_3d_style:
215
+ # id: "video_3d_style"
216
+ # label: "[video] 3D style"
217
+ # enabled: false
218
+ # prompt_prefix: ""
219
+ # prompt_suffix: ""
220
+ # negative_prompt: ""
221
+
222
+ # neutral preset from original
223
+ #. neutral:
224
+ #. id: "neutral"
225
+ #. label: "Neutral"
226
+ #. enabled: true
227
+ #. prompt_prefix: ""
228
+ #. prompt_suffix: ""
229
+ #. negative_prompt: ""