Surn commited on
Commit
da0a17c
·
1 Parent(s): 2840c72

Seed and Use main image as image conditioner by default

Browse files
app.py CHANGED
@@ -605,7 +605,7 @@ def generate_ai_image_local (
605
  return None
606
 
607
 
608
- def generate_input_image_click(map_option, prompt_textbox_value, negative_prompt_textbox_value, model_textbox_value, randomize_seed=True, seed=None, use_conditioned_image=False, strength=0.5, image_format="16:9", scale_factor=(8/3), progress=gr.Progress(track_tqdm=True)):
609
  if randomize_seed:
610
  seed = random.randint(0, constants.MAX_SEED)
611
 
@@ -613,6 +613,7 @@ def generate_input_image_click(map_option, prompt_textbox_value, negative_prompt
613
  model, lora_weights = get_model_and_lora(model_textbox_value)
614
  global current_prerendered_image
615
  conditioned_image=None
 
616
 
617
  if use_conditioned_image:
618
  print(f"Conditioned path: {current_prerendered_image.value}.. converting to RGB\n")
@@ -620,6 +621,11 @@ def generate_input_image_click(map_option, prompt_textbox_value, negative_prompt
620
  if isinstance(current_prerendered_image.value, str):
621
  conditioned_image = open_image(current_prerendered_image.value).convert("RGB")
622
  print(f"Conditioned Image: {conditioned_image.size}.. converted to RGB\n")
 
 
 
 
 
623
 
624
  # Convert image_format from a string split by ":" into two numbers divided
625
  width_ratio, height_ratio = map(int, image_format.split(":"))
@@ -649,19 +655,19 @@ def generate_input_image_click(map_option, prompt_textbox_value, negative_prompt
649
  image = Image.open(image_path).convert("RGBA")
650
  except Exception as e:
651
  print(f"Failed to open generated image: {e}")
652
- return image_path # Return the original image path if opening fails
653
 
654
  # Upscale the image
655
  upscaled_image = upscale_image(image, scale_factor)
656
 
657
  # Save the upscaled image to a temporary file
658
- with NamedTemporaryFile(delete=False, suffix=".png") as tmp_upscaled:
659
  upscaled_image.save(tmp_upscaled.name, format="PNG")
660
  constants.temp_files.append(tmp_upscaled.name)
661
  print(f"Upscaled image saved to {tmp_upscaled.name}")
662
  gc.collect()
663
  # Return the path of the upscaled image
664
- return tmp_upscaled.name
665
 
666
  def update_prompt_visibility(map_option):
667
  is_visible = (map_option == "Prompt")
@@ -879,7 +885,7 @@ examples = [["assets//examples//hex_map_p1.png", 32, 1, 0, 0, 0, 0, 0, "#ede9ac4
879
  gr.set_static_paths(paths=["images/","images/images","images/prerendered","LUT/","fonts/"])
880
 
881
  # Gradio Blocks Interface
882
- with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty') as hexaGrid:
883
  with gr.Row():
884
  gr.Markdown("""
885
  # HexaGrid Creator
@@ -1082,12 +1088,12 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty')
1082
  )
1083
  with gr.Row():
1084
  generate_input_image = gr.Button(
1085
- "Generate AI Image",
1086
  elem_id="generate_input_image",
1087
  elem_classes="solid"
1088
  )
1089
  with gr.Column(scale=2):
1090
- with gr.Accordion("Template Image Styles", open = False):
1091
  with gr.Row():
1092
  with gr.Column(scale=2):
1093
  # Gallery from PRE_RENDERED_IMAGES GOES HERE
@@ -1100,7 +1106,7 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty')
1100
  elem_classes="solid"
1101
  )
1102
  generate_input_image_from_gallery = gr.Button(
1103
- "Generate AI Image from Gallery",
1104
  elem_id="generate_input_image_from_gallery",
1105
  elem_classes="solid"
1106
  )
@@ -1223,8 +1229,8 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty')
1223
  )
1224
  generate_input_image.click(
1225
  fn=generate_input_image_click,
1226
- inputs=[map_options, prompt_textbox, negative_prompt_textbox, model_textbox, randomize_seed, seed_slider, gr.State(False), gr.State(0.5), image_size_ratio],
1227
- outputs=[input_image], scroll_to_output=True
1228
  )
1229
  generate_depth_button.click(
1230
  fn=generate_depth_button_click,
@@ -1255,8 +1261,8 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty')
1255
  #use conditioned_image as the input_image for generate_input_image_click
1256
  generate_input_image_from_gallery.click(
1257
  fn=generate_input_image_click,
1258
- inputs=[map_options, prompt_textbox, negative_prompt_textbox, model_textbox,randomize_seed, seed_slider, gr.State(True), image_guidance_stength, image_size_ratio],
1259
- outputs=[input_image], scroll_to_output=True
1260
  )
1261
 
1262
  # Update the state variable with the prerendered image filepath when an image is selected
 
605
  return None
606
 
607
 
608
+ def generate_input_image_click(image_input, map_option, prompt_textbox_value, negative_prompt_textbox_value, model_textbox_value, randomize_seed=True, seed=None, use_conditioned_image=False, strength=0.5, image_format="16:9", scale_factor=(8/3), progress=gr.Progress(track_tqdm=True)):
609
  if randomize_seed:
610
  seed = random.randint(0, constants.MAX_SEED)
611
 
 
613
  model, lora_weights = get_model_and_lora(model_textbox_value)
614
  global current_prerendered_image
615
  conditioned_image=None
616
+ formatted_map_option = map_option.lower().replace(' ', '_')
617
 
618
  if use_conditioned_image:
619
  print(f"Conditioned path: {current_prerendered_image.value}.. converting to RGB\n")
 
621
  if isinstance(current_prerendered_image.value, str):
622
  conditioned_image = open_image(current_prerendered_image.value).convert("RGB")
623
  print(f"Conditioned Image: {conditioned_image.size}.. converted to RGB\n")
624
+ # use image_input as the conditioned_image if it is not None
625
+ elif image_input is not None:
626
+ conditioned_image = open_image(image_input).convert("RGB")
627
+ print(f"Conditioned Image set to modify Input Image!\nClear to generate new image.")
628
+ gr.Info("Conditioned Image set to modify Input Image! Clear to generate new image",duration=5)
629
 
630
  # Convert image_format from a string split by ":" into two numbers divided
631
  width_ratio, height_ratio = map(int, image_format.split(":"))
 
655
  image = Image.open(image_path).convert("RGBA")
656
  except Exception as e:
657
  print(f"Failed to open generated image: {e}")
658
+ return image_path, seed # Return the original image path if opening fails
659
 
660
  # Upscale the image
661
  upscaled_image = upscale_image(image, scale_factor)
662
 
663
  # Save the upscaled image to a temporary file
664
+ with NamedTemporaryFile(delete=False, suffix=".png", prefix=f"{formatted_map_option}_") as tmp_upscaled:
665
  upscaled_image.save(tmp_upscaled.name, format="PNG")
666
  constants.temp_files.append(tmp_upscaled.name)
667
  print(f"Upscaled image saved to {tmp_upscaled.name}")
668
  gc.collect()
669
  # Return the path of the upscaled image
670
+ return tmp_upscaled.name, seed
671
 
672
  def update_prompt_visibility(map_option):
673
  is_visible = (map_option == "Prompt")
 
885
  gr.set_static_paths(paths=["images/","images/images","images/prerendered","LUT/","fonts/"])
886
 
887
  # Gradio Blocks Interface
888
+ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty',delete_cache=(21600,86400)) as hexaGrid:
889
  with gr.Row():
890
  gr.Markdown("""
891
  # HexaGrid Creator
 
1088
  )
1089
  with gr.Row():
1090
  generate_input_image = gr.Button(
1091
+ "Generate from Input Image & Options ",
1092
  elem_id="generate_input_image",
1093
  elem_classes="solid"
1094
  )
1095
  with gr.Column(scale=2):
1096
+ with gr.Accordion("Template Images", open = False):
1097
  with gr.Row():
1098
  with gr.Column(scale=2):
1099
  # Gallery from PRE_RENDERED_IMAGES GOES HERE
 
1106
  elem_classes="solid"
1107
  )
1108
  generate_input_image_from_gallery = gr.Button(
1109
+ "Generate AI Image from Template Image & Options",
1110
  elem_id="generate_input_image_from_gallery",
1111
  elem_classes="solid"
1112
  )
 
1229
  )
1230
  generate_input_image.click(
1231
  fn=generate_input_image_click,
1232
+ inputs=[input_image,map_options, prompt_textbox, negative_prompt_textbox, model_textbox, randomize_seed, seed_slider, gr.State(False), gr.State(0.5), image_size_ratio],
1233
+ outputs=[input_image, seed_slider], scroll_to_output=True
1234
  )
1235
  generate_depth_button.click(
1236
  fn=generate_depth_button_click,
 
1261
  #use conditioned_image as the input_image for generate_input_image_click
1262
  generate_input_image_from_gallery.click(
1263
  fn=generate_input_image_click,
1264
+ inputs=[input_image, map_options, prompt_textbox, negative_prompt_textbox, model_textbox,randomize_seed, seed_slider, gr.State(True), image_guidance_stength, image_size_ratio],
1265
+ outputs=[input_image, seed_slider], scroll_to_output=True
1266
  )
1267
 
1268
  # Update the state variable with the prerendered image filepath when an image is selected
images/prerendered/th/{Hex_gen_map.PNG → Hex_gen_map.png} RENAMED
File without changes
images/prerendered/th/{cute3dkawaii.PNG → cute3dkawaii.png} RENAMED
File without changes
utils/constants.py CHANGED
@@ -50,9 +50,9 @@ def load_env_vars(env_path):
50
  print(f"Warning: .env file not found at {env_path}")
51
 
52
  # Set the temporary folder location
53
- #os.environ['TEMP'] = r'e:\\TMP'
54
- #os.environ['TMPDIR'] = r'e:\\TMP'
55
- #os.environ['XDG_CACHE_HOME'] = r'E:\\cache'
56
 
57
  HF_API_TOKEN = os.getenv("HF_TOKEN")
58
  if not HF_API_TOKEN:
@@ -62,7 +62,7 @@ default_lut_example_img = "./LUT/daisy.jpg"
62
  MAX_SEED = np.iinfo(np.int32).max
63
  TARGET_SIZE = (2688,1536)
64
  #TMPDIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'tmp')
65
- #os.makedirs(TMP_DIR, exist_ok=True)
66
 
67
 
68
  PROMPTS = {
@@ -93,7 +93,7 @@ NEGATIVE_PROMPTS = {
93
  PRERENDER_DIR = "images/prerendered"
94
 
95
  # # List of pre-rendered hexagon map files
96
- # PRE_RENDERED_MAPS = ['alien_orb_land_1.png', 'alien_prarie_1.png', 'alien_world_1.png', 'alien_world_2.png', 'alien_world_3.png', 'alien_world_4.png', 'alien_world_5.png', 'BurntCity.png', 'canyon_water_1.png', 'CONQ_Caustic_Valley.png', 'CONQ_Frozen_City.png', 'CONQ_Hellebore_Springs.png', 'CONQ_Terra_Therma.png', 'CONQ_Viridian_Bog.png', 'cute3dkawaii.PNG', 'dark_dirt_elevations_1.png', 'donald_park.png', 'elevated_peninsula_1.png', 'Firefly_alien_canyons_1.png', 'Firefly_alien_canyons_2.png', 'Firefly_alien_dry_canyons_1.png', 'Firefly_alien_dry_canyons_2.png', 'Firefly_alien_map_1.png', 'Firefly_hpg_terrain_1.png', 'Firefly_hpg_terrain_2.png', 'Firefly_river_dry_1.png', 'Firefly_river_running_1.png', 'Firefly_topographical_alien_desert_1.png', 'Firefly_topographical_canyon_1.png', 'Firefly_topographical_height_map_1.png', 'Firefly_topographical_height_map_2.png', 'Firefly_topographical_height_map_3.png', 'Firefly_topographical_height_map_5.png', 'Firefly_topographical_height_map_6.png', 'Firefly_topographical_marble_1.png', 'Firefly_topographical_moon_1.png', 'fractal_islands.png', 'Genison.png', 'green_farming_alien_world_1.png', 'green_farming_alien_world_2.png', 'grey_barren_alien_world_1.png', 'grey_barren_alien_world_2.png', 'grey_barren_alien_world_3.png', 'grey_barren_alien_world_4.png', 'grey_barren_alien_world_5.png', 'grey_barren_alien_world_6.png', 'grey_barren_alien_world_7.png', 'grey_waterless_alien_world_map.png', 'grid_1.png', 'Hex_gen_map.PNG', 'hex_grass_dirty.png', 'hex_military_industrial_alien_world_map.png', 'hex_mixed_elevations_battlefield_1.png', 'hex_mixed_elevations_battlefield_2.png', 'hex_tree_territory.png', 'lake_city.png', 'mickey_lagoon.png', 'mixed_elevations_battlefield_3.png', 'n6W9Hc.png', 'oasis_mixed_elevations_1.png', 'pic526383.png', 'pinecone_islands.png', 'purple_pines.png', 'red_volcanic_alien_1.png', 'red_volcanic_alien_2.png', 'red_volcanic_alien_3.png', 'red_volcanic_alien_4.png', 'roadway_1.png', 'snowy_lake.png', 'snowy_rolling_hills_1.png', 'volcanic_alien_world_map.png', 'war_torn_post_apocalyptic_alien_world_map.png']
97
 
98
  # # Create full paths for pre-rendered maps
99
  # pre_rendered_maps_paths = [os.path.join(PRERENDER_DIR, map_file).replace("\\", "/") for map_file in PRE_RENDERED_MAPS]
@@ -105,7 +105,7 @@ PRERENDER_DIR = "images/prerendered"
105
  # for file in PRE_RENDERED_MAPS
106
  #}
107
  #PRE_RENDERED_MAPS_JSON
108
- #{'alien orb land 1': 'images/prerendered/alien_orb_land_1.png', 'alien prarie 1': 'images/prerendered/alien_prarie_1.png', 'alien world 1': 'images/prerendered/alien_world_1.png', 'alien world 2': 'images/prerendered/alien_world_2.png', 'alien world 3': 'images/prerendered/alien_world_3.png', 'alien world 4': 'images/prerendered/alien_world_4.png', 'alien world 5': 'images/prerendered/alien_world_5.png', 'BurntCity': 'images/prerendered/BurntCity.png', 'canyon water 1': 'images/prerendered/canyon_water_1.png', 'CONQ Caustic Valley': 'images/prerendered/CONQ_Caustic_Valley.png', 'CONQ Frozen City': 'images/prerendered/CONQ_Frozen_City.png', 'CONQ Hellebore Springs': 'images/prerendered/CONQ_Hellebore_Springs.png', 'CONQ Terra Therma': 'images/prerendered/CONQ_Terra_Therma.png', 'CONQ Viridian Bog': 'images/prerendered/CONQ_Viridian_Bog.png', 'cute3dkawaii': 'images/prerendered/cute3dkawaii.PNG', 'dark dirt elevations 1': 'images/prerendered/dark_dirt_elevations_1.png', 'donald park': 'images/prerendered/donald_park.png', 'elevated peninsula 1': 'images/prerendered/elevated_peninsula_1.png', 'Firefly alien canyons 1': 'images/prerendered/Firefly_alien_canyons_1.png', 'Firefly alien canyons 2': 'images/prerendered/Firefly_alien_canyons_2.png', 'Firefly alien dry canyons 1': 'images/prerendered/Firefly_alien_dry_canyons_1.png', 'Firefly alien dry canyons 2': 'images/prerendered/Firefly_alien_dry_canyons_2.png', 'Firefly alien map 1': 'images/prerendered/Firefly_alien_map_1.png', 'Firefly hpg terrain 1': 'images/prerendered/Firefly_hpg_terrain_1.png', 'Firefly hpg terrain 2': 'images/prerendered/Firefly_hpg_terrain_2.png', 'Firefly river dry 1': 'images/prerendered/Firefly_river_dry_1.png', 'Firefly river running 1': 'images/prerendered/Firefly_river_running_1.png', 'Firefly topographical alien desert 1': 'images/prerendered/Firefly_topographical_alien_desert_1.png', 'Firefly topographical canyon 1': 'images/prerendered/Firefly_topographical_canyon_1.png', 'Firefly topographical height map 1': 'images/prerendered/Firefly_topographical_height_map_1.png', 'Firefly topographical height map 2': 'images/prerendered/Firefly_topographical_height_map_2.png', 'Firefly topographical height map 3': 'images/prerendered/Firefly_topographical_height_map_3.png', 'Firefly topographical height map 5': 'images/prerendered/Firefly_topographical_height_map_5.png', 'Firefly topographical height map 6': 'images/prerendered/Firefly_topographical_height_map_6.png', 'Firefly topographical marble 1': 'images/prerendered/Firefly_topographical_marble_1.png', 'Firefly topographical moon 1': 'images/prerendered/Firefly_topographical_moon_1.png', 'fractal islands': 'images/prerendered/fractal_islands.png', 'Genison': 'images/prerendered/Genison.png', 'green farming alien world 1': 'images/prerendered/green_farming_alien_world_1.png', 'green farming alien world 2': 'images/prerendered/green_farming_alien_world_2.png', 'grey barren alien world 1': 'images/prerendered/grey_barren_alien_world_1.png', 'grey barren alien world 2': 'images/prerendered/grey_barren_alien_world_2.png', 'grey barren alien world 3': 'images/prerendered/grey_barren_alien_world_3.png', 'grey barren alien world 4': 'images/prerendered/grey_barren_alien_world_4.png', 'grey barren alien world 5': 'images/prerendered/grey_barren_alien_world_5.png', 'grey barren alien world 6': 'images/prerendered/grey_barren_alien_world_6.png', 'grey barren alien world 7': 'images/prerendered/grey_barren_alien_world_7.png', 'grey waterless alien world map': 'images/prerendered/grey_waterless_alien_world_map.png', 'grid 1': 'images/prerendered/grid_1.png', 'Hex gen map': 'images/prerendered/Hex_gen_map.PNG', 'hex grass dirty': 'images/prerendered/hex_grass_dirty.png', 'hex military industrial alien world map': 'images/prerendered/hex_military_industrial_alien_world_map.png', 'hex mixed elevations battlefield 1': 'images/prerendered/hex_mixed_elevations_battlefield_1.png', 'hex mixed elevations battlefield 2': 'images/prerendered/hex_mixed_elevations_battlefield_2.png', 'hex tree territory': 'images/prerendered/hex_tree_territory.png', 'lake city': 'images/prerendered/lake_city.png', 'mickey lagoon': 'images/prerendered/mickey_lagoon.png', 'mixed elevations battlefield 3': 'images/prerendered/mixed_elevations_battlefield_3.png', 'n6W9Hc': 'images/prerendered/n6W9Hc.png', 'oasis mixed elevations 1': 'images/prerendered/oasis_mixed_elevations_1.png', 'pic526383': 'images/prerendered/pic526383.png', 'pinecone islands': 'images/prerendered/pinecone_islands.png', 'purple pines': 'images/prerendered/purple_pines.png', 'red volcanic alien 1': 'images/prerendered/red_volcanic_alien_1.png', 'red volcanic alien 2': 'images/prerendered/red_volcanic_alien_2.png', 'red volcanic alien 3': 'images/prerendered/red_volcanic_alien_3.png', 'red volcanic alien 4': 'images/prerendered/red_volcanic_alien_4.png', 'roadway 1': 'images/prerendered/roadway_1.png', 'snowy lake': 'images/prerendered/snowy_lake.png', 'snowy rolling hills 1': 'images/prerendered/snowy_rolling_hills_1.png', 'volcanic alien world map': 'images/prerendered/volcanic_alien_world_map.png', 'war torn post apocalyptic alien world map': 'images/prerendered/war_torn_post_apocalyptic_alien_world_map.png'}
109
  ##PRE_RENDERED_MAPS_JSON = { key: { 'file': value, 'quality': 0 } for key, value in PRE_RENDERED_MAPS_JSON.items()}
110
  PRE_RENDERED_MAPS_JSON_LEVELS = {
111
  'alien orb land 1': {'file': 'images/prerendered/alien_orb_land_1.png', 'thumbnail': 'images/prerendered/th/alien_orb_land_1.png', 'quality': 0},
@@ -122,7 +122,7 @@ PRE_RENDERED_MAPS_JSON_LEVELS = {
122
  'CONQ Hellebore Springs': {'file': 'images/prerendered/CONQ_Hellebore_Springs.png', 'thumbnail': 'images/prerendered/th/CONQ_Hellebore_Springs.png', 'quality': 2},
123
  'CONQ Terra Therma': {'file': 'images/prerendered/CONQ_Terra_Therma.png', 'thumbnail': 'images/prerendered/th/CONQ_Terra_Therma.png', 'quality': 1},
124
  'CONQ Viridian Bog': {'file': 'images/prerendered/CONQ_Viridian_Bog.png', 'thumbnail': 'images/prerendered/th/CONQ_Viridian_Bog.png', 'quality': 1},
125
- 'cute3dkawaii': {'file': 'images/prerendered/cute3dkawaii.PNG', 'thumbnail': 'images/prerendered/th/cute3dkawaii.PNG', 'quality': 0},
126
  'dark dirt elevations 1': {'file': 'images/prerendered/dark_dirt_elevations_1.png', 'thumbnail': 'images/prerendered/th/dark_dirt_elevations_1.png', 'quality': 0},
127
  'donald park': {'file': 'images/prerendered/donald_park.png', 'thumbnail': 'images/prerendered/th/donald_park.png', 'quality': 0},
128
  'elevated peninsula 1': {'file': 'images/prerendered/elevated_peninsula_1.png', 'thumbnail': 'images/prerendered/th/elevated_peninsula_1.png', 'quality': 0},
@@ -157,7 +157,7 @@ PRE_RENDERED_MAPS_JSON_LEVELS = {
157
  'grey barren alien world 7': {'file': 'images/prerendered/grey_barren_alien_world_7.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_7.png', 'quality': 3},
158
  'grey waterless alien world map': {'file': 'images/prerendered/grey_waterless_alien_world_map.png', 'thumbnail': 'images/prerendered/th/grey_waterless_alien_world_map.png', 'quality': 3},
159
  'grid 1': {'file': 'images/prerendered/grid_1.png', 'thumbnail': 'images/prerendered/th/grid_1.png', 'quality': 0},
160
- 'Hex gen map': {'file': 'images/prerendered/Hex_gen_map.PNG', 'thumbnail': 'images/prerendered/th/Hex_gen_map.PNG', 'quality': 0},
161
  'hex grass dirty': {'file': 'images/prerendered/hex_grass_dirty.png', 'thumbnail': 'images/prerendered/th/hex_grass_dirty.png', 'quality': 0},
162
  'hex military industrial alien world map': {'file': 'images/prerendered/hex_military_industrial_alien_world_map.png', 'thumbnail': 'images/prerendered/th/hex_military_industrial_alien_world_map.png', 'quality': 3},
163
  'hex mixed elevations battlefield 1': {'file': 'images/prerendered/hex_mixed_elevations_battlefield_1.png', 'thumbnail': 'images/prerendered/th/hex_mixed_elevations_battlefield_1.png', 'quality': 0},
@@ -251,7 +251,7 @@ LORA_DETAILS = {
251
  "trigger_words": "anime,",
252
  },
253
  {
254
- "notes": "You should use ',anime' as trigger words at the end. @6min"
255
  },
256
  {
257
  "parameters" :{
@@ -268,7 +268,7 @@ LORA_DETAILS = {
268
  "trigger_words": "scenery style,",
269
  },
270
  {
271
- "notes": "You should use ',scenery style' as trigger words at the end. @6min"
272
  },
273
  {
274
  "parameters" :{
@@ -285,7 +285,7 @@ LORA_DETAILS = {
285
  "trigger_words": "disney style,",
286
  },
287
  {
288
- "notes": "You should use ',disney style' as trigger words at the end. @12min "
289
  },
290
  {
291
  "parameters" :{
@@ -295,7 +295,7 @@ LORA_DETAILS = {
295
  ],
296
  "XLabs-AI/flux-RealismLora":[
297
  {
298
- "notes": "No trigger words but 8k, Animatrix illustration style, fantasy style, natural photo cinematic should all work @6min"
299
  },
300
  {
301
  "parameters" :{
@@ -314,7 +314,7 @@ LORA_DETAILS = {
314
  "trigger_words": "FRM$",
315
  },
316
  {
317
- "notes": "You should use FRM$ as trigger words. @1.5 minutes"
318
  },
319
  {
320
  "parameters" :{
@@ -343,7 +343,7 @@ LORA_DETAILS = {
343
  ],
344
  "Shakker-Labs/FLUX.1-dev-LoRA-Logo-Design": [
345
  {
346
- "notes": "You should use wablogo, logo, Minimalist as trigger words.. @4.8min"
347
  },
348
  {
349
  "trigger_words": "wablogo, logo, Minimalist ",
@@ -361,7 +361,7 @@ LORA_DETAILS = {
361
  ],
362
  "Borcherding/FLUX.1-dev-LoRA-FractalLand-v0.1": [
363
  {
364
- "notes": "Use fractalLand at the start of the prompts to activate the fractal elements. . @4.8min"
365
  },
366
  {
367
  "trigger_words": "fractalLand ",
 
50
  print(f"Warning: .env file not found at {env_path}")
51
 
52
  # Set the temporary folder location
53
+ # os.environ['TEMP'] = r'e:\\TMP'
54
+ # os.environ['TMPDIR'] = r'e:\\TMP'
55
+ # os.environ['XDG_CACHE_HOME'] = r'E:\\cache'
56
 
57
  HF_API_TOKEN = os.getenv("HF_TOKEN")
58
  if not HF_API_TOKEN:
 
62
  MAX_SEED = np.iinfo(np.int32).max
63
  TARGET_SIZE = (2688,1536)
64
  #TMPDIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'tmp')
65
+ #os.makedirs(TMPDIR, exist_ok=True)
66
 
67
 
68
  PROMPTS = {
 
93
  PRERENDER_DIR = "images/prerendered"
94
 
95
  # # List of pre-rendered hexagon map files
96
+ # PRE_RENDERED_MAPS = ['alien_orb_land_1.png', 'alien_prarie_1.png', 'alien_world_1.png', 'alien_world_2.png', 'alien_world_3.png', 'alien_world_4.png', 'alien_world_5.png', 'BurntCity.png', 'canyon_water_1.png', 'CONQ_Caustic_Valley.png', 'CONQ_Frozen_City.png', 'CONQ_Hellebore_Springs.png', 'CONQ_Terra_Therma.png', 'CONQ_Viridian_Bog.png', 'cute3dkawaii.PNG', 'dark_dirt_elevations_1.png', 'donald_park.png', 'elevated_peninsula_1.png', 'Firefly_alien_canyons_1.png', 'Firefly_alien_canyons_2.png', 'Firefly_alien_dry_canyons_1.png', 'Firefly_alien_dry_canyons_2.png', 'Firefly_alien_map_1.png', 'Firefly_hpg_terrain_1.png', 'Firefly_hpg_terrain_2.png', 'Firefly_river_dry_1.png', 'Firefly_river_running_1.png', 'Firefly_topographical_alien_desert_1.png', 'Firefly_topographical_canyon_1.png', 'Firefly_topographical_height_map_1.png', 'Firefly_topographical_height_map_2.png', 'Firefly_topographical_height_map_3.png', 'Firefly_topographical_height_map_5.png', 'Firefly_topographical_height_map_6.png', 'Firefly_topographical_marble_1.png', 'Firefly_topographical_moon_1.png', 'fractal_islands.png', 'Genison.png', 'green_farming_alien_world_1.png', 'green_farming_alien_world_2.png', 'grey_barren_alien_world_1.png', 'grey_barren_alien_world_2.png', 'grey_barren_alien_world_3.png', 'grey_barren_alien_world_4.png', 'grey_barren_alien_world_5.png', 'grey_barren_alien_world_6.png', 'grey_barren_alien_world_7.png', 'grey_waterless_alien_world_map.png', 'grid_1.png', 'Hex_gen_map.png', 'hex_grass_dirty.png', 'hex_military_industrial_alien_world_map.png', 'hex_mixed_elevations_battlefield_1.png', 'hex_mixed_elevations_battlefield_2.png', 'hex_tree_territory.png', 'lake_city.png', 'mickey_lagoon.png', 'mixed_elevations_battlefield_3.png', 'n6W9Hc.png', 'oasis_mixed_elevations_1.png', 'pic526383.png', 'pinecone_islands.png', 'purple_pines.png', 'red_volcanic_alien_1.png', 'red_volcanic_alien_2.png', 'red_volcanic_alien_3.png', 'red_volcanic_alien_4.png', 'roadway_1.png', 'snowy_lake.png', 'snowy_rolling_hills_1.png', 'volcanic_alien_world_map.png', 'war_torn_post_apocalyptic_alien_world_map.png']
97
 
98
  # # Create full paths for pre-rendered maps
99
  # pre_rendered_maps_paths = [os.path.join(PRERENDER_DIR, map_file).replace("\\", "/") for map_file in PRE_RENDERED_MAPS]
 
105
  # for file in PRE_RENDERED_MAPS
106
  #}
107
  #PRE_RENDERED_MAPS_JSON
108
+ #{'alien orb land 1': 'images/prerendered/alien_orb_land_1.png', 'alien prarie 1': 'images/prerendered/alien_prarie_1.png', 'alien world 1': 'images/prerendered/alien_world_1.png', 'alien world 2': 'images/prerendered/alien_world_2.png', 'alien world 3': 'images/prerendered/alien_world_3.png', 'alien world 4': 'images/prerendered/alien_world_4.png', 'alien world 5': 'images/prerendered/alien_world_5.png', 'BurntCity': 'images/prerendered/BurntCity.png', 'canyon water 1': 'images/prerendered/canyon_water_1.png', 'CONQ Caustic Valley': 'images/prerendered/CONQ_Caustic_Valley.png', 'CONQ Frozen City': 'images/prerendered/CONQ_Frozen_City.png', 'CONQ Hellebore Springs': 'images/prerendered/CONQ_Hellebore_Springs.png', 'CONQ Terra Therma': 'images/prerendered/CONQ_Terra_Therma.png', 'CONQ Viridian Bog': 'images/prerendered/CONQ_Viridian_Bog.png', 'cute3dkawaii': 'images/prerendered/cute3dkawaii.png', 'dark dirt elevations 1': 'images/prerendered/dark_dirt_elevations_1.png', 'donald park': 'images/prerendered/donald_park.png', 'elevated peninsula 1': 'images/prerendered/elevated_peninsula_1.png', 'Firefly alien canyons 1': 'images/prerendered/Firefly_alien_canyons_1.png', 'Firefly alien canyons 2': 'images/prerendered/Firefly_alien_canyons_2.png', 'Firefly alien dry canyons 1': 'images/prerendered/Firefly_alien_dry_canyons_1.png', 'Firefly alien dry canyons 2': 'images/prerendered/Firefly_alien_dry_canyons_2.png', 'Firefly alien map 1': 'images/prerendered/Firefly_alien_map_1.png', 'Firefly hpg terrain 1': 'images/prerendered/Firefly_hpg_terrain_1.png', 'Firefly hpg terrain 2': 'images/prerendered/Firefly_hpg_terrain_2.png', 'Firefly river dry 1': 'images/prerendered/Firefly_river_dry_1.png', 'Firefly river running 1': 'images/prerendered/Firefly_river_running_1.png', 'Firefly topographical alien desert 1': 'images/prerendered/Firefly_topographical_alien_desert_1.png', 'Firefly topographical canyon 1': 'images/prerendered/Firefly_topographical_canyon_1.png', 'Firefly topographical height map 1': 'images/prerendered/Firefly_topographical_height_map_1.png', 'Firefly topographical height map 2': 'images/prerendered/Firefly_topographical_height_map_2.png', 'Firefly topographical height map 3': 'images/prerendered/Firefly_topographical_height_map_3.png', 'Firefly topographical height map 5': 'images/prerendered/Firefly_topographical_height_map_5.png', 'Firefly topographical height map 6': 'images/prerendered/Firefly_topographical_height_map_6.png', 'Firefly topographical marble 1': 'images/prerendered/Firefly_topographical_marble_1.png', 'Firefly topographical moon 1': 'images/prerendered/Firefly_topographical_moon_1.png', 'fractal islands': 'images/prerendered/fractal_islands.png', 'Genison': 'images/prerendered/Genison.png', 'green farming alien world 1': 'images/prerendered/green_farming_alien_world_1.png', 'green farming alien world 2': 'images/prerendered/green_farming_alien_world_2.png', 'grey barren alien world 1': 'images/prerendered/grey_barren_alien_world_1.png', 'grey barren alien world 2': 'images/prerendered/grey_barren_alien_world_2.png', 'grey barren alien world 3': 'images/prerendered/grey_barren_alien_world_3.png', 'grey barren alien world 4': 'images/prerendered/grey_barren_alien_world_4.png', 'grey barren alien world 5': 'images/prerendered/grey_barren_alien_world_5.png', 'grey barren alien world 6': 'images/prerendered/grey_barren_alien_world_6.png', 'grey barren alien world 7': 'images/prerendered/grey_barren_alien_world_7.png', 'grey waterless alien world map': 'images/prerendered/grey_waterless_alien_world_map.png', 'grid 1': 'images/prerendered/grid_1.png', 'Hex gen map': 'images/prerendered/Hex_gen_map.png', 'hex grass dirty': 'images/prerendered/hex_grass_dirty.png', 'hex military industrial alien world map': 'images/prerendered/hex_military_industrial_alien_world_map.png', 'hex mixed elevations battlefield 1': 'images/prerendered/hex_mixed_elevations_battlefield_1.png', 'hex mixed elevations battlefield 2': 'images/prerendered/hex_mixed_elevations_battlefield_2.png', 'hex tree territory': 'images/prerendered/hex_tree_territory.png', 'lake city': 'images/prerendered/lake_city.png', 'mickey lagoon': 'images/prerendered/mickey_lagoon.png', 'mixed elevations battlefield 3': 'images/prerendered/mixed_elevations_battlefield_3.png', 'n6W9Hc': 'images/prerendered/n6W9Hc.png', 'oasis mixed elevations 1': 'images/prerendered/oasis_mixed_elevations_1.png', 'pic526383': 'images/prerendered/pic526383.png', 'pinecone islands': 'images/prerendered/pinecone_islands.png', 'purple pines': 'images/prerendered/purple_pines.png', 'red volcanic alien 1': 'images/prerendered/red_volcanic_alien_1.png', 'red volcanic alien 2': 'images/prerendered/red_volcanic_alien_2.png', 'red volcanic alien 3': 'images/prerendered/red_volcanic_alien_3.png', 'red volcanic alien 4': 'images/prerendered/red_volcanic_alien_4.png', 'roadway 1': 'images/prerendered/roadway_1.png', 'snowy lake': 'images/prerendered/snowy_lake.png', 'snowy rolling hills 1': 'images/prerendered/snowy_rolling_hills_1.png', 'volcanic alien world map': 'images/prerendered/volcanic_alien_world_map.png', 'war torn post apocalyptic alien world map': 'images/prerendered/war_torn_post_apocalyptic_alien_world_map.png'}
109
  ##PRE_RENDERED_MAPS_JSON = { key: { 'file': value, 'quality': 0 } for key, value in PRE_RENDERED_MAPS_JSON.items()}
110
  PRE_RENDERED_MAPS_JSON_LEVELS = {
111
  'alien orb land 1': {'file': 'images/prerendered/alien_orb_land_1.png', 'thumbnail': 'images/prerendered/th/alien_orb_land_1.png', 'quality': 0},
 
122
  'CONQ Hellebore Springs': {'file': 'images/prerendered/CONQ_Hellebore_Springs.png', 'thumbnail': 'images/prerendered/th/CONQ_Hellebore_Springs.png', 'quality': 2},
123
  'CONQ Terra Therma': {'file': 'images/prerendered/CONQ_Terra_Therma.png', 'thumbnail': 'images/prerendered/th/CONQ_Terra_Therma.png', 'quality': 1},
124
  'CONQ Viridian Bog': {'file': 'images/prerendered/CONQ_Viridian_Bog.png', 'thumbnail': 'images/prerendered/th/CONQ_Viridian_Bog.png', 'quality': 1},
125
+ 'cute3dkawaii': {'file': 'images/prerendered/cute3dkawaii.png', 'thumbnail': 'images/prerendered/th/cute3dkawaii.png', 'quality': 0},
126
  'dark dirt elevations 1': {'file': 'images/prerendered/dark_dirt_elevations_1.png', 'thumbnail': 'images/prerendered/th/dark_dirt_elevations_1.png', 'quality': 0},
127
  'donald park': {'file': 'images/prerendered/donald_park.png', 'thumbnail': 'images/prerendered/th/donald_park.png', 'quality': 0},
128
  'elevated peninsula 1': {'file': 'images/prerendered/elevated_peninsula_1.png', 'thumbnail': 'images/prerendered/th/elevated_peninsula_1.png', 'quality': 0},
 
157
  'grey barren alien world 7': {'file': 'images/prerendered/grey_barren_alien_world_7.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_7.png', 'quality': 3},
158
  'grey waterless alien world map': {'file': 'images/prerendered/grey_waterless_alien_world_map.png', 'thumbnail': 'images/prerendered/th/grey_waterless_alien_world_map.png', 'quality': 3},
159
  'grid 1': {'file': 'images/prerendered/grid_1.png', 'thumbnail': 'images/prerendered/th/grid_1.png', 'quality': 0},
160
+ 'Hex gen map': {'file': 'images/prerendered/Hex_gen_map.png', 'thumbnail': 'images/prerendered/th/Hex_gen_map.png', 'quality': 0},
161
  'hex grass dirty': {'file': 'images/prerendered/hex_grass_dirty.png', 'thumbnail': 'images/prerendered/th/hex_grass_dirty.png', 'quality': 0},
162
  'hex military industrial alien world map': {'file': 'images/prerendered/hex_military_industrial_alien_world_map.png', 'thumbnail': 'images/prerendered/th/hex_military_industrial_alien_world_map.png', 'quality': 3},
163
  'hex mixed elevations battlefield 1': {'file': 'images/prerendered/hex_mixed_elevations_battlefield_1.png', 'thumbnail': 'images/prerendered/th/hex_mixed_elevations_battlefield_1.png', 'quality': 0},
 
251
  "trigger_words": "anime,",
252
  },
253
  {
254
+ "notes": "You should use ',anime' as trigger words at the end. "
255
  },
256
  {
257
  "parameters" :{
 
268
  "trigger_words": "scenery style,",
269
  },
270
  {
271
+ "notes": "You should use ',scenery style' as trigger words at the end. "
272
  },
273
  {
274
  "parameters" :{
 
285
  "trigger_words": "disney style,",
286
  },
287
  {
288
+ "notes": "You should use ',disney style' as trigger words at the end. "
289
  },
290
  {
291
  "parameters" :{
 
295
  ],
296
  "XLabs-AI/flux-RealismLora":[
297
  {
298
+ "notes": "No trigger words but 8k, Animatrix illustration style, fantasy style, natural photo cinematic should all work "
299
  },
300
  {
301
  "parameters" :{
 
314
  "trigger_words": "FRM$",
315
  },
316
  {
317
+ "notes": " FRM$ used as trigger words. "
318
  },
319
  {
320
  "parameters" :{
 
343
  ],
344
  "Shakker-Labs/FLUX.1-dev-LoRA-Logo-Design": [
345
  {
346
+ "notes": "Uses wablogo, logo, Minimalist as trigger words.."
347
  },
348
  {
349
  "trigger_words": "wablogo, logo, Minimalist ",
 
361
  ],
362
  "Borcherding/FLUX.1-dev-LoRA-FractalLand-v0.1": [
363
  {
364
+ "notes": "Uses fractalLand at the start of the prompts to activate the fractal elements. . "
365
  },
366
  {
367
  "trigger_words": "fractalLand ",
utils/image_utils.py CHANGED
@@ -44,6 +44,12 @@ def open_image(image_path):
44
  """
45
  if isinstance(image_path, Image.Image):
46
  return image_path
 
 
 
 
 
 
47
  import requests
48
  try:
49
  image_path, is_dict = get_image_from_dict(image_path)
@@ -686,7 +692,7 @@ def convert_to_rgba_png(file_path: str) -> tuple[Image, str]:
686
  img = open_image(file_path)
687
  print(f"Opened image: {file_path}\n")
688
  # Handle ICO files
689
- if file_path.lower().endswith('.ico'):
690
  rgba_img = img.convert('RGBA')
691
  new_file_path = Path(file_path).with_suffix('.png')
692
  rgba_img.save(new_file_path, format='PNG')
 
44
  """
45
  if isinstance(image_path, Image.Image):
46
  return image_path
47
+ else:
48
+ path = Path(image_path)
49
+ new_suffix = path.suffix.lower()
50
+ new_path = path.with_suffix(new_suffix)
51
+ image_path = str(new_path)
52
+
53
  import requests
54
  try:
55
  image_path, is_dict = get_image_from_dict(image_path)
 
692
  img = open_image(file_path)
693
  print(f"Opened image: {file_path}\n")
694
  # Handle ICO files
695
+ if file_path.lower().endswith(('.ico','.webp','.gif')):
696
  rgba_img = img.convert('RGBA')
697
  new_file_path = Path(file_path).with_suffix('.png')
698
  rgba_img.save(new_file_path, format='PNG')