adamelliotfields commited on
Commit
39a6792
1 Parent(s): 259be70

Rewrite styles and prompts

Browse files
Files changed (7) hide show
  1. app.py +14 -16
  2. data/prompts.json +46 -152
  3. data/styles.json +135 -637
  4. lib/__init__.py +12 -2
  5. lib/config.py +1 -1
  6. lib/inference.py +33 -58
  7. lib/utils.py +37 -0
app.py CHANGED
@@ -4,7 +4,7 @@ import random
4
 
5
  import gradio as gr
6
 
7
- from lib import Config, async_call, download_repo_files, generate
8
 
9
  # the CSS `content` attribute expects a string so we need to wrap the number in quotes
10
  refresh_seed_js = """
@@ -33,17 +33,6 @@ aspect_ratio_js = """
33
  """
34
 
35
 
36
- def read_file(path: str) -> str:
37
- with open(path, "r", encoding="utf-8") as file:
38
- return file.read()
39
-
40
-
41
- def random_fn():
42
- prompts = read_file("data/prompts.json")
43
- prompts = json.loads(prompts)
44
- return gr.Textbox(value=random.choice(prompts))
45
-
46
-
47
  def create_image_dropdown(images, locked=False):
48
  if locked:
49
  return gr.Dropdown(
@@ -59,18 +48,18 @@ def create_image_dropdown(images, locked=False):
59
  )
60
 
61
 
62
- def gallery_fn(images, image, ip_image):
63
  return (
64
  create_image_dropdown(images, locked=image is not None),
65
  create_image_dropdown(images, locked=ip_image is not None),
66
  )
67
 
68
 
69
- def image_prompt_fn(images):
70
  return create_image_dropdown(images)
71
 
72
 
73
- def image_select_fn(images, image, i):
74
  # -2 is the lock icon, -1 is None
75
  if i == -2:
76
  return gr.Image(image)
@@ -79,6 +68,12 @@ def image_select_fn(images, image, i):
79
  return gr.Image(images[i][0]) if i > -1 else None
80
 
81
 
 
 
 
 
 
 
82
  async def generate_fn(*args):
83
  if len(args) > 0:
84
  prompt = args[0]
@@ -159,10 +154,13 @@ with gr.Blocks(
159
 
160
  with gr.Row():
161
  styles = json.loads(read_file("data/styles.json"))
 
 
162
  style = gr.Dropdown(
163
  value=Config.STYLE,
164
  label="Style",
165
- choices=[("None", None)] + [(s["name"], s["id"]) for s in styles],
 
166
  )
167
  embeddings = gr.Dropdown(
168
  elem_id="embeddings",
 
4
 
5
  import gradio as gr
6
 
7
+ from lib import Config, async_call, download_repo_files, generate, read_file
8
 
9
  # the CSS `content` attribute expects a string so we need to wrap the number in quotes
10
  refresh_seed_js = """
 
