adamelliotfields commited on
Commit
1a688bc
·
verified ·
1 Parent(s): dffd0bb

Add styles

Browse files
Files changed (4) hide show
  1. app.css +3 -3
  2. generate.py +29 -8
  3. styles/twri.json +447 -0
  4. usage.md +7 -3
app.css CHANGED
@@ -62,8 +62,8 @@
62
  content: 'Clear gallery';
63
  }
64
  .icon-button#random:hover::after {
65
- /* set seed via JS */
66
- content: var(--seed, "0");
67
  }
68
 
69
  #intro {
@@ -99,7 +99,7 @@
99
  border-width: 0px;
100
  }
101
  .tabitem {
102
- max-height: 488px;
103
  overflow-x: hidden;
104
  overflow-y: auto;
105
  padding: 0 0 8px;
 
62
  content: 'Clear gallery';
63
  }
64
  .icon-button#random:hover::after {
65
+ /* see config.py for default seed */
66
+ content: var(--seed, "-1");
67
  }
68
 
69
  #intro {
 
99
  border-width: 0px;
100
  }
101
  .tabitem {
102
+ max-height: 516px;
103
  overflow-x: hidden;
104
  overflow-y: auto;
105
  padding: 0 0 8px;
generate.py CHANGED
@@ -1,3 +1,4 @@
 
1
  import re
2
  import time
3
  from contextlib import contextmanager
@@ -45,6 +46,9 @@ EMBEDDINGS = {
45
  "./embeddings/UnrealisticDream.pt": "<unrealistic_dream>",
46
  }
47
 
 
 
 
48
 
49
  # inspired by ComfyUI
50
  # https://github.com/comfyanonymous/ComfyUI/blob/master/comfy/model_management.py
@@ -225,20 +229,34 @@ def parse_prompt(prompt: str) -> list[str]:
225
  return prompts
226
 
227
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  # 1024x1024 for 50 steps can take ~10s each
229
  @spaces.GPU(duration=44)
230
  def generate(
231
  positive_prompt,
232
  negative_prompt="",
 
233
  seed=None,
234
- model="Lykon/dreamshaper-8",
235
- scheduler="DEIS 2M",
236
  width=512,
237
  height=512,
238
  guidance_scale=7.5,
239
- inference_steps=30,
240
  num_images=1,
241
- karras=True,
242
  taesd=False,
243
  clip_skip=False,
244
  truncate_prompts=False,
@@ -252,8 +270,9 @@ def generate(
252
  if not torch.cuda.is_available():
253
  raise Error("CUDA not available")
254
 
255
- if seed is None:
256
- seed = int(datetime.now().timestamp())
 
257
 
258
  TORCH_DTYPE = (
259
  torch.bfloat16
@@ -287,7 +306,8 @@ def generate(
287
  current_seed = seed
288
 
289
  try:
290
- neg_embeds = compel(negative_prompt)
 
291
  except PromptParser.ParsingException:
292
  raise Error("ParsingException: Invalid negative prompt")
293
 
@@ -299,7 +319,8 @@ def generate(
299
  all_positive_prompts = parse_prompt(positive_prompt)
300
  prompt_index = i % len(all_positive_prompts)
301
  pos_prompt = all_positive_prompts[prompt_index]
302
- pos_embeds = compel(pos_prompt)
 
303
  pos_embeds, neg_embeds = compel.pad_conditioning_tensors_to_same_length(
304
  [pos_embeds, neg_embeds]
305
  )
 
1
+ import json
2
  import re
3
  import time
4
  from contextlib import contextmanager
 
46
  "./embeddings/UnrealisticDream.pt": "<unrealistic_dream>",
47
  }
48
 
49
+ with open("./styles/twri.json") as f:
50
+ styles = json.load(f)
51
+
52
 
53
  # inspired by ComfyUI
54
  # https://github.com/comfyanonymous/ComfyUI/blob/master/comfy/model_management.py
 
229
  return prompts
230
 
231
 
232
+ def apply_style(prompt, style_name, negative=False):
233
+ global styles
234
+ if not style_name or style_name == "None":
235
+ return prompt
236
+ for style in styles:
237
+ if style["name"] == style_name:
238
+ if negative:
239
+ return prompt + " . " + style["negative_prompt"]
240
+ else:
241
+ return style["prompt"].format(prompt=prompt)
242
+ return prompt
243
+
244
+
245
  # 1024x1024 for 50 steps can take ~10s each
246
  @spaces.GPU(duration=44)
247
  def generate(
248
  positive_prompt,
249
  negative_prompt="",
250
+ style=None,
251
  seed=None,
252
+ model="runwayml/stable-diffusion-v1-5",
253
+ scheduler="PNDM",
254
  width=512,
255
  height=512,
256
  guidance_scale=7.5,
257
+ inference_steps=50,
258
  num_images=1,
259
+ karras=False,
260
  taesd=False,
261
  clip_skip=False,
262
  truncate_prompts=False,
 
270
  if not torch.cuda.is_available():
271
  raise Error("CUDA not available")
272
 
273
+ # https://pytorch.org/docs/stable/generated/torch.manual_seed.html
274
+ if seed is None or seed < 0:
275
+ seed = int(datetime.now().timestamp() * 1_000_000) % (2**64)
276
 
277
  TORCH_DTYPE = (
278
  torch.bfloat16
 
306
  current_seed = seed
307
 
308
  try:
309
+ styled_negative_prompt = apply_style(negative_prompt, style, negative=True)
310
+ neg_embeds = compel(styled_negative_prompt)
311
  except PromptParser.ParsingException:
312
  raise Error("ParsingException: Invalid negative prompt")
313
 
 
319
  all_positive_prompts = parse_prompt(positive_prompt)
320
  prompt_index = i % len(all_positive_prompts)
321
  pos_prompt = all_positive_prompts[prompt_index]
322
+ styled_pos_prompt = apply_style(pos_prompt, style)
323
+ pos_embeds = compel(styled_pos_prompt)
324
  pos_embeds, neg_embeds = compel.pad_conditioning_tensors_to_same_length(
325
  [pos_embeds, neg_embeds]
326
  )
styles/twri.json ADDED
@@ -0,0 +1,447 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "name": "ads-advertising",
4
+ "prompt": "advertising poster style {prompt} . Professional, modern, product-focused, commercial, eye-catching, highly detailed",
5
+ "negative_prompt": "noisy, blurry, amateurish, sloppy, unattractive"
6
+ },
7
+ {
8
+ "name": "ads-automotive",
9
+ "prompt": "automotive advertisement style {prompt} . sleek, dynamic, professional, commercial, vehicle-focused, high-resolution, highly detailed",
10
+ "negative_prompt": "noisy, blurry, unattractive, sloppy, unprofessional"
11
+ },
12
+ {
13
+ "name": "ads-corporate",
14
+ "prompt": "corporate branding style {prompt} . professional, clean, modern, sleek, minimalist, business-oriented, highly detailed",
15
+ "negative_prompt": "noisy, blurry, grungy, sloppy, cluttered, disorganized"
16
+ },
17
+ {
18
+ "name": "ads-fashion editorial",
19
+ "prompt": "fashion editorial style {prompt} . high fashion, trendy, stylish, editorial, magazine style, professional, highly detailed",
20
+ "negative_prompt": "outdated, blurry, noisy, unattractive, sloppy"
21
+ },
22
+ {
23
+ "name": "ads-food photography",
24
+ "prompt": "food photography style {prompt} . appetizing, professional, culinary, high-resolution, commercial, highly detailed",
25
+ "negative_prompt": "unappetizing, sloppy, unprofessional, noisy, blurry"
26
+ },
27
+ {
28
+ "name": "ads-gourmet food photography",
29
+ "prompt": "gourmet food photo of {prompt} . soft natural lighting, macro details, vibrant colors, fresh ingredients, glistening textures, bokeh background, styled plating, wooden tabletop, garnished, tantalizing, editorial quality",
30
+ "negative_prompt": "cartoon, anime, sketch, grayscale, dull, overexposed, cluttered, messy plate, deformed"
31
+ },
32
+ {
33
+ "name": "ads-luxury",
34
+ "prompt": "luxury product style {prompt} . elegant, sophisticated, high-end, luxurious, professional, highly detailed",
35
+ "negative_prompt": "cheap, noisy, blurry, unattractive, amateurish"
36
+ },
37
+ {
38
+ "name": "ads-real estate",
39
+ "prompt": "real estate photography style {prompt} . professional, inviting, well-lit, high-resolution, property-focused, commercial, highly detailed",
40
+ "negative_prompt": "dark, blurry, unappealing, noisy, unprofessional"
41
+ },
42
+ {
43
+ "name": "ads-retail",
44
+ "prompt": "retail packaging style {prompt} . vibrant, enticing, commercial, product-focused, eye-catching, professional, highly detailed",
45
+ "negative_prompt": "noisy, blurry, amateurish, sloppy, unattractive"
46
+ },
47
+ {
48
+ "name": "artstyle-abstract",
49
+ "prompt": "abstract style {prompt} . non-representational, colors and shapes, expression of feelings, imaginative, highly detailed",
50
+ "negative_prompt": "realistic, photographic, figurative, concrete"
51
+ },
52
+ {
53
+ "name": "artstyle-abstract expressionism",
54
+ "prompt": "abstract expressionist painting {prompt} . energetic brushwork, bold colors, abstract forms, expressive, emotional",
55
+ "negative_prompt": "realistic, photorealistic, low contrast, plain, simple, monochrome"
56
+ },
57
+ {
58
+ "name": "artstyle-art deco",
59
+ "prompt": "art deco style {prompt} . geometric shapes, bold colors, luxurious, elegant, decorative, symmetrical, ornate, detailed",
60
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, modernist, minimalist"
61
+ },
62
+ {
63
+ "name": "artstyle-art nouveau",
64
+ "prompt": "art nouveau style {prompt} . elegant, decorative, curvilinear forms, nature-inspired, ornate, detailed",
65
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, modernist, minimalist"
66
+ },
67
+ {
68
+ "name": "artstyle-constructivist",
69
+ "prompt": "constructivist style {prompt} . geometric shapes, bold colors, dynamic composition, propaganda art style",
70
+ "negative_prompt": "realistic, photorealistic, low contrast, plain, simple, abstract expressionism"
71
+ },
72
+ {
73
+ "name": "artstyle-cubist",
74
+ "prompt": "cubist artwork {prompt} . geometric shapes, abstract, innovative, revolutionary",
75
+ "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, low contrast, noisy"
76
+ },
77
+ {
78
+ "name": "artstyle-expressionist",
79
+ "prompt": "expressionist {prompt} . raw, emotional, dynamic, distortion for emotional effect, vibrant, use of unusual colors, detailed",
80
+ "negative_prompt": "realism, symmetry, quiet, calm, photo"
81
+ },
82
+ {
83
+ "name": "artstyle-graffiti",
84
+ "prompt": "graffiti style {prompt} . street art, vibrant, urban, detailed, tag, mural",
85
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic"
86
+ },
87
+ {
88
+ "name": "artstyle-hyperrealism",
89
+ "prompt": "hyperrealistic art {prompt} . extremely high-resolution details, photographic, realism pushed to extreme, fine texture, incredibly lifelike",
90
+ "negative_prompt": "simplified, abstract, unrealistic, impressionistic, low resolution"
91
+ },
92
+ {
93
+ "name": "artstyle-impressionist",
94
+ "prompt": "impressionist painting {prompt} . loose brushwork, vibrant color, light and shadow play, captures feeling over form",
95
+ "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, low contrast, noisy"
96
+ },
97
+ {
98
+ "name": "artstyle-pointillism",
99
+ "prompt": "pointillism style {prompt} . composed entirely of small, distinct dots of color, vibrant, highly detailed",
100
+ "negative_prompt": "line drawing, smooth shading, large color fields, simplistic"
101
+ },
102
+ {
103
+ "name": "artstyle-pop art",
104
+ "prompt": "pop Art style {prompt} . bright colors, bold outlines, popular culture themes, ironic or kitsch",
105
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, minimalist"
106
+ },
107
+ {
108
+ "name": "artstyle-psychedelic",
109
+ "prompt": "psychedelic style {prompt} . vibrant colors, swirling patterns, abstract forms, surreal, trippy",
110
+ "negative_prompt": "monochrome, black and white, low contrast, realistic, photorealistic, plain, simple"
111
+ },
112
+ {
113
+ "name": "artstyle-renaissance",
114
+ "prompt": "renaissance style {prompt} . realistic, perspective, light and shadow, religious or mythological themes, highly detailed",
115
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, modernist, minimalist, abstract"
116
+ },
117
+ {
118
+ "name": "artstyle-steampunk",
119
+ "prompt": "steampunk style {prompt} . antique, mechanical, brass and copper tones, gears, intricate, detailed",
120
+ "negative_prompt": "deformed, glitch, noisy, low contrast, anime, photorealistic"
121
+ },
122
+ {
123
+ "name": "artstyle-surrealist",
124
+ "prompt": "surrealist art {prompt} . dreamlike, mysterious, provocative, symbolic, intricate, detailed",
125
+ "negative_prompt": "anime, photorealistic, realistic, deformed, glitch, noisy, low contrast"
126
+ },
127
+ {
128
+ "name": "artstyle-typography",
129
+ "prompt": "typographic art {prompt} . stylized, intricate, detailed, artistic, text-based",
130
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic"
131
+ },
132
+ {
133
+ "name": "artstyle-watercolor",
134
+ "prompt": "watercolor painting {prompt} . vibrant, beautiful, painterly, detailed, textural, artistic",
135
+ "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, low contrast, noisy"
136
+ },
137
+ {
138
+ "name": "futuristic-biomechanical",
139
+ "prompt": "biomechanical style {prompt} . blend of organic and mechanical elements, futuristic, cybernetic, detailed, intricate",
140
+ "negative_prompt": "natural, rustic, primitive, organic, simplistic"
141
+ },
142
+ {
143
+ "name": "futuristic-biomechanical cyberpunk",
144
+ "prompt": "biomechanical cyberpunk {prompt} . cybernetics, human-machine fusion, dystopian, organic meets artificial, dark, intricate, highly detailed",
145
+ "negative_prompt": "natural, colorful, deformed, sketch, low contrast, watercolor"
146
+ },
147
+ {
148
+ "name": "futuristic-cybernetic",
149
+ "prompt": "cybernetic style {prompt} . futuristic, technological, cybernetic enhancements, robotics, artificial intelligence themes",
150
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, historical, medieval"
151
+ },
152
+ {
153
+ "name": "futuristic-cybernetic robot",
154
+ "prompt": "cybernetic robot {prompt} . android, AI, machine, metal, wires, tech, futuristic, highly detailed",
155
+ "negative_prompt": "organic, natural, human, sketch, watercolor, low contrast"
156
+ },
157
+ {
158
+ "name": "futuristic-cyberpunk cityscape",
159
+ "prompt": "cyberpunk cityscape {prompt} . neon lights, dark alleys, skyscrapers, futuristic, vibrant colors, high contrast, highly detailed",
160
+ "negative_prompt": "natural, rural, deformed, low contrast, black and white, sketch, watercolor"
161
+ },
162
+ {
163
+ "name": "futuristic-futuristic",
164
+ "prompt": "futuristic style {prompt} . sleek, modern, ultramodern, high tech, detailed",
165
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, vintage, antique"
166
+ },
167
+ {
168
+ "name": "futuristic-retro cyberpunk",
169
+ "prompt": "retro cyberpunk {prompt} . 80's inspired, synthwave, neon, vibrant, detailed, retro futurism",
170
+ "negative_prompt": "modern, desaturated, black and white, realism, low contrast"
171
+ },
172
+ {
173
+ "name": "futuristic-retro futurism",
174
+ "prompt": "retro-futuristic {prompt} . vintage sci-fi, 50s and 60s style, atomic age, vibrant, highly detailed",
175
+ "negative_prompt": "contemporary, realistic, rustic, primitive"
176
+ },
177
+ {
178
+ "name": "futuristic-sci-fi",
179
+ "prompt": "sci-fi style {prompt} . futuristic, technological, alien worlds, space themes, advanced civilizations",
180
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, historical, medieval"
181
+ },
182
+ {
183
+ "name": "futuristic-vaporwave",
184
+ "prompt": "vaporwave style {prompt} . retro aesthetic, cyberpunk, vibrant, neon colors, vintage 80s and 90s style, highly detailed",
185
+ "negative_prompt": "monochrome, muted colors, realism, rustic, minimalist, dark"
186
+ },
187
+ {
188
+ "name": "game-bubble bobble",
189
+ "prompt": "Bubble Bobble style {prompt} . 8-bit, cute, pixelated, fantasy, vibrant, reminiscent of Bubble Bobble game",
190
+ "negative_prompt": "realistic, modern, photorealistic, violent, horror"
191
+ },
192
+ {
193
+ "name": "game-cyberpunk game",
194
+ "prompt": "cyberpunk game style {prompt} . neon, dystopian, futuristic, digital, vibrant, detailed, high contrast, reminiscent of cyberpunk genre video games",
195
+ "negative_prompt": "historical, natural, rustic, low detailed"
196
+ },
197
+ {
198
+ "name": "game-fighting game",
199
+ "prompt": "fighting game style {prompt} . dynamic, vibrant, action-packed, detailed character design, reminiscent of fighting video games",
200
+ "negative_prompt": "peaceful, calm, minimalist, photorealistic"
201
+ },
202
+ {
203
+ "name": "game-gta",
204
+ "prompt": "GTA-style artwork {prompt} . satirical, exaggerated, pop art style, vibrant colors, iconic characters, action-packed",
205
+ "negative_prompt": "realistic, black and white, low contrast, impressionist, cubist, noisy, blurry, deformed"
206
+ },
207
+ {
208
+ "name": "game-mario",
209
+ "prompt": "Super Mario style {prompt} . vibrant, cute, cartoony, fantasy, playful, reminiscent of Super Mario series",
210
+ "negative_prompt": "realistic, modern, horror, dystopian, violent"
211
+ },
212
+ {
213
+ "name": "game-minecraft",
214
+ "prompt": "Minecraft style {prompt} . blocky, pixelated, vibrant colors, recognizable characters and objects, game assets",
215
+ "negative_prompt": "smooth, realistic, detailed, photorealistic, noise, blurry, deformed"
216
+ },
217
+ {
218
+ "name": "game-pokemon",
219
+ "prompt": "Pokémon style {prompt} . vibrant, cute, anime, fantasy, reminiscent of Pokémon series",
220
+ "negative_prompt": "realistic, modern, horror, dystopian, violent"
221
+ },
222
+ {
223
+ "name": "game-retro arcade",
224
+ "prompt": "retro arcade style {prompt} . 8-bit, pixelated, vibrant, classic video game, old school gaming, reminiscent of 80s and 90s arcade games",
225
+ "negative_prompt": "modern, ultra-high resolution, photorealistic, 3D"
226
+ },
227
+ {
228
+ "name": "game-retro game",
229
+ "prompt": "retro game art {prompt} . 16-bit, vibrant colors, pixelated, nostalgic, charming, fun",
230
+ "negative_prompt": "realistic, photorealistic, 35mm film, deformed, glitch, low contrast, noisy"
231
+ },
232
+ {
233
+ "name": "game-rpg fantasy game",
234
+ "prompt": "role-playing game (RPG) style fantasy {prompt} . detailed, vibrant, immersive, reminiscent of high fantasy RPG games",
235
+ "negative_prompt": "sci-fi, modern, urban, futuristic, low detailed"
236
+ },
237
+ {
238
+ "name": "game-strategy game",
239
+ "prompt": "strategy game style {prompt} . overhead view, detailed map, units, reminiscent of real-time strategy video games",
240
+ "negative_prompt": "first-person view, modern, photorealistic"
241
+ },
242
+ {
243
+ "name": "game-streetfighter",
244
+ "prompt": "Street Fighter style {prompt} . vibrant, dynamic, arcade, 2D fighting game, highly detailed, reminiscent of Street Fighter series",
245
+ "negative_prompt": "3D, realistic, modern, photorealistic, turn-based strategy"
246
+ },
247
+ {
248
+ "name": "game-zelda",
249
+ "prompt": "Legend of Zelda style {prompt} . vibrant, fantasy, detailed, epic, heroic, reminiscent of The Legend of Zelda series",
250
+ "negative_prompt": "sci-fi, modern, realistic, horror"
251
+ },
252
+ {
253
+ "name": "misc-architectural",
254
+ "prompt": "architectural style {prompt} . clean lines, geometric shapes, minimalist, modern, architectural drawing, highly detailed",
255
+ "negative_prompt": "curved lines, ornate, baroque, abstract, grunge"
256
+ },
257
+ {
258
+ "name": "misc-disco",
259
+ "prompt": "disco-themed {prompt} . vibrant, groovy, retro 70s style, shiny disco balls, neon lights, dance floor, highly detailed",
260
+ "negative_prompt": "minimalist, rustic, monochrome, contemporary, simplistic"
261
+ },
262
+ {
263
+ "name": "misc-dreamscape",
264
+ "prompt": "dreamscape {prompt} . surreal, ethereal, dreamy, mysterious, fantasy, highly detailed",
265
+ "negative_prompt": "realistic, concrete, ordinary, mundane"
266
+ },
267
+ {
268
+ "name": "misc-dystopian",
269
+ "prompt": "dystopian style {prompt} . bleak, post-apocalyptic, somber, dramatic, highly detailed",
270
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, cheerful, optimistic, vibrant, colorful"
271
+ },
272
+ {
273
+ "name": "misc-fairy tale",
274
+ "prompt": "fairy tale {prompt} . magical, fantastical, enchanting, storybook style, highly detailed",
275
+ "negative_prompt": "realistic, modern, ordinary, mundane"
276
+ },
277
+ {
278
+ "name": "misc-gothic",
279
+ "prompt": "gothic style {prompt} . dark, mysterious, haunting, dramatic, ornate, detailed",
280
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, cheerful, optimistic"
281
+ },
282
+ {
283
+ "name": "misc-grunge",
284
+ "prompt": "grunge style {prompt} . textured, distressed, vintage, edgy, punk rock vibe, dirty, noisy",
285
+ "negative_prompt": "smooth, clean, minimalist, sleek, modern, photorealistic"
286
+ },
287
+ {
288
+ "name": "misc-horror",
289
+ "prompt": "horror-themed {prompt} . eerie, unsettling, dark, spooky, suspenseful, grim, highly detailed",
290
+ "negative_prompt": "cheerful, bright, vibrant, light-hearted, cute"
291
+ },
292
+ {
293
+ "name": "misc-kawaii",
294
+ "prompt": "kawaii style {prompt} . cute, adorable, brightly colored, cheerful, anime influence, highly detailed",
295
+ "negative_prompt": "dark, scary, realistic, monochrome, abstract"
296
+ },
297
+ {
298
+ "name": "misc-lovecraftian",
299
+ "prompt": "lovecraftian horror {prompt} . eldritch, cosmic horror, unknown, mysterious, surreal, highly detailed",
300
+ "negative_prompt": "light-hearted, mundane, familiar, simplistic, realistic"
301
+ },
302
+ {
303
+ "name": "misc-macabre",
304
+ "prompt": "macabre style {prompt} . dark, gothic, grim, haunting, highly detailed",
305
+ "negative_prompt": "bright, cheerful, light-hearted, cartoonish, cute"
306
+ },
307
+ {
308
+ "name": "misc-manga",
309
+ "prompt": "manga style {prompt} . vibrant, high-energy, detailed, iconic, Japanese comic style",
310
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, Western comic style"
311
+ },
312
+ {
313
+ "name": "misc-metropolis",
314
+ "prompt": "metropolis-themed {prompt} . urban, cityscape, skyscrapers, modern, futuristic, highly detailed",
315
+ "negative_prompt": "rural, natural, rustic, historical, simple"
316
+ },
317
+ {
318
+ "name": "misc-minimalist",
319
+ "prompt": "minimalist style {prompt} . simple, clean, uncluttered, modern, elegant",
320
+ "negative_prompt": "ornate, complicated, highly detailed, cluttered, disordered, messy, noisy"
321
+ },
322
+ {
323
+ "name": "misc-monochrome",
324
+ "prompt": "monochrome {prompt} . black and white, contrast, tone, texture, detailed",
325
+ "negative_prompt": "colorful, vibrant, noisy, blurry, deformed"
326
+ },
327
+ {
328
+ "name": "misc-nautical",
329
+ "prompt": "nautical-themed {prompt} . sea, ocean, ships, maritime, beach, marine life, highly detailed",
330
+ "negative_prompt": "landlocked, desert, mountains, urban, rustic"
331
+ },
332
+ {
333
+ "name": "misc-space",
334
+ "prompt": "space-themed {prompt} . cosmic, celestial, stars, galaxies, nebulas, planets, science fiction, highly detailed",
335
+ "negative_prompt": "earthly, mundane, ground-based, realism"
336
+ },
337
+ {
338
+ "name": "misc-stained glass",
339
+ "prompt": "stained glass style {prompt} . vibrant, beautiful, translucent, intricate, detailed",
340
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic"
341
+ },
342
+ {
343
+ "name": "misc-techwear fashion",
344
+ "prompt": "techwear fashion {prompt} . futuristic, cyberpunk, urban, tactical, sleek, dark, highly detailed",
345
+ "negative_prompt": "vintage, rural, colorful, low contrast, realism, sketch, watercolor"
346
+ },
347
+ {
348
+ "name": "misc-tribal",
349
+ "prompt": "tribal style {prompt} . indigenous, ethnic, traditional patterns, bold, natural colors, highly detailed",
350
+ "negative_prompt": "modern, futuristic, minimalist, pastel"
351
+ },
352
+ {
353
+ "name": "misc-zentangle",
354
+ "prompt": "zentangle {prompt} . intricate, abstract, monochrome, patterns, meditative, highly detailed",
355
+ "negative_prompt": "colorful, representative, simplistic, large fields of color"
356
+ },
357
+ {
358
+ "name": "papercraft-collage",
359
+ "prompt": "collage style {prompt} . mixed media, layered, textural, detailed, artistic",
360
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic"
361
+ },
362
+ {
363
+ "name": "papercraft-flat papercut",
364
+ "prompt": "flat papercut style {prompt} . silhouette, clean cuts, paper, sharp edges, minimalist, color block",
365
+ "negative_prompt": "3D, high detail, noise, grainy, blurry, painting, drawing, photo, disfigured"
366
+ },
367
+ {
368
+ "name": "papercraft-kirigami",
369
+ "prompt": "kirigami representation of {prompt} . 3D, paper folding, paper cutting, Japanese, intricate, symmetrical, precision, clean lines",
370
+ "negative_prompt": "painting, drawing, 2D, noisy, blurry, deformed"
371
+ },
372
+ {
373
+ "name": "papercraft-paper mache",
374
+ "prompt": "paper mache representation of {prompt} . 3D, sculptural, textured, handmade, vibrant, fun",
375
+ "negative_prompt": "2D, flat, photo, sketch, digital art, deformed, noisy, blurry"
376
+ },
377
+ {
378
+ "name": "papercraft-paper quilling",
379
+ "prompt": "paper quilling art of {prompt} . intricate, delicate, curling, rolling, shaping, coiling, loops, 3D, dimensional, ornamental",
380
+ "negative_prompt": "photo, painting, drawing, 2D, flat, deformed, noisy, blurry"
381
+ },
382
+ {
383
+ "name": "papercraft-papercut collage",
384
+ "prompt": "papercut collage of {prompt} . mixed media, textured paper, overlapping, asymmetrical, abstract, vibrant",
385
+ "negative_prompt": "photo, 3D, realistic, drawing, painting, high detail, disfigured"
386
+ },
387
+ {
388
+ "name": "papercraft-papercut shadow box",
389
+ "prompt": "3D papercut shadow box of {prompt} . layered, dimensional, depth, silhouette, shadow, papercut, handmade, high contrast",
390
+ "negative_prompt": "painting, drawing, photo, 2D, flat, high detail, blurry, noisy, disfigured"
391
+ },
392
+ {
393
+ "name": "papercraft-stacked papercut",
394
+ "prompt": "stacked papercut art of {prompt} . 3D, layered, dimensional, depth, precision cut, stacked layers, papercut, high contrast",
395
+ "negative_prompt": "2D, flat, noisy, blurry, painting, drawing, photo, deformed"
396
+ },
397
+ {
398
+ "name": "papercraft-thick layered papercut",
399
+ "prompt": "thick layered papercut art of {prompt} . deep 3D, volumetric, dimensional, depth, thick paper, high stack, heavy texture, tangible layers",
400
+ "negative_prompt": "2D, flat, thin paper, low stack, smooth texture, painting, drawing, photo, deformed"
401
+ },
402
+ {
403
+ "name": "photo-alien",
404
+ "prompt": "alien-themed {prompt} . extraterrestrial, cosmic, otherworldly, mysterious, sci-fi, highly detailed",
405
+ "negative_prompt": "earthly, mundane, common, realistic, simple"
406
+ },
407
+ {
408
+ "name": "photo-film noir",
409
+ "prompt": "film noir style {prompt} . monochrome, high contrast, dramatic shadows, 1940s style, mysterious, cinematic",
410
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, vibrant, colorful"
411
+ },
412
+ {
413
+ "name": "photo-glamour",
414
+ "prompt": "glamorous photo {prompt} . high fashion, luxurious, extravagant, stylish, sensual, opulent, elegance, stunning beauty, professional, high contrast, detailed",
415
+ "negative_prompt": "ugly, deformed, noisy, blurry, distorted, grainy, sketch, low contrast, dull, plain, modest"
416
+ },
417
+ {
418
+ "name": "photo-hdr",
419
+ "prompt": "HDR photo of {prompt} . High dynamic range, vivid, rich details, clear shadows and highlights, realistic, intense, enhanced contrast, highly detailed",
420
+ "negative_prompt": "flat, low contrast, oversaturated, underexposed, overexposed, blurred, noisy"
421
+ },
422
+ {
423
+ "name": "photo-iphone photographic",
424
+ "prompt": "iphone photo {prompt} . large depth of field, deep depth of field, highly detailed",
425
+ "negative_prompt": "drawing, painting, crayon, sketch, graphite, impressionist, noisy, blurry, soft, deformed, ugly, shallow depth of field, bokeh"
426
+ },
427
+ {
428
+ "name": "photo-long exposure",
429
+ "prompt": "long exposure photo of {prompt} . Blurred motion, streaks of light, surreal, dreamy, ghosting effect, highly detailed",
430
+ "negative_prompt": "static, noisy, deformed, shaky, abrupt, flat, low contrast"
431
+ },
432
+ {
433
+ "name": "photo-neon noir",
434
+ "prompt": "neon noir {prompt} . cyberpunk, dark, rainy streets, neon signs, high contrast, low light, vibrant, highly detailed",
435
+ "negative_prompt": "bright, sunny, daytime, low contrast, black and white, sketch, watercolor"
436
+ },
437
+ {
438
+ "name": "photo-silhouette",
439
+ "prompt": "silhouette style {prompt} . high contrast, minimalistic, black and white, stark, dramatic",
440
+ "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, color, realism, photorealistic"
441
+ },
442
+ {
443
+ "name": "photo-tilt-shift",
444
+ "prompt": "tilt-shift photo of {prompt} . selective focus, miniature effect, blurred background, highly detailed, vibrant, perspective control",
445
+ "negative_prompt": "blurry, noisy, deformed, flat, low contrast, unrealistic, oversaturated, underexposed"
446
+ }
447
+ ]
usage.md CHANGED
@@ -22,16 +22,20 @@ Start with a [textual inversion](https://huggingface.co/docs/diffusers/en/using-
22
  * [`<bad_dream>`](https://civitai.com/models/72437?modelVersionId=77169)
23
  * [`<unrealistic_dream>`](https://civitai.com/models/72437?modelVersionId=77173)
24
 
25
- And iterate from there. You can use weighting in the negative prompt as well.
26
 
27
  #### Arrays
28
 
29
- Arrays allow you to generate different images from a single prompt. For example, `man, [[blue,blue+,blue++]] eyes` will expand into 3 separate prompts. Make sure `Images` is set accordingly (e.g., 3). Only works for the positive prompt. Inspired by [Fooocus](https://github.com/lllyasviel/Fooocus/pull/1503).
30
 
31
- When using arrays, you should disable `Autoincrement` so the same seed is used for each generation.
 
 
32
 
33
  ### Models
34
 
 
 
35
  * [lykon/dreamshaper-8](https://huggingface.co/Lykon/dreamshaper-8): general purpose (default)
36
  * [fluently/fluently-v4](https://huggingface.co/fluently/Fluently-v4): general purpose merge
37
  * [linaqruf/anything-v3-1](https://huggingface.co/linaqruf/anything-v3-1): anime
 
22
  * [`<bad_dream>`](https://civitai.com/models/72437?modelVersionId=77169)
23
  * [`<unrealistic_dream>`](https://civitai.com/models/72437?modelVersionId=77173)
24
 
25
+ And add to it. You can use weighting in the negative prompt as well.
26
 
27
  #### Arrays
28
 
29
+ Arrays allow you to generate different images from a single prompt. For example, `[[cat,corgi]]` will expand into 2 separate prompts. Make sure `Images` is set accordingly (e.g., 2). Only works for the positive prompt. Inspired by [Fooocus](https://github.com/lllyasviel/Fooocus/pull/1503).
30
 
31
+ ### Styles
32
+
33
+ Styles are prompt templates from twri's [sdxl_prompt_styler](https://github.com/twri/sdxl_prompt_styler) Comfy node. Start with a subject like "cat", pick a style, and iterate from there.
34
 
35
  ### Models
36
 
37
+ Each model checkpoint has a different aesthetic:
38
+
39
  * [lykon/dreamshaper-8](https://huggingface.co/Lykon/dreamshaper-8): general purpose (default)
40
  * [fluently/fluently-v4](https://huggingface.co/fluently/Fluently-v4): general purpose merge
41
  * [linaqruf/anything-v3-1](https://huggingface.co/linaqruf/anything-v3-1): anime