33
  """
34
 
35
 
 
 
 
 
 
 
 
 
 
 
 
36
  def create_image_dropdown(images, locked=False):
37
  if locked:
38
  return gr.Dropdown(
 
48
  )
49
 
50
 
51
+ async def gallery_fn(images, image, ip_image):
52
  return (
53
  create_image_dropdown(images, locked=image is not None),
54
  create_image_dropdown(images, locked=ip_image is not None),
55
  )
56
 
57
 
58
+ async def image_prompt_fn(images):
59
  return create_image_dropdown(images)
60
 
61
 
62
+ async def image_select_fn(images, image, i):
63
  # -2 is the lock icon, -1 is None
64
  if i == -2:
65
  return gr.Image(image)
 
68
  return gr.Image(images[i][0]) if i > -1 else None
69
 
70
 
71
+ async def random_fn():
72
+ prompts = read_file("data/prompts.json")
73
+ prompts = json.loads(prompts)
74
+ return gr.Textbox(value=random.choice(prompts))
75
+
76
+
77
  async def generate_fn(*args):
78
  if len(args) > 0:
79
  prompt = args[0]
 
154
 
155
  with gr.Row():
156
  styles = json.loads(read_file("data/styles.json"))
157
+ style_ids = list(styles.keys())
158
+ style_ids = [sid for sid in style_ids if not sid.startswith("_")]
159
  style = gr.Dropdown(
160
  value=Config.STYLE,
161
  label="Style",
162
+ choices=[("None", "none")]
163
+ + [(styles[sid]["name"], sid) for sid in style_ids],
164
  )
165
  embeddings = gr.Dropdown(
166
  elem_id="embeddings",
data/prompts.json CHANGED
@@ -1,154 +1,48 @@
1
  [
2
- "Stunning sunset over a futuristic city, with towering skyscrapers and flying vehicles, golden hour lighting and dramatic clouds, high detail, moody atmosphere",
3
- "Mystical forest with glowing mushrooms and a babbling brook, surrounded by towering trees and shrouded in mist, ethereal, dreamlike, stylized",
4
- "Majestic dragon, perched atop a cliff overlooking a fiery landscape, with smoke and ash rising into the air, intense, detailed, scales, dynamic, epic",
5
- "Serene beach scene with crystal clear water and white sand, tropical palm trees swaying in the breeze, perfect paradise, seascape",
6
- "Post-apocalyptic wasteland with rusted and abandoned vehicles, dust storms and towering dust clouds, gritty, dark, dramatic, apocalyptic, stylized",
7
- "Mystical underwater world with vibrant coral and exotic sea creatures, sun beams shining through the water, mysterious, magical, otherworldly",
8
- "Snowy winter wonderland with a lone cabin in the distance, surrounded by frosty trees and fresh snowfall, peaceful, serene, detailed, winter landscape",
9
- "Mysterious and abandoned temple in the jungle, surrounded by lush vegetation and tall trees, atmospheric, ancient, moody",
10
- "Vibrant and bustling city street with busy traffic, bright lights, and towering skyscrapers, chaotic, fast-paced, cityscape, high detail",
11
- "Gothic cathedral in a stormy night, with lightning illuminating the sky and rain pouring down, dramatic, atmospheric, high detail, moody",
12
- "Fantasy castle on a hilltop, surrounded by rolling hills and a beautiful sunset, magical, serene, high detail, romantic, stylized",
13
- "Vast desert with sand dunes and a lone oasis in the distance, hot sun and clear blue sky, peaceful, serene, desertscape, high resolution",
14
- "Ethereal aurora borealis over a snowy mountain range, with a full moon shining in the background, mystical, peaceful, serene, winter landscape, high detail",
15
- "Giant robots fighting in a futuristic city, with buildings falling and explosions all around, intense, fast-paced, dramatic, stylized, futuristic",
16
- "Medieval market square with vendors selling goods, colorful banners, and bustling crowds, lively, busy, historic, high detail, architectural",
17
- "Abandoned prison on a cliff, with a stormy sea below, eerie, moody, atmospheric, architectural, stylized",
18
- "Beautiful waterfall in a lush jungle, with sunlight shining through the trees, serene, peaceful, tropical, jungle landscape, high detail",
19
- "Surreal carnival scene with bright lights, strange creatures, and a full moon, dreamlike, vibrant, stylized, surreal, high detail",
20
- "Breathtaking mountain range with a clear river running through it, surrounded by tall trees and misty clouds, serene, peaceful, mountain landscape, high detail",
21
- "Historic battlefield with armies clashing and smoke rising, intense, fast-paced, dramatic, historic, high detail",
22
- "Enchanted forest with glowing fireflies and a babbling brook, surrounded by towering trees and shrouded in mist, magical, ethereal, dreamlike, stylized",
23
- "Sunken ship in a vibrant coral reef, with schools of colorful fish swimming by, mysterious, magical, high detail",
24
- "Futuristic city with towering skyscrapers and flying vehicles, set against a vibrant sunset, futuristic, serene, high detail",
25
- "Volcanic island with a boiling crater and ash clouds rising into the air, intense, dramatic, natural disaster, high detail, volcanic landscape",
26
- "Lonely lighthouse on a rocky coast during a storm, with waves crashing and lightning flashing, moody, atmospheric, seascape, high detail",
27
- "Ruined castle on a cliff overlooking the sea, with a stormy sky and crashing waves, eerie, moody, atmospheric",
28
- "Vibrant street fair with colorful stalls and bustling crowds, lively, busy, high detail",
29
- "Mysterious underground cave with glowing crystals and an underground river, dark, mysterious, underground landscape, high detail",
30
- "Glorious sunrise over a cityscape, with the city slowly coming to life and the sky turning orange and pink, serene, peaceful, cityscape, high detail",
31
- "Breathtaking view of a snowy mountain range, with crisp clear air and a brilliant blue sky, serene, peaceful, majestic, high detail, winter landscape",
32
- "Enchanting waterfall in a lush jungle, surrounded by exotic plants and wildlife, tranquil, serene, high detail, tropical landscape",
33
- "Glowing aurora borealis over a frozen lake, with towering mountains in the distance, ethereal, magical, winter landscape, high detail",
34
- "Rushing rapids in a crystal clear river, surrounded by towering trees and lush vegetation, energetic, serene, high detail, river landscape",
35
- "Vibrant flower field in full bloom, surrounded by rolling hills and a brilliant blue sky, colorful, serene, high detail, spring landscape",
36
- "Glimpses of a herd of wild elephants crossing a savanna, surrounded by tall grass and a brilliant orange sunset, majestic, peaceful, high detail, safari landscape",
37
- "Tranquil pond surrounded by tall trees, with a beautiful lily pad garden and calm reflection of the sky, serene, peaceful, high detail, water landscape",
38
- "Giant redwoods in a misty forest, with towering trees and lush vegetation, peaceful, serene, high detail, forest landscape",
39
- "Breathtaking view of a desert landscape, with towering sand dunes and a brilliant blue sky, serene, vast, high detail, desert landscape",
40
- "Stunning sunset over an ocean horizon, with orange and pink hues spreading across the sky, peaceful, serene, high detail, seascape",
41
- "Massive airship floating above a sprawling metropolis, with towering skyscrapers and busy streets below, futuristic, detailed, high resolution, urban landscape",
42
- "Steampunk submarine exploring a coral reef, surrounded by exotic sea creatures and vibrant coral, detailed, surreal, steampunk style",
43
- "Medieval castle on a cliff, surrounded by a moat and rolling green hills, majestic, medieval, high detail",
44
- "Towering robot statue in a desolate wasteland, with dust storms and abandoned vehicles in the distance, mechanical, dystopian, high detail, post-apocalyptic landscape",
45
- "Massive statue of a dragon in a lush jungle, surrounded by exotic plants and tall trees, mysterious, ancient, high detail, tropical landscape",
46
- "Ancient temple in a mountain range, surrounded by misty clouds and tall peaks, mysterious, ancient, high detail",
47
- "Crashed spaceship in a dense forest, surrounded by tall trees and exotic vegetation, futuristic, detailed, high detail, sci-fi landscape",
48
- "Lighthouse on a stormy beach, surrounded by crashing waves and dramatic clouds, intense, detailed, high detail, coastal landscape",
49
- "Steam locomotive in a snowy mountain range, surrounded by tall peaks and crisp clear air, nostalgic, detailed, high detail, winter landscape",
50
- "Old western town in the desert, surrounded by towering sand dunes and a brilliant blue sky, nostalgic, detailed, high detail, western landscape",
51
- "Futuristic cyborg, sleek metal enhancements and glowing circuits, standing in high-tech laboratory, intense, detailed, high resolution, sci-fi portrait",
52
- "Medieval knight, armor and shining sword, standing on battle-scarred battlefield, intense, detailed, high detail, portrait",
53
- "Powerful sorceress, flowing robes and mystical staff, standing in dark and ominous forest, mysterious, detailed, high detail, fantasy portrait",
54
- "Rogue adventurer, backpack and rugged appearance, standing in dense jungle, adventurous, detailed, high detail, portrait",
55
- "Wise wizard, long beard and mysterious tome, standing in dimly lit library, wise, detailed, high detail, portrait",
56
- "Daring astronaut, space suit and helmet, standing in front of futuristic spaceship, adventurous, detailed, high detail, portrait",
57
- "Skilled archer, bow and quiver of arrows, standing in forest clearing, intense, detailed, high detail, portrait",
58
- "Daring treasure hunter, map and compass, standing in desolate desert, adventurous, detailed, high detail, portrait",
59
- "Cosmic swirl of stars and galaxies, swirling in endless black void, otherworldly, abstract, high detail, space",
60
- "Psychedelic mandala of patterns and shapes, kaleidoscopic, trippy, detailed, abstract art",
61
- "Fractal landscape of geometric shapes and patterns, complex, intricate, abstract, digital art",
62
- "Glowing nebula of vibrant gas and dust, celestial, otherworldly, abstract, space art",
63
- "Hypnotic vortex of swirling colors, intense, detailed, abstract, digital art",
64
- "Aurora borealis, vibrant lights dancing in the night sky, ethereal, abstract, high detail, nature art",
65
- "Phantasmagoric carnival, carnival attractions shifting and changing, dreamlike, abstract, high detail, surreal art",
66
- "Radiant nebula, star clusters and gas clouds shining brightly, celestial, otherworldly, abstract, space art",
67
- "Iconic Parisian street with quaint cafes and bistros, charming, romantic, high detail, cityscape",
68
- "Golden hour New York City skyline, towering skyscrapers and bustling streets, iconic, dramatic",
69
- "Beautiful Venice canals with gondolas and bridges, charming, romantic, high detail, cityscape",
70
- "Majestic Machu Picchu, set against a backdrop of towering mountains, breathtaking, high detail, landscape",
71
- "Breathtaking view of the Grand Canyon, vast and awe-inspiring, high detail, landscape",
72
- "Charming Santorini island with pristine beaches and iconic white buildings, Mediterranean, high detail, seascape",
73
- "The iconic Great Wall of China, stretching along the countryside, historical, high detail, landscape",
74
- "Stunning view of the Sydney Opera House, with the harbor and cityscape in the background, iconic, high detail, cityscape",
75
- "The stunning Taj Mahal, set against a backdrop of lush greenery, historic, high detail, landmark",
76
- "Breathtaking view of the Serengeti with roaming wildlife, vast, high detail, nature landscape",
77
- "Giant rubber duck floating in the ocean with a small island on its back, surrounded by tropical palm trees and crystal clear water, bright and sunny day, calm seas, vivid colors, cinematic lighting, high detail",
78
- "Giant hamster wheel in the middle of a city, with skyscrapers and busy streets in the background, centralized, low details, stylized graphics, night time, lit up, neon lights, no shadows",
79
- "Humongous teacup and saucer floating in the sky, surrounded by clouds and rainbows, abstract, surreal, dreamlike, stylized oil painting style, vivid colors, detailed, high resolution, wide angled, otherworldly, fantastic",
80
- "Giant ice cream cone melting and creating a river through a city, with boats floating down it, dramatic, intense, chaotic, high detail, fast-paced, wide angled, aerial view, colorful, fun, stylized graphics",
81
- "Giant snail racing a car, high speed, intense, dynamic, detailed, cartoon style, wide angled, overhead view, vibrant colors, whimsical, absurd, surreal, fun",
82
- "A group of giant robots playing a game of soccer, intense, dynamic, high detail, 3D, stylized, futuristic, metallic, robots, absurd, fantastic, wide angled, overhead view, colorful, fun",
83
- "A city built entirely out of food, colorful, detailed, stylized, fun, absurd, vivid, delicious, overhead view, centralized, wide angled, vibrant, fantastical",
84
- "Giant fruit and vegetable parade, with various different fruits and vegetables marching down a city street, colorful, detailed, stylized, absurd, fun, vivid, delicious, overhead view, centralized, wide angled",
85
- "Giant caterpillar riding a bicycle, surreal, absurd, whimsical, stylized, detailed, vivid, high resolution, centralized, overhead view, colorful, fun",
86
- "A bustling city made entirely of candy, with gumdrop buildings and sugar-coated streets, bright colors, whimsical, playful, detailed",
87
- "A floating city in the clouds, with airships docking at sky-high platforms and clouds serving as roads, futuristic, whimsical, high-altitude, detailed",
88
- "An underground city, filled with steam-powered trains, strange creatures, and intricate tunnels and cave systems, dark, detailed, subterranean, steampunk",
89
- "A jungle city, with vines and roots serving as roads and buildings made of leaves, colorful, detailed, natural, tropical",
90
- "A city made of ice, with ice slides, frozen rivers, and snow-covered buildings, winter, magical, detailed, cold",
91
- "A pirate port, with ships setting sail, blacksmiths crafting weapons, and treasure-filled caves, adventurous, detailed, historic, swashbuckling",
92
- "A space station, with spaceships coming and going, astronauts on EVA missions, and maintenance robots hard at work, futuristic, high-tech, detailed, intergalactic",
93
- "A dragon's lair, with dragons hoarding treasure, sleeping on piles of gold, and shooting fire from their nostrils, mythical, detailed, adventurous, fantastical",
94
- "Bowl of steaming hot ramen with a perfect egg in the center, surrounded by thin slices of meat, green onions, and nori, with a flavorful broth and perfect noodles, high detail, focused on texture and steam",
95
- "Delectable pizza with melted cheese, juicy tomato sauce, and an array of toppings including pepperoni, mushrooms, and black olives, served hot and fresh, high resolution, stylized, focused on ingredients and melted cheese",
96
- "Sizzling hot sirloin steak with a perfect crust, seared to perfection and topped with herbs and spices, served with a side of roasted vegetables and mashed potatoes, juicy, delicious, high detail",
97
- "Assorted fruit platter with ripe, juicy strawberries, sweet grapes, tangy citrus, and juicy watermelon, set on a bed of greens and accented with mint leaves, high resolution, vibrant, natural",
98
- "Chocolate cake with rich, fudgy frosting and perfectly layered cake, garnished with fresh berries and drizzled with melted chocolate, decadent, sweet, high detail, food photography",
99
- "Baked salmon fillet with a perfectly crispy skin and tender, flaky flesh, served with a side of steamed vegetables and quinoa, healthy, flavorful, high detail, food photography",
100
- "Bowl of hearty chili with tender chunks of beef, rich tomato sauce, and a mix of spices, topped with grated cheddar cheese and green onions, high detail, focused on texture and heat, comfort food",
101
- "Platter of sushi rolls with colorful and flavorful ingredients, including avocado, tuna, salmon, and crab, arranged with precision and beauty, high resolution, Asian-style, focused on texture and color",
102
- "Stuffed bell peppers filled with tender ground beef, flavorful rice, and melted cheese, baked to perfection, juicy, flavorful, high detail, food photography",
103
- "Tasty tacos filled with seasoned beef, fresh salsa, melted cheese, and crunchy lettuce, served on a warm corn tortilla, Mexican-style, high resolution, focused on texture and flavor, food photography",
104
- "Contemporary living room with large windows overlooking a cityscape, neutral color palette, minimalistic design, sleek modern furniture, gallery wall of abstract art, warm lighting, high detail, open floor plan",
105
- "Rustic kitchen with exposed brick wall, reclaimed wood cabinetry, large farmhouse sink, industrial lighting fixtures, antique baking tools on open shelving, cast iron cookware, vintage accents, warm and inviting, detailed textures",
106
- "Luxurious bathroom with freestanding bathtub, rain shower, heated flooring, marble tiles, brass fixtures, floating vanity with double sink, elegant chandelier, high contrast lighting, spa-like atmosphere, high resolution",
107
- "Elegant dining room with crystal chandelier, dark wood table, velvet upholstered chairs, large statement art piece, tall windows with lush garden view, sophisticated color scheme, detailed textures, candlelit ambiance",
108
- "Industrial-style office with concrete floors, raw steel beams, large wooden desk, leather office chair, wall of bookshelves, minimalist design, warm lighting, high detail, organized and professional",
109
- "Cozy bedroom with four-poster bed, plush bedding, soft lighting, large windows with natural light, statement wallpaper, decorative throw pillows, high resolution textures, intimate and relaxing",
110
- "Glamorous dressing room with large mirror, Hollywood lights, plush velvet seating, glass shelves displaying designer shoes, hanging rods for clothes, detailed textures, high contrast lighting, organized and stylish",
111
- "Modern nursery with minimalistic design, white crib, rocking chair, wall mounted bookshelves, abstract art, neutral color palette, warm lighting, high detail, cozy and inviting",
112
- "Minimalistic home gym with rubber flooring, wall-mounted TV, weight bench, medicine ball, dumbbells, yoga mats, high-tech equipment, high detail, organized and efficient",
113
- "Traditional library with floor-to-ceiling bookcases, rolling ladder, large wooden desk, leather armchair, antique rug, warm lighting, high resolution textures, intellectual and inviting atmosphere",
114
- "Contemporary glass and steel building with sleek lines and an innovative facade, surrounded by an urban landscape, modern, high resolution",
115
- "Sleek and modern shopping center with an emphasis on natural light, an open-air interior, and eco-friendly features, contemporary, high detail, architectural renderings",
116
- "High-rise residential building with a unique form and facade, featuring terraces and stunning views, minimalist, high-end, architectural design",
117
- "Contemporary office building with a focus on sustainability, including green roofs and walls, modern, cutting-edge, architectural illustration",
118
- "Contemporary cultural center with a distinct form, featuring a vibrant public plaza and innovative exhibition spaces, futuristic, visually stunning, architectural drawings",
119
- "Stylish and modern apartment building with a clean, minimalist design and a focus on natural light, contemporary, high-end, architectural rendering",
120
- "Innovative mixed-use development featuring an interplay of form and function, with cutting-edge technology and sustainability features, contemporary, visually striking, architectural illustration",
121
- "Stylish and contemporary hotel with a unique form and facade, featuring luxury amenities and stunning views, modern, visually stunning",
122
- "Sleek and modern shopping mall with a focus on sustainable design, featuring natural light and innovative materials, contemporary, cutting-edge, architectural drawings",
123
- "Innovative and contemporary transportation hub with a unique form, featuring cutting-edge technology and sustainable features, modern, visually stunning, architectural illustration",
124
- "Race car with sleek design, captured in a high speed motion blur, dramatic lighting and shallow depth of field, motorsports, adrenaline, studio lighting",
125
- "Vintage hot rod with custom flame paint job, captured in low key lighting with selective focus on the chrome details, classic car, retro, high resolution",
126
- "Luxury sports car with aerodynamic curves, shot in a high contrast, high key lighting with shallow depth of field, exotic, detailed, sporty, studio lighting",
127
- "Majestic yacht with sleek lines, captured in a serene sunset light, with a shallow depth of field, boating, lifestyle",
128
- "Futuristic flying car with smooth lines, shot in a low light high contrast studio setting, science fiction, cutting edge, high detail, moody atmosphere",
129
- "Sturdy pickup truck, captured in a dramatic golden hour light with deep shadows, off-roading, rugged, dramatic, high resolution",
130
- "Vintage motorcycle with gleaming chrome and polished leather, captured in soft natural light with selective focus on the engine, classic, retro, detailed",
131
- "Luxury sports car with aggressive lines, shot in a high contrast, high key lighting with shallow depth of field, detailed, sporty, sleek, studio lighting",
132
- "Massive semi-truck with chrome details, captured in a high key lighting with shallow depth of field, transportation, commercial, detailed, high resolution",
133
- "Vintage sports car with classic curves, captured in a moody, low key light with selective focus on the grille, classic, retro, moody, detailed",
134
- "Oil painting of a bustling harbor town, with fishing boats, seagulls, and a lighthouse in the background, high contrast, dramatic lighting, heavily textured brushstrokes",
135
- "Watercolor painting of a rolling countryside, with fields of flowers, a red barn, and a white picket fence, soft and delicate brushstrokes, pastel colors",
136
- "Acrylic painting of a mountain landscape, with a stormy sky and a cabin nestled in the forest, high contrast, bold brushstrokes, high-resolution",
137
- "Oil painting of a sunset over the ocean, with orange and pink hues, gently rolling waves, and palm trees, heavily textured brushstrokes, dramatic lighting",
138
- "Pen and ink drawing of a cityscape, with tall skyscrapers and bustling city life, high-contrast, detailed linework, dramatic lighting",
139
- "Oil painting of a enchanted forest, with glowing mushrooms, fireflies, and a unicorn, soft brushstrokes, pastel colors, dream-like atmosphere",
140
- "Watercolor painting of a desert landscape, with sand dunes, mountains, and a blazing sun, soft and delicate brushstrokes, warm and vibrant colors",
141
- "Acrylic painting of a futuristic city, with neon lights, advanced technology, and flying cars, bold brushstrokes, high-contrast, highly stylized",
142
- "Oil painting of a tranquil lake surrounded by mountains, with a cabin on the shore, boats, and a sunset, heavily textured brushstrokes, warm and vibrant colors",
143
- "Pen and ink drawing of a mystical underwater world, with schools of fish, coral reefs, and a mermaid, highly detailed linework, high-contrast, stylized",
144
- "Watercolor painting of a rolling countryside, with fields of wheat, a red barn, and a white picket fence, soft and delicate brushstrokes, warm and vibrant colors",
145
- "Bronze statue of a powerful warrior, with a sword in hand, chiseled muscles, and a determined expression, highly detailed, dramatic lighting, intense gaze",
146
- "Marble statue of a serene goddess, with flowing robes, delicate features, and a tranquil expression, highly detailed, soft lighting, grace and beauty",
147
- "Wooden sculpture of a majestic animal, with intricate carving, textured fur, and piercing eyes, highly detailed, natural lighting, raw and powerful",
148
- "Stone statue of a mythological creature, with wings, horns, and a fierce expression, highly detailed, dramatic lighting, intense and otherworldly",
149
- "Bronze statue of a philosopher, with a wise expression, long beard, and a tome, highly detailed, soft lighting, introspective gaze",
150
- "Marble statue of a dancers, with fluid movements, intricate details, and grace, highly detailed, dramatic lighting, intense expression",
151
- "Wooden sculpture of a seascape, with waves, boats, and sea creatures, intricate carving, textured surface, high-resolution, natural lighting",
152
- "Bronze statue of a king, with regal attire, a crown, and a stern expression, highly detailed, dramatic lighting, commanding presence",
153
- "Wooden sculpture of a tree, with intricate branches, textured bark, and a strong trunk, highly detailed, natural lighting, grounding presence"
154
  ]
 
1
  [
2
+ "stunning sunset over a futuristic city, with towering skyscrapers, dramatic clouds, golden-hour lighting, atmospheric",
3
+ "epic dragon perched atop a cliff, detailed claws, fiery landscape, plumes of smoke",
4
+ "serene beach with crystal clear water and white sand, tropical palm trees swaying in the breeze, paradise",
5
+ "post-apocalyptic wasteland with rusted and abandoned vehicles, dust storms and towering dust clouds in the distance, dark, gritty, dramatic",
6
+ "mysterious underwater world with vibrant coral and a school of colorful fish, sun beams shining through the water, magical, enchanting, otherworldly",
7
+ "snowy winter wonderland with a lone cabin in the distance, surrounded by frosty trees and fresh snowfall, peaceful, serene",
8
+ "mysterious and abandoned temple in the jungle, surrounded by lush vegetation and tall trees, ancient, atmospheric",
9
+ "vibrant and bustling city street, busy traffic, bright lights, fast-paced, intense",
10
+ "gothic cathedral on a stormy night, lightning illuminating the sky, rain pouring down, epic, dramatic, atmospheric",
11
+ "fantasy castle on a hilltop, surrounded by rolling hills, breathtaking sunset, magical, enchanting, charming, romantic",
12
+ "vast desert with sand dunes, a lone oasis in the distance, hot sun, blue sky, peaceful, serene",
13
+ "beautiful waterfall in a lush jungle, sunlight shining through the trees, tropical, peaceful, serene",
14
+ "enchanted forest with a babbling brook, glowing fireflies, towering trees, shrouded in mist, magical, ethereal, dreamlike, fantasy",
15
+ "volcanic island with a boiling crater, clouds of ash rise from the peak, intense, dramatic, atmospheric",
16
+ "lonely lighthouse on a rocky cliff overlooking the sea, stormy sky, crashing waves, ominous, intense, dramatic, atmospheric",
17
+ "mysterious underground cave with glowing crystals, underground stream, dark, mysterious, otherworldly",
18
+ "glowing aurora borealis over a frozen lake, with towering mountains in the distance, ethereal, magical, peaceful, serene",
19
+ "vibrant flower field in the spring, surrounded by rolling hills, brilliant blue sky, full-bloom, colorful, peaceful, serene",
20
+ "tranquil pond surrounded by tall trees, with a beautiful lily pad garden and calm reflection of the sky, peaceful, serene",
21
+ "stunning sunset over an ocean horizon, orange and pink hues spread across the sky, peaceful, serene",
22
+ "abandoned temple in a mountain range, surrounded by misty clouds and tall peaks, mysterious, ancient",
23
+ "steam locomotive in a snowy mountain range, surrounded by tall peaks, frosted trees, nostalgic",
24
+ "radiant nebula, star clusters and gas clouds shining brightly, celestial, otherworldly, abstract, space art",
25
+ "beautiful Santorini island, iconic white buildings, pristine beach, Mediterranean, charming, romantic",
26
+ "breathtaking Grand Canyon, vast, awe-inspiring, otherworldly, iconic, historic landmark",
27
+ "breathtaking Machu Picchu, set against a backdrop of towering mountains, iconic, historic landmark",
28
+ "iconic New York City skyline, with towering skyscrapers, golden-hour lighting, dramatic, atmospheric",
29
+ "iconic Great Wall of China, stretching along the countryside, historic landmark",
30
+ "iconic Sydney Opera House, with the harbor and cityscape in the background, stunning, historic landmark",
31
+ "iconic Taj Mahal, set against a backdrop of lush greenery, stunning, historic landmark",
32
+ "bowl of steaming hot ramen with a sliced egg, thin slices of meat, green onions, noodles, chopsticks, solo, minimal",
33
+ "large pizza with melted cheese, seared pepperoni, crispy crust, solo, minimal",
34
+ "sizzling hot sirloin steak with a perfect crust, seared to perfection, served with a side of roasted vegetables and mashed potatoes, solo, minimal",
35
+ "three-tier wedding cake, white frosting, colorful accent flowers, fresh berry garnish, elegant, minimal",
36
+ "baked salmon fillet with a perfectly crispy skin and flaky flesh, side of steamed vegetables and quinoa, healthy, fresh, solo, minimal",
37
+ "steaming bowl of hearty chili with tender chunks of beef, rich tomato sauce, topped with grated cheddar cheese and green onions, solo, minimal",
38
+ "platter of sushi rolls, tuna, salmon, california maki, rainbow, colorful, beautiful arrangement, solo, minimal",
39
+ "stuffed bell pepper filled with browned ground beef, rice, melted cheese, parsley garnish, solo, minimal",
40
+ "pair of tacos filled with shredded chicken, red onions, cilantro, a drizzle of cream, white plate, blue tablecloth, solo, minimal",
41
+ "contemporary living room, floor-to-ceiling windows, neutral color palette, minimalistic design, modern furniture, wall-mounted television, ceiling fan, recessed lighting, open floor plan",
42
+ "rustic kitchen with reclaimed wood cabinetry, large farmhouse sink, industrial lighting fixtures, open shelving, cast iron cookware, exposed brick wall",
43
+ "luxurious bathroom with freestanding bathtub, marble tiles, brass fixtures, double-sink floating vanity, spa-like atmosphere",
44
+ "cozy bedroom with a four-poster bed, decorative throw pillows, plush bedding, single large window with natural light, statement wallpaper, relaxing atmosphere",
45
+ "formula one race car, aerodynamic design, captured in a high speed motion blur, shallow depth-of-field, dramatic lighting, epic, intense",
46
+ "luxury supercar with aerodynamic curves, high-key lighting, depth-of-field, exotic",
47
+ "stunning yacht with sleek lines, golden-hour lighting, depth-of-field, breathtaking"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  ]
data/styles.json CHANGED
@@ -1,638 +1,136 @@
1
- [
2
- {
3
- "id": "twri-ads-automotive",
4
- "name": "Ads: Automotive",
5
- "prompt": "automotive advertisement style {prompt} . sleek, dynamic, professional, commercial, vehicle-focused, high-resolution, highly detailed",
6
- "negative_prompt": "noisy, blurry, unattractive, sloppy, unprofessional"
7
- },
8
- {
9
- "id": "twri-ads-corporate",
10
- "name": "Ads: Corporate",
11
- "prompt": "corporate branding style {prompt} . professional, clean, modern, sleek, minimalist, business-oriented, highly detailed",
12
- "negative_prompt": "noisy, blurry, grungy, sloppy, cluttered, disorganized"
13
- },
14
- {
15
- "id": "twri-ads-fashion-editorial",
16
- "name": "Ads: Fashion Editorial",
17
- "prompt": "fashion editorial style {prompt} . high fashion, trendy, stylish, editorial, magazine style, professional, highly detailed",
18
- "negative_prompt": "outdated, blurry, noisy, unattractive, sloppy"
19
- },
20
- {
21
- "id": "twri-ads-food-photography",
22
- "name": "Ads: Food Photography",
23
- "prompt": "food photography style {prompt} . appetizing, professional, culinary, high-resolution, commercial, highly detailed",
24
- "negative_prompt": "unappetizing, sloppy, unprofessional, noisy, blurry"
25
- },
26
- {
27
- "id": "twri-ads-gourmet-food-photography",
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
- "id": "twri-ads-luxury",
34
- "name": "Ads: Luxury",
35
- "prompt": "luxury product style {prompt} . elegant, sophisticated, high-end, luxurious, professional, highly detailed",
36
- "negative_prompt": "cheap, noisy, blurry, unattractive, amateurish"
37
- },
38
- {
39
- "id": "twri-ads-poster",
40
- "name": "Ads: Poster",
41
- "prompt": "advertising poster style {prompt} . Professional, modern, product-focused, commercial, eye-catching, highly detailed",
42
- "negative_prompt": "noisy, blurry, amateurish, sloppy, unattractive"
43
- },
44
- {
45
- "id": "twri-ads-real-estate",
46
- "name": "Ads: Real Estate",
47
- "prompt": "real estate photography style {prompt} . professional, inviting, well-lit, high-resolution, property-focused, commercial, highly detailed",
48
- "negative_prompt": "dark, blurry, unappealing, noisy, unprofessional"
49
- },
50
- {
51
- "id": "twri-ads-retail",
52
- "name": "Ads: Retail",
53
- "prompt": "retail packaging style {prompt} . vibrant, enticing, commercial, product-focused, eye-catching, professional, highly detailed",
54
- "negative_prompt": "noisy, blurry, amateurish, sloppy, unattractive"
55
- },
56
- {
57
- "id": "twri-art-abstract",
58
- "name": "Art: Abstract",
59
- "prompt": "abstract style {prompt} . non-representational, colors and shapes, expression of feelings, imaginative, highly detailed",
60
- "negative_prompt": "realistic, photographic, figurative, concrete"
61
- },
62
- {
63
- "id": "twri-art-abstract-expressionism",
64
- "name": "Art: Abstract Expressionism",
65
- "prompt": "abstract expressionist painting {prompt} . energetic brushwork, bold colors, abstract forms, expressive, emotional",
66
- "negative_prompt": "realistic, photorealistic, low contrast, plain, simple, monochrome"
67
- },
68
- {
69
- "id": "twri-art-art-deco",
70
- "name": "Art: Art Deco",
71
- "prompt": "art deco style {prompt} . geometric shapes, bold colors, luxurious, elegant, decorative, symmetrical, ornate, detailed",
72
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, modernist, minimalist"
73
- },
74
- {
75
- "id": "twri-art-art-nouveau",
76
- "name": "Art: Art Nouveau",
77
- "prompt": "art nouveau style {prompt} . elegant, decorative, curvilinear forms, nature-inspired, ornate, detailed",
78
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, modernist, minimalist"
79
- },
80
- {
81
- "id": "twri-art-constructivist",
82
- "name": "Art: Constructivist",
83
- "prompt": "constructivist style {prompt} . geometric shapes, bold colors, dynamic composition, propaganda art style",
84
- "negative_prompt": "realistic, photorealistic, low contrast, plain, simple, abstract expressionism"
85
- },
86
- {
87
- "id": "twri-art-cubist",
88
- "name": "Art: Cubist",
89
- "prompt": "cubist artwork {prompt} . geometric shapes, abstract, innovative, revolutionary",
90
- "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, low contrast, noisy"
91
- },
92
- {
93
- "id": "twri-art-expressionist",
94
- "name": "Art: Expressionist",
95
- "prompt": "expressionist {prompt} . raw, emotional, dynamic, distortion for emotional effect, vibrant, use of unusual colors, detailed",
96
- "negative_prompt": "realism, symmetry, quiet, calm, photo"
97
- },
98
- {
99
- "id": "twri-art-graffiti",
100
- "name": "Art: Graffiti",
101
- "prompt": "graffiti style {prompt} . street art, vibrant, urban, detailed, tag, mural",
102
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic"
103
- },
104
- {
105
- "id": "twri-art-hyperrealism",
106
- "name": "Art: Hyperrealism",
107
- "prompt": "hyperrealistic art {prompt} . extremely high-resolution details, photographic, realism pushed to extreme, fine texture, incredibly lifelike",
108
- "negative_prompt": "simplified, abstract, unrealistic, impressionistic, low resolution"
109
- },
110
- {
111
- "id": "twri-art-impressionist",
112
- "name": "Art: Impressionist",
113
- "prompt": "impressionist painting {prompt} . loose brushwork, vibrant color, light and shadow play, captures feeling over form",
114
- "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, low contrast, noisy"
115
- },
116
- {
117
- "id": "twri-art-pointillism",
118
- "name": "Art: Pointillism",
119
- "prompt": "pointillism style {prompt} . composed entirely of small, distinct dots of color, vibrant, highly detailed",
120
- "negative_prompt": "line drawing, smooth shading, large color fields, simplistic"
121
- },
122
- {
123
- "id": "twri-art-pop-art",
124
- "name": "Art: Pop Art",
125
- "prompt": "pop Art style {prompt} . bright colors, bold outlines, popular culture themes, ironic or kitsch",
126
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, minimalist"
127
- },
128
- {
129
- "id": "twri-art-psychedelic",
130
- "name": "Art: Psychedelic",
131
- "prompt": "psychedelic style {prompt} . vibrant colors, swirling patterns, abstract forms, surreal, trippy",
132
- "negative_prompt": "monochrome, black and white, low contrast, realistic, photorealistic, plain, simple"
133
- },
134
- {
135
- "id": "twri-art-renaissance",
136
- "name": "Art: Renaissance",
137
- "prompt": "renaissance style {prompt} . realistic, perspective, light and shadow, religious or mythological themes, highly detailed",
138
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, modernist, minimalist, abstract"
139
- },
140
- {
141
- "id": "twri-art-steampunk",
142
- "name": "Art: Steampunk",
143
- "prompt": "steampunk style {prompt} . antique, mechanical, brass and copper tones, gears, intricate, detailed",
144
- "negative_prompt": "deformed, glitch, noisy, low contrast, anime, photorealistic"
145
- },
146
- {
147
- "id": "twri-art-surrealist",
148
- "name": "Art: Surrealist",
149
- "prompt": "surrealist art {prompt} . dreamlike, mysterious, provocative, symbolic, intricate, detailed",
150
- "negative_prompt": "anime, photorealistic, realistic, deformed, glitch, noisy, low contrast"
151
- },
152
- {
153
- "id": "twri-art-typography",
154
- "name": "Art: Typography",
155
- "prompt": "typographic art {prompt} . stylized, intricate, detailed, artistic, text-based",
156
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic"
157
- },
158
- {
159
- "id": "twri-art-watercolor",
160
- "name": "Art: Watercolor",
161
- "prompt": "watercolor painting {prompt} . vibrant, beautiful, painterly, detailed, textural, artistic",
162
- "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, low contrast, noisy"
163
- },
164
- {
165
- "id": "twri-futuristic-biomechanical",
166
- "name": "Futuristic: Biomechanical",
167
- "prompt": "biomechanical style {prompt} . blend of organic and mechanical elements, futuristic, cybernetic, detailed, intricate",
168
- "negative_prompt": "natural, rustic, primitive, organic, simplistic"
169
- },
170
- {
171
- "id": "twri-futuristic-biomechanical-cyberpunk",
172
- "name": "Futuristic: Biomechanical Cyberpunk",
173
- "prompt": "biomechanical cyberpunk {prompt} . cybernetics, human-machine fusion, dystopian, organic meets artificial, dark, intricate, highly detailed",
174
- "negative_prompt": "natural, colorful, deformed, sketch, low contrast, watercolor"
175
- },
176
- {
177
- "id": "twri-futuristic-cybernetic",
178
- "name": "Futuristic: Cybernetic",
179
- "prompt": "cybernetic style {prompt} . futuristic, technological, cybernetic enhancements, robotics, artificial intelligence themes",
180
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, historical, medieval"
181
- },
182
- {
183
- "id": "twri-futuristic-cybernetic-robot",
184
- "name": "Futuristic: Cybernetic Robot",
185
- "prompt": "cybernetic robot {prompt} . android, AI, machine, metal, wires, tech, futuristic, highly detailed",
186
- "negative_prompt": "organic, natural, human, sketch, watercolor, low contrast"
187
- },
188
- {
189
- "id": "twri-futuristic-cyberpunk-cityscape",
190
- "name": "Futuristic: Cyberpunk Cityscape",
191
- "prompt": "cyberpunk cityscape {prompt} . neon lights, dark alleys, skyscrapers, futuristic, vibrant colors, high contrast, highly detailed",
192
- "negative_prompt": "natural, rural, deformed, low contrast, black and white, sketch, watercolor"
193
- },
194
- {
195
- "id": "twri-futuristic-general",
196
- "name": "Futuristic: General",
197
- "prompt": "futuristic style {prompt} . sleek, modern, ultramodern, high tech, detailed",
198
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, vintage, antique"
199
- },
200
- {
201
- "id": "twri-futuristic-retro-cyberpunk",
202
- "name": "Futuristic: Retro Cyberpunk",
203
- "prompt": "retro cyberpunk {prompt} . 80's inspired, synthwave, neon, vibrant, detailed, retro futurism",
204
- "negative_prompt": "modern, desaturated, black and white, realism, low contrast"
205
- },
206
- {
207
- "id": "twri-futuristic-retro-futurism",
208
- "name": "Futuristic: Retro Futurism",
209
- "prompt": "retro-futuristic {prompt} . vintage sci-fi, 50s and 60s style, atomic age, vibrant, highly detailed",
210
- "negative_prompt": "contemporary, realistic, rustic, primitive"
211
- },
212
- {
213
- "id": "twri-futuristic-sci-fi",
214
- "name": "Futuristic: Sci-Fi",
215
- "prompt": "sci-fi style {prompt} . futuristic, technological, alien worlds, space themes, advanced civilizations",
216
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, historical, medieval"
217
- },
218
- {
219
- "id": "twri-futuristic-vaporwave",
220
- "name": "Futuristic: Vaporwave",
221
- "prompt": "vaporwave style {prompt} . retro aesthetic, cyberpunk, vibrant, neon colors, vintage 80s and 90s style, highly detailed",
222
- "negative_prompt": "monochrome, muted colors, realism, rustic, minimalist, dark"
223
- },
224
- {
225
- "id": "twri-game-bubble-bobble",
226
- "name": "Game: Bubble Bobble",
227
- "prompt": "Bubble Bobble style {prompt} . 8-bit, cute, pixelated, fantasy, vibrant, reminiscent of Bubble Bobble game",
228
- "negative_prompt": "realistic, modern, photorealistic, violent, horror"
229
- },
230
- {
231
- "id": "twri-game-cyberpunk",
232
- "name": "Game: Cyberpunk",
233
- "prompt": "cyberpunk game style {prompt} . neon, dystopian, futuristic, digital, vibrant, detailed, high contrast, reminiscent of cyberpunk genre video games",
234
- "negative_prompt": "historical, natural, rustic, low detailed"
235
- },
236
- {
237
- "id": "twri-game-fighting",
238
- "name": "Game: Fighting",
239
- "prompt": "fighting game style {prompt} . dynamic, vibrant, action-packed, detailed character design, reminiscent of fighting video games",
240
- "negative_prompt": "peaceful, calm, minimalist, photorealistic"
241
- },
242
- {
243
- "id": "twri-game-gta",
244
- "name": "Game: GTA",
245
- "prompt": "GTA-style artwork {prompt} . satirical, exaggerated, pop art style, vibrant colors, iconic characters, action-packed",
246
- "negative_prompt": "realistic, black and white, low contrast, impressionist, cubist, noisy, blurry, deformed"
247
- },
248
- {
249
- "id": "twri-game-mario",
250
- "name": "Game: Mario",
251
- "prompt": "Super Mario style {prompt} . vibrant, cute, cartoony, fantasy, playful, reminiscent of Super Mario series",
252
- "negative_prompt": "realistic, modern, horror, dystopian, violent"
253
- },
254
- {
255
- "id": "twri-game-minecraft",
256
- "name": "Game: Minecraft",
257
- "prompt": "Minecraft style {prompt} . blocky, pixelated, vibrant colors, recognizable characters and objects, game assets",
258
- "negative_prompt": "smooth, realistic, detailed, photorealistic, noise, blurry, deformed"
259
- },
260
- {
261
- "id": "twri-game-pokemon",
262
- "name": "Game: Pokémon",
263
- "prompt": "Pokémon style {prompt} . vibrant, cute, anime, fantasy, reminiscent of Pokémon series",
264
- "negative_prompt": "realistic, modern, horror, dystopian, violent"
265
- },
266
- {
267
- "id": "twri-game-retro",
268
- "name": "Game: Retro",
269
- "prompt": "retro game art {prompt} . 16-bit, vibrant colors, pixelated, nostalgic, charming, fun",
270
- "negative_prompt": "realistic, photorealistic, 35mm film, deformed, glitch, low contrast, noisy"
271
- },
272
- {
273
- "id": "twri-game-retro-arcade",
274
- "name": "Game: Retro Arcade",
275
- "prompt": "retro arcade style {prompt} . 8-bit, pixelated, vibrant, classic video game, old school gaming, reminiscent of 80s and 90s arcade games",
276
- "negative_prompt": "modern, ultra-high resolution, photorealistic, 3D"
277
- },
278
- {
279
- "id": "twri-game-rpg-fantasy",
280
- "name": "Game: RPG Fantasy",
281
- "prompt": "role-playing game (RPG) style fantasy {prompt} . detailed, vibrant, immersive, reminiscent of high fantasy RPG games",
282
- "negative_prompt": "sci-fi, modern, urban, futuristic, low detailed"
283
- },
284
- {
285
- "id": "twri-game-strategy",
286
- "name": "Game: Strategy",
287
- "prompt": "strategy game style {prompt} . overhead view, detailed map, units, reminiscent of real-time strategy video games",
288
- "negative_prompt": "first-person view, modern, photorealistic"
289
- },
290
- {
291
- "id": "twri-game-street-fighter",
292
- "name": "Game: Street Fighter",
293
- "prompt": "Street Fighter style {prompt} . vibrant, dynamic, arcade, 2D fighting game, highly detailed, reminiscent of Street Fighter series",
294
- "negative_prompt": "3D, realistic, modern, photorealistic, turn-based strategy"
295
- },
296
- {
297
- "id": "twri-game-zelda",
298
- "name": "Game: Zelda",
299
- "prompt": "Legend of Zelda style {prompt} . vibrant, fantasy, detailed, epic, heroic, reminiscent of The Legend of Zelda series",
300
- "negative_prompt": "sci-fi, modern, realistic, horror"
301
- },
302
- {
303
- "id": "twri-misc-architectural",
304
- "name": "Misc: Architectural",
305
- "prompt": "architectural style {prompt} . clean lines, geometric shapes, minimalist, modern, architectural drawing, highly detailed",
306
- "negative_prompt": "curved lines, ornate, baroque, abstract, grunge"
307
- },
308
- {
309
- "id": "twri-misc-disco",
310
- "name": "Misc: Disco",
311
- "prompt": "disco-themed {prompt} . vibrant, groovy, retro 70s style, shiny disco balls, neon lights, dance floor, highly detailed",
312
- "negative_prompt": "minimalist, rustic, monochrome, contemporary, simplistic"
313
- },
314
- {
315
- "id": "twri-misc-dreamscape",
316
- "name": "Misc: Dreamscape",
317
- "prompt": "dreamscape {prompt} . surreal, ethereal, dreamy, mysterious, fantasy, highly detailed",
318
- "negative_prompt": "realistic, concrete, ordinary, mundane"
319
- },
320
- {
321
- "id": "twri-misc-dystopian",
322
- "name": "Misc: Dystopian",
323
- "prompt": "dystopian style {prompt} . bleak, post-apocalyptic, somber, dramatic, highly detailed",
324
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, cheerful, optimistic, vibrant, colorful"
325
- },
326
- {
327
- "id": "twri-misc-fairy-tale",
328
- "name": "Misc: Fairy Tale",
329
- "prompt": "fairy tale {prompt} . magical, fantastical, enchanting, storybook style, highly detailed",
330
- "negative_prompt": "realistic, modern, ordinary, mundane"
331
- },
332
- {
333
- "id": "twri-misc-gothic",
334
- "name": "Misc: Gothic",
335
- "prompt": "gothic style {prompt} . dark, mysterious, haunting, dramatic, ornate, detailed",
336
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, cheerful, optimistic"
337
- },
338
- {
339
- "id": "twri-misc-grunge",
340
- "name": "Misc: Grunge",
341
- "prompt": "grunge style {prompt} . textured, distressed, vintage, edgy, punk rock vibe, dirty, noisy",
342
- "negative_prompt": "smooth, clean, minimalist, sleek, modern, photorealistic"
343
- },
344
- {
345
- "id": "twri-misc-horror",
346
- "name": "Misc: Horror",
347
- "prompt": "horror-themed {prompt} . eerie, unsettling, dark, spooky, suspenseful, grim, highly detailed",
348
- "negative_prompt": "cheerful, bright, vibrant, light-hearted, cute"
349
- },
350
- {
351
- "id": "twri-misc-kawaii",
352
- "name": "Misc: Kawaii",
353
- "prompt": "kawaii style {prompt} . cute, adorable, brightly colored, cheerful, anime influence, highly detailed",
354
- "negative_prompt": "dark, scary, realistic, monochrome, abstract"
355
- },
356
- {
357
- "id": "twri-misc-lovecraftian",
358
- "name": "Misc: Lovecraftian",
359
- "prompt": "lovecraftian horror {prompt} . eldritch, cosmic horror, unknown, mysterious, surreal, highly detailed",
360
- "negative_prompt": "light-hearted, mundane, familiar, simplistic, realistic"
361
- },
362
- {
363
- "id": "twri-misc-macabre",
364
- "name": "Misc: Macabre",
365
- "prompt": "macabre style {prompt} . dark, gothic, grim, haunting, highly detailed",
366
- "negative_prompt": "bright, cheerful, light-hearted, cartoonish, cute"
367
- },
368
- {
369
- "id": "twri-misc-manga",
370
- "name": "Misc: Manga",
371
- "prompt": "manga style {prompt} . vibrant, high-energy, detailed, iconic, Japanese comic style",
372
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, Western comic style"
373
- },
374
- {
375
- "id": "twri-misc-metropolis",
376
- "name": "Misc: Metropolis",
377
- "prompt": "metropolis-themed {prompt} . urban, cityscape, skyscrapers, modern, futuristic, highly detailed",
378
- "negative_prompt": "rural, natural, rustic, historical, simple"
379
- },
380
- {
381
- "id": "twri-misc-minimalist",
382
- "name": "Misc: Minimalist",
383
- "prompt": "minimalist style {prompt} . simple, clean, uncluttered, modern, elegant",
384
- "negative_prompt": "ornate, complicated, highly detailed, cluttered, disordered, messy, noisy"
385
- },
386
- {
387
- "id": "twri-misc-monochrome",
388
- "name": "Misc: Monochrome",
389
- "prompt": "monochrome {prompt} . black and white, contrast, tone, texture, detailed",
390
- "negative_prompt": "colorful, vibrant, noisy, blurry, deformed"
391
- },
392
- {
393
- "id": "twri-misc-nautical",
394
- "name": "Misc: Nautical",
395
- "prompt": "nautical-themed {prompt} . sea, ocean, ships, maritime, beach, marine life, highly detailed",
396
- "negative_prompt": "landlocked, desert, mountains, urban, rustic"
397
- },
398
- {
399
- "id": "twri-misc-space",
400
- "name": "Misc: Space",
401
- "prompt": "space-themed {prompt} . cosmic, celestial, stars, galaxies, nebulas, planets, science fiction, highly detailed",
402
- "negative_prompt": "earthly, mundane, ground-based, realism"
403
- },
404
- {
405
- "id": "twri-misc-stained-glass",
406
- "name": "Misc: Stained Glass",
407
- "prompt": "stained glass style {prompt} . vibrant, beautiful, translucent, intricate, detailed",
408
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic"
409
- },
410
- {
411
- "id": "twri-misc-techwear-fashion",
412
- "name": "Misc: Techwear Fashion",
413
- "prompt": "techwear fashion {prompt} . futuristic, cyberpunk, urban, tactical, sleek, dark, highly detailed",
414
- "negative_prompt": "vintage, rural, colorful, low contrast, realism, sketch, watercolor"
415
- },
416
- {
417
- "id": "twri-misc-tribal",
418
- "name": "Misc: Tribal",
419
- "prompt": "tribal style {prompt} . indigenous, ethnic, traditional patterns, bold, natural colors, highly detailed",
420
- "negative_prompt": "modern, futuristic, minimalist, pastel"
421
- },
422
- {
423
- "id": "twri-misc-zentangle",
424
- "name": "Misc: Zentangle",
425
- "prompt": "zentangle {prompt} . intricate, abstract, monochrome, patterns, meditative, highly detailed",
426
- "negative_prompt": "colorful, representative, simplistic, large fields of color"
427
- },
428
- {
429
- "id": "twri-papercraft-collage",
430
- "name": "Papercraft: Collage",
431
- "prompt": "collage style {prompt} . mixed media, layered, textural, detailed, artistic",
432
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic"
433
- },
434
- {
435
- "id": "twri-papercraft-flat-papercut",
436
- "name": "Papercraft: Flat Papercut",
437
- "prompt": "flat papercut style {prompt} . silhouette, clean cuts, paper, sharp edges, minimalist, color block",
438
- "negative_prompt": "3D, high detail, noise, grainy, blurry, painting, drawing, photo, disfigured"
439
- },
440
- {
441
- "id": "twri-papercraft-kirigami",
442
- "name": "Papercraft: Kirigami",
443
- "prompt": "kirigami representation of {prompt} . 3D, paper folding, paper cutting, Japanese, intricate, symmetrical, precision, clean lines",
444
- "negative_prompt": "painting, drawing, 2D, noisy, blurry, deformed"
445
- },
446
- {
447
- "id": "twri-papercraft-paper-mache",
448
- "name": "Papercraft: Paper Mache",
449
- "prompt": "paper mache representation of {prompt} . 3D, sculptural, textured, handmade, vibrant, fun",
450
- "negative_prompt": "2D, flat, photo, sketch, digital art, deformed, noisy, blurry"
451
- },
452
- {
453
- "id": "twri-papercraft-paper-quilling",
454
- "name": "Papercraft: Paper Quilling",
455
- "prompt": "paper quilling art of {prompt} . intricate, delicate, curling, rolling, shaping, coiling, loops, 3D, dimensional, ornamental",
456
- "negative_prompt": "photo, painting, drawing, 2D, flat, deformed, noisy, blurry"
457
- },
458
- {
459
- "id": "twri-papercraft-papercut-collage",
460
- "name": "Papercraft: Papercut Collage",
461
- "prompt": "papercut collage of {prompt} . mixed media, textured paper, overlapping, asymmetrical, abstract, vibrant",
462
- "negative_prompt": "photo, 3D, realistic, drawing, painting, high detail, disfigured"
463
- },
464
- {
465
- "id": "twri-papercraft-papercut-shadow-box",
466
- "name": "Papercraft: Papercut Shadow Box",
467
- "prompt": "3D papercut shadow box of {prompt} . layered, dimensional, depth, silhouette, shadow, papercut, handmade, high contrast",
468
- "negative_prompt": "painting, drawing, photo, 2D, flat, high detail, blurry, noisy, disfigured"
469
- },
470
- {
471
- "id": "twri-papercraft-stacked-papercut",
472
- "name": "Papercraft: Stacked Papercut",
473
- "prompt": "stacked papercut art of {prompt} . 3D, layered, dimensional, depth, precision cut, stacked layers, papercut, high contrast",
474
- "negative_prompt": "2D, flat, noisy, blurry, painting, drawing, photo, deformed"
475
- },
476
- {
477
- "id": "twri-papercraft-thick-layered-papercut",
478
- "name": "Papercraft: Thick Layered Papercut",
479
- "prompt": "thick layered papercut art of {prompt} . deep 3D, volumetric, dimensional, depth, thick paper, high stack, heavy texture, tangible layers",
480
- "negative_prompt": "2D, flat, thin paper, low stack, smooth texture, painting, drawing, photo, deformed"
481
- },
482
- {
483
- "id": "twri-photo-alien",
484
- "name": "Photo: Alien",
485
- "prompt": "alien-themed {prompt} . extraterrestrial, cosmic, otherworldly, mysterious, sci-fi, highly detailed",
486
- "negative_prompt": "earthly, mundane, common, realistic, simple"
487
- },
488
- {
489
- "id": "twri-photo-film-noir",
490
- "name": "Photo: Film Noir",
491
- "prompt": "film noir style {prompt} . monochrome, high contrast, dramatic shadows, 1940s style, mysterious, cinematic",
492
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, realism, photorealistic, vibrant, colorful"
493
- },
494
- {
495
- "id": "twri-photo-glamour",
496
- "name": "Photo: Glamour",
497
- "prompt": "glamorous photo {prompt} . high fashion, luxurious, extravagant, stylish, sensual, opulent, elegance, stunning beauty, professional, high contrast, detailed",
498
- "negative_prompt": "ugly, deformed, noisy, blurry, distorted, grainy, sketch, low contrast, dull, plain, modest"
499
- },
500
- {
501
- "id": "twri-photo-hdr",
502
- "name": "Photo: HDR",
503
- "prompt": "HDR photo of {prompt} . High dynamic range, vivid, rich details, clear shadows and highlights, realistic, intense, enhanced contrast, highly detailed",
504
- "negative_prompt": "flat, low contrast, oversaturated, underexposed, overexposed, blurred, noisy"
505
- },
506
- {
507
- "id": "twri-photo-iphone-photographic",
508
- "name": "Photo: iPhone Photographic",
509
- "prompt": "iphone photo {prompt} . large depth of field, deep depth of field, highly detailed",
510
- "negative_prompt": "drawing, painting, crayon, sketch, graphite, impressionist, noisy, blurry, soft, deformed, ugly, shallow depth of field, bokeh"
511
- },
512
- {
513
- "id": "twri-photo-long-exposure",
514
- "name": "Photo: Long Exposure",
515
- "prompt": "long exposure photo of {prompt} . Blurred motion, streaks of light, surreal, dreamy, ghosting effect, highly detailed",
516
- "negative_prompt": "static, noisy, deformed, shaky, abrupt, flat, low contrast"
517
- },
518
- {
519
- "id": "twri-photo-neon-noir",
520
- "name": "Photo: Neon Noir",
521
- "prompt": "neon noir {prompt} . cyberpunk, dark, rainy streets, neon signs, high contrast, low light, vibrant, highly detailed",
522
- "negative_prompt": "bright, sunny, daytime, low contrast, black and white, sketch, watercolor"
523
- },
524
- {
525
- "id": "twri-photo-silhouette",
526
- "name": "Photo: Silhouette",
527
- "prompt": "silhouette style {prompt} . high contrast, minimalistic, black and white, stark, dramatic",
528
- "negative_prompt": "ugly, deformed, noisy, blurry, low contrast, color, realism, photorealistic"
529
- },
530
- {
531
- "id": "twri-photo-tilt-shift",
532
- "name": "Photo: Tilt-Shift",
533
- "prompt": "tilt-shift photo of {prompt} . selective focus, miniature effect, blurred background, highly detailed, vibrant, perspective control",
534
- "negative_prompt": "blurry, noisy, deformed, flat, low contrast, unrealistic, oversaturated, underexposed"
535
- },
536
- {
537
- "id": "sai-3d-model",
538
- "name": "SAI: 3D Model",
539
- "prompt": "professional 3d model {prompt} . octane render, highly detailed, volumetric, dramatic lighting",
540
- "negative_prompt": "ugly, deformed, noisy, low poly, blurry, painting"
541
- },
542
- {
543
- "id": "sai-analog-film",
544
- "name": "SAI: Analog Film",
545
- "prompt": "analog film photo {prompt} . faded film, desaturated, 35mm photo, grainy, vignette, vintage, Kodachrome, Lomography, stained, highly detailed, found footage",
546
- "negative_prompt": "painting, drawing, illustration, glitch, deformed, mutated, cross-eyed, ugly, disfigured"
547
- },
548
- {
549
- "id": "sai-anime",
550
- "name": "SAI: Anime",
551
- "prompt": "anime artwork {prompt} . anime style, key visual, vibrant, studio anime, highly detailed",
552
- "negative_prompt": "photo, deformed, black and white, realism, disfigured, low contrast"
553
- },
554
- {
555
- "id": "sai-cinematic",
556
- "name": "SAI: Cinematic",
557
- "prompt": "cinematic film still {prompt} . shallow depth of field, vignette, highly detailed, high budget, bokeh, cinemascope, moody, epic, gorgeous, film grain, grainy",
558
- "negative_prompt": "anime, cartoon, graphic, text, painting, crayon, graphite, abstract, glitch, deformed, mutated, ugly, disfigured"
559
- },
560
- {
561
- "id": "sai-comic-book",
562
- "name": "SAI: Comic Book",
563
- "prompt": "comic {prompt} . graphic illustration, comic art, graphic novel art, vibrant, highly detailed",
564
- "negative_prompt": "photograph, deformed, glitch, noisy, realistic, stock photo"
565
- },
566
- {
567
- "id": "sai-craft-clay",
568
- "name": "SAI: Craft Clay",
569
- "prompt": "play-doh style {prompt} . sculpture, clay art, centered composition, Claymation",
570
- "negative_prompt": "sloppy, messy, grainy, highly detailed, ultra textured, photo"
571
- },
572
- {
573
- "id": "sai-digital-art",
574
- "name": "SAI: Digital Art",
575
- "prompt": "concept art {prompt} . digital artwork, illustrative, painterly, matte painting, highly detailed",
576
- "negative_prompt": "photo, photorealistic, realism, ugly"
577
- },
578
- {
579
- "id": "sai-enhance",
580
- "name": "SAI: Enhance",
581
- "prompt": "breathtaking {prompt} . award-winning, professional, highly detailed",
582
- "negative_prompt": "ugly, deformed, noisy, blurry, distorted, grainy"
583
- },
584
- {
585
- "id": "sai-fantasy-art",
586
- "name": "SAI: Fantasy Art",
587
- "prompt": "ethereal fantasy concept art of {prompt} . magnificent, celestial, ethereal, painterly, epic, majestic, magical, fantasy art, cover art, dreamy",
588
- "negative_prompt": "photographic, realistic, realism, 35mm film, dslr, cropped, frame, text, deformed, glitch, noise, noisy, off-center, deformed, cross-eyed, closed eyes, bad anatomy, ugly, disfigured, sloppy, duplicate, mutated, black and white"
589
- },
590
- {
591
- "id": "sai-isometric",
592
- "name": "SAI: Isometric",
593
- "prompt": "isometric style {prompt} . vibrant, beautiful, crisp, detailed, ultra detailed, intricate",
594
- "negative_prompt": "deformed, mutated, ugly, disfigured, blur, blurry, noise, noisy, realistic, photographic"
595
- },
596
- {
597
- "id": "sai-line-art",
598
- "name": "SAI: Line Art",
599
- "prompt": "line art drawing {prompt} . professional, sleek, modern, minimalist, graphic, line art, vector graphics",
600
- "negative_prompt": "anime, photorealistic, 35mm film, deformed, glitch, blurry, noisy, off-center, deformed, cross-eyed, closed eyes, bad anatomy, ugly, disfigured, mutated, realism, realistic, impressionism, expressionism, oil, acrylic"
601
- },
602
- {
603
- "id": "sai-lowpoly",
604
- "name": "SAI: Lowpoly",
605
- "prompt": "low-poly style {prompt} . low-poly game art, polygon mesh, jagged, blocky, wireframe edges, centered composition",
606
- "negative_prompt": "noisy, sloppy, messy, grainy, highly detailed, ultra textured, photo"
607
- },
608
- {
609
- "id": "sai-neonpunk",
610
- "name": "SAI: Neonpunk",
611
- "prompt": "neonpunk style {prompt} . cyberpunk, vaporwave, neon, vibes, vibrant, stunningly beautiful, crisp, detailed, sleek, ultramodern, magenta highlights, dark purple shadows, high contrast, cinematic, ultra detailed, intricate, professional",
612
- "negative_prompt": "painting, drawing, illustration, glitch, deformed, mutated, cross-eyed, ugly, disfigured"
613
- },
614
- {
615
- "id": "sai-origami",
616
- "name": "SAI: Origami",
617
- "prompt": "origami style {prompt} . paper art, pleated paper, folded, origami art, pleats, cut and fold, centered composition",
618
- "negative_prompt": "noisy, sloppy, messy, grainy, highly detailed, ultra textured, photo"
619
- },
620
- {
621
- "id": "sai-photographic",
622
- "name": "SAI: Photographic",
623
- "prompt": "cinematic photo {prompt} . 35mm photograph, film, bokeh, professional, 4k, highly detailed",
624
- "negative_prompt": "drawing, painting, crayon, sketch, graphite, impressionist, noisy, blurry, soft, deformed, ugly"
625
- },
626
- {
627
- "id": "sai-pixel-art",
628
- "name": "SAI: Pixel Art",
629
- "prompt": "pixel-art {prompt} . low-res, blocky, pixel art style, 8-bit graphics",
630
- "negative_prompt": "sloppy, messy, blurry, noisy, highly detailed, ultra textured, photo, realistic"
631
- },
632
- {
633
- "id": "sai-texture",
634
- "name": "SAI: Texture",
635
- "prompt": "texture {prompt} top down close-up",
636
- "negative_prompt": "ugly, deformed, noisy, blurry"
637
  }
638
- ]
 
1
+ {
2
+ "_base": {
3
+ "positive": "professional, perfection, accurate, precision, highly detailed, best quality, masterpiece",
4
+ "negative": "watermark, trademark, signature, autograph, missing things, anatomically incorrect, structural anomalies, extraneous elements, redundant features, compression artifacts, deformed, mutated, ugly, unattractive, noisy, grainy, blurry, distorted, oversaturated, undersaturated, overexposed, underexposed, amateurish, sloppy, cluttered, low detail, worst quality"
5
+ },
6
+ "abstract": {
7
+ "name": "Abstract",
8
+ "positive": "({prompt}), in an abstract art style, non-representational colors and shapes, expressive, emotional, imaginative, spontaneous, vibrant",
9
+ "negative": "({prompt}), discrete, objective, realism, photographic, monochrome, muted"
10
+ },
11
+ "anime_shonen": {
12
+ "name": "Anime: Shonen",
13
+ "positive": "({prompt}), in a shonen anime style, One Piece, by Eiichiro Oda, manga, action, adventure, heroic, youthful, vibrant, high contrast",
14
+ "negative": "({prompt}), shojo, seinen, josei, chibi, kawaii, realism, photographic, dull, plain, monochrome, muted, low contrast"
15
+ },
16
+ "anime_shojo": {
17
+ "name": "Anime: Shojo",
18
+ "positive": "({prompt}), in a shojo anime style, Sailor Moon, by Naoko Takeuchi, manga, kawaii, romantic, emotional, pastel colors, soft lines",
19
+ "negative": "({prompt}), shonen, seinen, josei, dark, gritty, realism, photographic"
20
+ },
21
+ "anime_seinen": {
22
+ "name": "Anime: Seinen",
23
+ "positive": "({prompt}), in a seinen anime style, Ghost in the Shell, by Masamune Shirow, manga, adult, mature, dark, gritty, intricate design, dramatic lighting, high contrast",
24
+ "negative": "({prompt}), shonen, shojo, josei, chibi, kawaii, realism, photographic, dull, plain, low contrast"
25
+ },
26
+ "anime_josei": {
27
+ "name": "Anime: Josei",
28
+ "positive": "({prompt}), in a josei anime style, Paradise Kiss, by Ai Yazawa, manga, mature, emotional, sophisticated, soft colors, refined lines",
29
+ "negative": "({prompt}), shonen, shojo, seinen, chibi, dark, gritty, realism, photographic"
30
+ },
31
+ "art_deco": {
32
+ "name": "Art Deco",
33
+ "positive": "({prompt}), in an art deco style, inspired by Tamara de Lempicka, geometric shapes, bold colors, luxurious, elegant, sleek, streamlined, symmetrical, vibrant, high contrast",
34
+ "negative": "({prompt}), realism, photographic, organic, natural, monochrome, muted, low contrast"
35
+ },
36
+ "biomechanical": {
37
+ "name": "Biomechanical",
38
+ "positive": "({prompt}), in a biomechanical style, organic and mechanical, flesh and metal, cybernetic organism, intricate design, futuristic, sci-fi",
39
+ "negative": "({prompt}), natural, rustic, primitive, medieval"
40
+ },
41
+ "cubism": {
42
+ "name": "Cubism",
43
+ "positive": "({prompt}), in a cubist style, inspired by Picasso, fragmented shapes and planes, abstract forms, collage",
44
+ "negative": "({prompt}), discrete, objective"
45
+ },
46
+ "cyberpunk": {
47
+ "name": "Cyberpunk",
48
+ "positive": "({prompt}), in a cyberpunk style, 2077, synthwave elements, neon lights, digital effects, high-tech, futuristic, dystopian, vibrant, high contrast",
49
+ "negative": "({prompt}), rustic, primitive, medieval, monochrome, muted, low contrast"
50
+ },
51
+ "enhance": {
52
+ "name": "Enhance",
53
+ "positive": "({prompt})",
54
+ "negative": "({prompt})"
55
+ },
56
+ "expressionism": {
57
+ "name": "Expressionism",
58
+ "positive": "({prompt}), in an expressionist style, energetic brushwork, bold colors, abstract forms, vibrant, expressive, high contrast",
59
+ "negative": "({prompt}), discrete, objective, realism, photographic, dull, plain, monochrome, muted, low contrast"
60
+ },
61
+ "fantasy": {
62
+ "name": "Fantasy",
63
+ "positive": "({prompt}), in a fantasy style, digital concept art, by Greg Rutkowski, trending on ArtStation, magical, enchanting, ethereal, dreamlike, graphic, illustration, high contrast",
64
+ "negative": "({prompt}), realism, photographic, ordinary, mundane, monochrome, muted, low contrast"
65
+ },
66
+ "graffiti": {
67
+ "name": "Graffiti",
68
+ "positive": "({prompt}), in a graffiti style, street art, creative composition, dynamic lines, spray paint, hip-hop, stylized, bold, vibrant, urban, mural, high contrast",
69
+ "negative": "({prompt}), dull, plain, monochrome, muted, low contrast"
70
+ },
71
+ "line_art": {
72
+ "name": "Line Art",
73
+ "positive": "({prompt}), in a line art drawing style, graphic, illustration, sleek, streamlined, centered composition, solo subject, isolated subject, white background, minimalist arrangement",
74
+ "negative": "({prompt}), off-center, oil, acrylic, watercolor"
75
+ },
76
+ "papercraft": {
77
+ "name": "Papercraft",
78
+ "positive": "({prompt}), as a papercraft model, Kirigami style, folded paper, papercut, sharp edges, intricate design, 3d, layered, textural, color block, centered composition, minimalist arrangement",
79
+ "negative": "({prompt}), 2d, flat"
80
+ },
81
+ "photography_food": {
82
+ "name": "Photography: Food",
83
+ "positive": "({prompt}), food photography style, fresh ingredients, delicious, culinary, real, authentic, macro details, soft natural lighting, high resolution, uhd, centered composition, minimalist arrangement",
84
+ "negative": "({prompt}), unappetizing, fake, artificial, low resolution"
85
+ },
86
+ "photography_hdr": {
87
+ "name": "Photography: HDR",
88
+ "positive": "({prompt}), breathtaking HDR photography, high dynamic range, vivid colors, shadows and highlights, dramatic lighting, high contrast, high resolution, uhd",
89
+ "negative": "({prompt}), flat colors, plain, dull, low dynamic range, low contrast, low resolution"
90
+ },
91
+ "photography_iphone": {
92
+ "name": "Photography: iPhone",
93
+ "positive": "({prompt}), taken by iPhone ProRAW camera, XDR, Retina, depth-of-field, vivid colors, dynamic range, dramatic lighting, real, authentic, high contrast, high resolution, uhd",
94
+ "negative": "({prompt}), shallow depth-of-field, bokeh, fake, artificial, low contrast, low resolution"
95
+ },
96
+ "photography_iphone_portrait": {
97
+ "name": "Photography: iPhone Portrait",
98
+ "positive": "({prompt}), taken by iPhone Portrait Mode, XDR, Retina, shallow depth-of-field, bokeh, vivid colors, dramatic lighting, real, authentic, high contrast, high resolution, uhd",
99
+ "negative": "({prompt}), fake, artificial, low contrast, low resolution"
100
+ },
101
+ "photography_real_estate": {
102
+ "name": "Photography: Real Estate",
103
+ "positive": "({prompt}), real estate photography style, on Zillow, inviting, staged, well-lit, real, authentic, high resolution, uhd",
104
+ "negative": "({prompt}), dark, fake, artificial, low resolution"
105
+ },
106
+ "photography_street": {
107
+ "name": "Photography: Street",
108
+ "positive": "({prompt}), street photography style, taken on Fujifilm X100V, f2 aperture, 35mm, RAW format, candid, authentic, gritty, urban, high contrast, high resolution, uhd",
109
+ "negative": "({prompt}), staged, fake, artificial, low contrast, low resolution"
110
+ },
111
+ "pointillism": {
112
+ "name": "Pointillism",
113
+ "positive": "({prompt}), pointillism style, inspired by Georges Seurat, composed entirely of small colorful dots, intricate design, vibrant",
114
+ "negative": "({prompt}), line drawing, smooth shading, wide color gamut, dull, plain, monochrome, muted"
115
+ },
116
+ "pop_art": {
117
+ "name": "Pop Art",
118
+ "positive": "({prompt}), in a pop art style, inspired by Warhol, bright colors, bold outlines, popular culture, kitsch, vibrant, high contrast",
119
+ "negative": "({prompt}), discrete, objective, dull, plain, monochrome, muted, low contrast"
120
+ },
121
+ "render": {
122
+ "name": "Render",
123
+ "positive": "({prompt}), Octane render, Unreal Engine, volumetric lighting, ray tracing, ambient occlusion, subsurface scattering, high resolution, uhd",
124
+ "negative": "({prompt}), glitch, error, painting, sketch, low resolution"
125
+ },
126
+ "vaporwave": {
127
+ "name": "Vaporwave",
128
+ "positive": "({prompt}), in a vaporwave style, retro aesthetic, neon colors, vibrant, high contrast",
129
+ "negative": "({prompt}), dark, monochrome, muted, low contrast"
130
+ },
131
+ "watercolor": {
132
+ "name": "Watercolor",
133
+ "positive": "({prompt}), painted with watercolors, colorful, painterly, artistic, fluid",
134
+ "negative": "({prompt}), realism, photographic, oil, acrylic, digital"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
135
  }
136
+ }
lib/__init__.py CHANGED
@@ -1,7 +1,17 @@
1
  from .config import Config
2
  from .download import download_repo_files
3
- from .inference import async_call, generate
4
  from .loader import Loader
5
  from .upscaler import RealESRGAN
 
6
 
7
- __all__ = ["Config", "Loader", "RealESRGAN", "async_call", "download_repo_files", "generate"]
 
 
 
 
 
 
 
 
 
 
1
  from .config import Config
2
  from .download import download_repo_files
3
+ from .inference import generate
4
  from .loader import Loader
5
  from .upscaler import RealESRGAN
6
+ from .utils import async_call, load_json, read_file
7
 
8
+ __all__ = [
9
+ "Config",
10
+ "Loader",
11
+ "RealESRGAN",
12
+ "async_call",
13
+ "download_repo_files",
14
+ "generate",
15
+ "load_json",
16
+ "read_file",
17
+ ]
lib/config.py CHANGED
@@ -60,7 +60,7 @@ Config = SimpleNamespace(
60
  "fast_negative",
61
  "unrealistic_dream",
62
  ],
63
- STYLE="sai-enhance",
64
  WIDTH=448,
65
  HEIGHT=576,
66
  NUM_IMAGES=1,
 
60
  "fast_negative",
61
  "unrealistic_dream",
62
  ],
63
+ STYLE="enhance",
64
  WIDTH=448,
65
  HEIGHT=576,
66
  NUM_IMAGES=1,
lib/inference.py CHANGED
@@ -1,49 +1,24 @@
1
- import functools
2
- import inspect
3
- import json
4
  import os
5
  import re
6
  import time
7
  from datetime import datetime
8
  from itertools import product
9
- from typing import Callable, TypeVar
10
 
11
- import anyio
12
  import numpy as np
13
  import spaces
14
  import torch
15
- from anyio import Semaphore
16
  from compel import Compel, DiffusersTextualInversionManager, ReturnedEmbeddingsType
17
  from compel.prompt_parser import PromptParser
18
  from huggingface_hub.utils import HFValidationError, RepositoryNotFoundError
19
  from PIL import Image
20
- from typing_extensions import ParamSpec
21
 
22
  from .loader import Loader
 
23
 
24
  __import__("warnings").filterwarnings("ignore", category=FutureWarning, module="transformers")
25
  __import__("transformers").logging.set_verbosity_error()
26
 
27
- T = TypeVar("T")
28
- P = ParamSpec("P")
29
-
30
- MAX_CONCURRENT_THREADS = 1
31
- MAX_THREADS_GUARD = Semaphore(MAX_CONCURRENT_THREADS)
32
-
33
- with open("./data/styles.json") as f:
34
- STYLES = json.load(f)
35
-
36
-
37
- # like the original but supports args and kwargs instead of a dict
38
- # https://github.com/huggingface/huggingface-inference-toolkit/blob/0.2.0/src/huggingface_inference_toolkit/async_utils.py
39
- async def async_call(fn: Callable[P, T], *args: P.args, **kwargs: P.kwargs) -> T:
40
- async with MAX_THREADS_GUARD:
41
- sig = inspect.signature(fn)
42
- bound_args = sig.bind(*args, **kwargs)
43
- bound_args.apply_defaults()
44
- partial_fn = functools.partial(fn, **bound_args.arguments)
45
- return await anyio.to_thread.run_sync(partial_fn)
46
-
47
 
48
  def parse_prompt_with_arrays(prompt: str) -> list[str]:
49
  arrays = re.findall(r"\[\[(.*?)\]\]", prompt)
@@ -64,21 +39,20 @@ def parse_prompt_with_arrays(prompt: str) -> list[str]:
64
  return prompts
65
 
66
 
67
- def apply_style(prompt, style_id, negative=False):
68
- global STYLES
69
- if not style_id or style_id == "None":
70
- return prompt
71
- for style in STYLES:
72
- if style["id"] == style_id:
73
- if negative:
74
- return (
75
- # prepend our negative prompt to the style's negative prompt
76
- f"{prompt}, {style['negative_prompt']}" if prompt else style["negative_prompt"]
77
- )
78
- else:
79
- # inject our positive prompt into the style prompt
80
- return style["prompt"].format(prompt=prompt)
81
- return prompt
82
 
83
 
84
  def prepare_image(input, size=None):
@@ -212,7 +186,7 @@ def generate(
212
  if scale == 4:
213
  upscaler = loader.upscaler_4x
214
 
215
- # load embeddings and append to negative prompt
216
  embeddings_dir = os.path.join(os.path.dirname(__file__), "..", "embeddings")
217
  embeddings_dir = os.path.abspath(embeddings_dir)
218
  for embedding in embeddings:
@@ -222,9 +196,7 @@ def generate(
222
  pretrained_model_name_or_path=f"{embeddings_dir}/{embedding}.pt",
223
  token=f"<{embedding}>",
224
  )
225
- negative_prompt = (
226
- f"{negative_prompt}, <{embedding}>" if negative_prompt else f"<{embedding}>"
227
- )
228
  except (EnvironmentError, HFValidationError, RepositoryNotFoundError):
229
  raise Error(f"Invalid embedding: <{embedding}>")
230
 
@@ -241,24 +213,27 @@ def generate(
241
  images = []
242
  current_seed = seed
243
 
244
- try:
245
- styled_negative_prompt = apply_style(negative_prompt, style, negative=True)
246
- negative_embeds = compel(styled_negative_prompt)
247
- except PromptParser.ParsingException:
248
- raise Error("ValueError: Invalid negative prompt")
249
-
250
  for i in range(num_images):
251
  # seeded generator for each iteration
252
  generator = torch.Generator(device=pipe.device).manual_seed(current_seed)
253
 
254
  try:
255
- all_positive_prompts = parse_prompt_with_arrays(positive_prompt)
256
- prompt_index = i % len(all_positive_prompts)
257
- prompt = all_positive_prompts[prompt_index]
258
- prompt = apply_style(prompt, style)
259
- positive_embeds = compel(prompt)
 
 
 
 
 
 
 
 
 
260
  positive_embeds, negative_embeds = compel.pad_conditioning_tensors_to_same_length(
261
- [positive_embeds, negative_embeds]
262
  )
263
  except PromptParser.ParsingException:
264
  raise Error("ValueError: Invalid prompt")
 
 
 
 
1
  import os
2
  import re
3
  import time
4
  from datetime import datetime
5
  from itertools import product
6
+ from typing import Callable
7
 
 
8
  import numpy as np
9
  import spaces
10
  import torch
 
11
  from compel import Compel, DiffusersTextualInversionManager, ReturnedEmbeddingsType
12
  from compel.prompt_parser import PromptParser
13
  from huggingface_hub.utils import HFValidationError, RepositoryNotFoundError
14
  from PIL import Image
 
15
 
16
  from .loader import Loader
17
+ from .utils import load_json
18
 
19
  __import__("warnings").filterwarnings("ignore", category=FutureWarning, module="transformers")
20
  __import__("transformers").logging.set_verbosity_error()
21
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
 
23
  def parse_prompt_with_arrays(prompt: str) -> list[str]:
24
  arrays = re.findall(r"\[\[(.*?)\]\]", prompt)
 
39
  return prompts
40
 
41
 
42
+ def apply_style(positive_prompt, negative_prompt, style_id):
43
+ if style_id.lower() == "none":
44
+ return (positive_prompt, negative_prompt)
45
+
46
+ styles = load_json("./data/styles.json")
47
+ style = styles.get(style_id)
48
+ if style is None:
49
+ return (positive_prompt, negative_prompt)
50
+
51
+ style_base = styles.get("_base", {})
52
+ return (
53
+ f"{style.get('positive')}, {style_base.get('positive')}".format(prompt=positive_prompt),
54
+ f"{style.get('negative')}, {style_base.get('negative')}".format(prompt=negative_prompt),
55
+ )
 
56
 
57
 
58
  def prepare_image(input, size=None):
 
186
  if scale == 4:
187
  upscaler = loader.upscaler_4x
188
 
189
+ embeddings_tokens = []
190
  embeddings_dir = os.path.join(os.path.dirname(__file__), "..", "embeddings")
191
  embeddings_dir = os.path.abspath(embeddings_dir)
192
  for embedding in embeddings:
 
196
  pretrained_model_name_or_path=f"{embeddings_dir}/{embedding}.pt",
197
  token=f"<{embedding}>",
198
  )
199
+ embeddings_tokens.append(f"<{embedding}>")
 
 
200
  except (EnvironmentError, HFValidationError, RepositoryNotFoundError):
201
  raise Error(f"Invalid embedding: <{embedding}>")
202
 
 
213
  images = []
214
  current_seed = seed
215
 
 
 
 
 
 
 
216
  for i in range(num_images):
217
  # seeded generator for each iteration
218
  generator = torch.Generator(device=pipe.device).manual_seed(current_seed)
219
 
220
  try:
221
+ positive_prompts = parse_prompt_with_arrays(positive_prompt)
222
+ index = i % len(positive_prompts)
223
+ positive_styled, negative_styled = apply_style(
224
+ positive_prompts[index],
225
+ negative_prompt,
226
+ style,
227
+ )
228
+
229
+ if negative_styled.startswith("(), "):
230
+ negative_styled = negative_styled[4:]
231
+
232
+ if embeddings_tokens:
233
+ negative_styled += ", " + ", ".join(embeddings_tokens)
234
+
235
  positive_embeds, negative_embeds = compel.pad_conditioning_tensors_to_same_length(
236
+ [compel(positive_styled), compel(negative_styled)]
237
  )
238
  except PromptParser.ParsingException:
239
  raise Error("ValueError: Invalid prompt")
lib/utils.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import functools
2
+ import inspect
3
+ import json
4
+ from typing import Callable, TypeVar
5
+
6
+ import anyio
7
+ from anyio import Semaphore
8
+ from typing_extensions import ParamSpec
9
+
10
+ T = TypeVar("T")
11
+ P = ParamSpec("P")
12
+
13
+ MAX_CONCURRENT_THREADS = 1
14
+ MAX_THREADS_GUARD = Semaphore(MAX_CONCURRENT_THREADS)
15
+
16
+
17
+ @functools.lru_cache()
18
+ def load_json(path: str) -> dict:
19
+ with open(path, "r", encoding="utf-8") as file:
20
+ return json.load(file)
21
+
22
+
23
+ @functools.lru_cache()
24
+ def read_file(path: str) -> str:
25
+ with open(path, "r", encoding="utf-8") as file:
26
+ return file.read()
27
+
28
+
29
+ # like the original but supports args and kwargs instead of a dict
30
+ # https://github.com/huggingface/huggingface-inference-toolkit/blob/0.2.0/src/huggingface_inference_toolkit/async_utils.py
31
+ async def async_call(fn: Callable[P, T], *args: P.args, **kwargs: P.kwargs) -> T:
32
+ async with MAX_THREADS_GUARD:
33
+ sig = inspect.signature(fn)
34
+ bound_args = sig.bind(*args, **kwargs)
35
+ bound_args.apply_defaults()
36
+ partial_fn = functools.partial(fn, **bound_args.arguments)
37
+ return await anyio.to_thread.run_sync(partial_fn)