diff --git a/app.py b/app.py
index 38ce1ad453087e3f77a6559822f3ce7b3073e654..7c91cc6d5a08cc92d18827475c667d1438424907 100644
--- a/app.py
+++ b/app.py
@@ -38,6 +38,7 @@ from utils.misc import (get_filename, pause, convert_ratio_to_dimensions) #insta
 from utils.image_utils import (
     change_color,
     open_image,
+    build_prerendered_images_by_quality,
     upscale_image,
     lerp_imagemath,
     shrink_and_paste_on_blank,
@@ -48,7 +49,8 @@ from utils.image_utils import (
     crop_and_resize_image,
     convert_to_rgba_png,
     resize_image_with_aspect_ratio,
-    build_prerendered_images_by_quality
+    build_prerendered_images_by_quality,
+    get_image_from_dict
 )
 
 from utils.hex_grid import (
@@ -83,14 +85,13 @@ PIPELINE_CLASSES = {
     "FluxControlPipeline": FluxControlPipeline
 }
 
-import spaces
-
 from utils.version_info import (
     versions_html,
     #initialize_cuda,
     #release_torch_resources,
     #get_torch_info
 )
+import spaces
 
 input_image_palette = []
 current_prerendered_image = gr.State("./images/images/Beeuty-1.png")
@@ -304,7 +305,7 @@ class Condition(object):
 # def generate_image(pipe, generate_params, progress=gr.Progress(track_tqdm=True)):
 #     return pipe(**generate_params)
 
-#@spaces.GPU(duration=140, progress=gr.Progress(track_tqdm=True))
+@spaces.GPU(duration=140, progress=gr.Progress(track_tqdm=True))
 def generate_image_lowmem(
     text,
     neg_prompt=None,
@@ -603,7 +604,7 @@ def generate_ai_image_local (
         #gc.collect()
         return None
 
-#@spaces.GPU(duration=140,progress=gr.Progress(track_tqdm=True))
+@spaces.GPU(duration=140,progress=gr.Progress(track_tqdm=True))
 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)):
     if randomize_seed:
         seed = random.randint(0, constants.MAX_SEED)
@@ -789,6 +790,7 @@ def create_3d_obj(rgb_image, raw_depth, image_path, depth=10, z_scale=200):
     o3d.io.write_triangle_mesh(gltf_path, mesh_crop, write_triangle_uvs=True)
     return gltf_path
 
+@spaces.GPU()
 def depth_process_image(image_path, resized_width=800, z_scale=208):
     """
     Processes the input image to generate a depth map and a 3D mesh reconstruction.
@@ -863,7 +865,7 @@ def generate_depth_button_click(depth_image_source, resize_width, z_scale, input
 
     return generate_depth_and_3d(image_path, resize_width, z_scale)
 
-
+@spaces.GPU()
 def getVersions():
     return versions_html()
 
@@ -1034,7 +1036,7 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty')
                     with gr.Row():
                         with gr.Column():
                             map_options = gr.Dropdown(
-                            label="Map Options",
+                            label="Map Options*",
                             choices=list(constants.PROMPTS.keys()),
                             value="Alien Landscape",
                             elem_classes="solid",
@@ -1051,9 +1053,9 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty')
                                 maximum=constants.MAX_SEED,
                                 step=1,
                                 value=0,
-                                scale=0
+                                scale=0, randomize=True, elem_id="rnd_seed"
                             )
-                            randomize_seed = gr.Checkbox(label="Randomize seed", value=True, scale=0, interactive=True)
+                            randomize_seed = gr.Checkbox(label="Randomize seed", value=False, scale=0, interactive=True)
                     prompt_textbox = gr.Textbox(
                         label="Prompt",
                         visible=False,
@@ -1084,20 +1086,20 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty')
                             "Generate AI Image",
                             elem_id="generate_input_image",
                             elem_classes="solid"
-                    )
+                        )
                 with gr.Column(scale=2):
                         with gr.Accordion("Template Image Styles", open = False):
                             with gr.Row():
                                 with gr.Column(scale=2):
                                     # Gallery from PRE_RENDERED_IMAGES GOES HERE
-                                    prerendered_image_gallery = gr.Gallery(label="Image Gallery", show_label=True, value=build_prerendered_images_by_quality(1), elem_id="gallery", elem_classes="solid", type="filepath", columns=[3], rows=[3], preview=False ,object_fit="contain", height="auto", format="png",allow_preview=False)
+                                    prerendered_image_gallery = gr.Gallery(label="Image Gallery", show_label=True, value=build_prerendered_images_by_quality(3,'thumbnail'), elem_id="gallery", elem_classes="solid", type="filepath", columns=[3], rows=[3], preview=False ,object_fit="contain", height="auto", format="png",allow_preview=False)
                                 with gr.Column():
-                                    image_guidance_stength = gr.Slider(label="Image Guidance Strength (prompt percentage)", minimum=0, maximum=1.0, value=0.8, step=0.01, interactive=True)                                
+                                    image_guidance_stength = gr.Slider(label="Image Guidance Strength (prompt percentage)", minimum=0, maximum=1.0, value=0.85, step=0.01, interactive=True)                                
                                     replace_input_image_button = gr.Button(
                                         "Replace Input Image",
                                         elem_id="prerendered_replace_input_image_button",
                                         elem_classes="solid"
-                                    )                                
+                                    )
                                     generate_input_image_from_gallery = gr.Button(
                                         "Generate AI Image from Gallery",
                                         elem_id="generate_input_image_from_gallery",
@@ -1295,10 +1297,8 @@ with gr.Blocks(css_paths="style_20250128.css", title=title, theme='Surn/beeuty')
         scroll_to_output=True
     )
 
-    hexaGrid.queue(default_concurrency_limit=1,max_size=12,api_open=False)
-    hexaGrid.launch(allowed_paths=["assets","/","./assets","images","./images", "./images/prerendered"], favicon_path="./assets/favicon.ico", max_file_size="10mb")
-
 if __name__ == "__main__":
+    constants.load_env_vars(constants.dotenv_path)
     logging.basicConfig(
         format="[%(levelname)s] %(asctime)s %(message)s", level=logging.INFO
     )
@@ -1313,4 +1313,6 @@ if __name__ == "__main__":
     # setup_runtime_env()
     #main(os.getenv("DEBUG") == "1")
     #main()
+    hexaGrid.queue(default_concurrency_limit=1,max_size=12,api_open=False)
+    hexaGrid.launch(allowed_paths=["assets","/","./assets","images","./images", "./images/prerendered"], favicon_path="./assets/favicon.ico", max_file_size="10mb")
 
diff --git a/images/prerendered/th/BurntCity.png b/images/prerendered/th/BurntCity.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab52c03c8b8fc08c81ac55558859ce6add031793
--- /dev/null
+++ b/images/prerendered/th/BurntCity.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:15250640d3b7fa1906329a55d36666b1be7a317ece2aa82971d0cb1f7524036e
+size 123860
diff --git a/images/prerendered/th/CONQ_Caustic_Valley.png b/images/prerendered/th/CONQ_Caustic_Valley.png
new file mode 100644
index 0000000000000000000000000000000000000000..91a770331a50a61fbb12b089d40c74b6ea69df9e
--- /dev/null
+++ b/images/prerendered/th/CONQ_Caustic_Valley.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ff0d9973bb78e1c3f6cb861d62685523d6689226546df9fbcf154b5a8ba80a38
+size 150851
diff --git a/images/prerendered/th/CONQ_Frozen_City.png b/images/prerendered/th/CONQ_Frozen_City.png
new file mode 100644
index 0000000000000000000000000000000000000000..81d97cedc8c990427f7bdc5614143289393252c2
--- /dev/null
+++ b/images/prerendered/th/CONQ_Frozen_City.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7be3b98d5ff7fbff7a62684956d07269544f9d42ed494b222eac3ead74acc838
+size 153239
diff --git a/images/prerendered/th/CONQ_Hellebore_Springs.png b/images/prerendered/th/CONQ_Hellebore_Springs.png
new file mode 100644
index 0000000000000000000000000000000000000000..4e78ad28a2cf031c01961632fec29f1cc26edc0b
--- /dev/null
+++ b/images/prerendered/th/CONQ_Hellebore_Springs.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1ad4db361c05bb4740a332289b0b4004a696c2e80e7cc3718141137d5a6a02c9
+size 121594
diff --git a/images/prerendered/th/CONQ_Terra_Therma.png b/images/prerendered/th/CONQ_Terra_Therma.png
new file mode 100644
index 0000000000000000000000000000000000000000..b7b24f14fb29b4df6c6565b8d4a0aa504daa3be6
--- /dev/null
+++ b/images/prerendered/th/CONQ_Terra_Therma.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b4f4bcaf20c7e0c849aea2059f9866efdbbe41ef93cfba32ce31ab0b56ce8503
+size 166690
diff --git a/images/prerendered/th/CONQ_Viridian_Bog.png b/images/prerendered/th/CONQ_Viridian_Bog.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c52234754150a030c344c03b59d99763fd83661
--- /dev/null
+++ b/images/prerendered/th/CONQ_Viridian_Bog.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:607be3f687a1af1e287aae59ea175ebfaef2879d7269c8274aefd5a8038a05c1
+size 123024
diff --git a/images/prerendered/th/Firefly_alien_canyons_1.png b/images/prerendered/th/Firefly_alien_canyons_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..4351197e6db0e9287db7d0440a6b0c3960339880
--- /dev/null
+++ b/images/prerendered/th/Firefly_alien_canyons_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c94dc7666ccec1c1f4a22d8fcb782c65ecbf35e515d382fbcc8e8d029c5f20a2
+size 96639
diff --git a/images/prerendered/th/Firefly_alien_canyons_2.png b/images/prerendered/th/Firefly_alien_canyons_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..b8007ce56614bfa53687538e017dfb73a7a9354e
--- /dev/null
+++ b/images/prerendered/th/Firefly_alien_canyons_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c4da35c3f89481118f1b443d088f3244ebfc0d5cb471970363a8552f43e0a848
+size 112363
diff --git a/images/prerendered/th/Firefly_alien_dry_canyons_1.png b/images/prerendered/th/Firefly_alien_dry_canyons_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..d48a36684bf98e4e87ab2509dbc11ae1d7ba36c0
--- /dev/null
+++ b/images/prerendered/th/Firefly_alien_dry_canyons_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f6f8475316a7e7123ebf77dab2b2fe15828b16bf7e36abc8bc35780ac3f0c9b8
+size 106796
diff --git a/images/prerendered/th/Firefly_alien_dry_canyons_2.png b/images/prerendered/th/Firefly_alien_dry_canyons_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..9017eace383597999fbe910c2815585f06486bdf
--- /dev/null
+++ b/images/prerendered/th/Firefly_alien_dry_canyons_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:797a17c5742603c4f39bad730b8b72952a8a86df06640f86b71679280b25972c
+size 105722
diff --git a/images/prerendered/th/Firefly_alien_map_1.png b/images/prerendered/th/Firefly_alien_map_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..4bb0c8b478f84356d9555eb9d36104ff579ebe5c
--- /dev/null
+++ b/images/prerendered/th/Firefly_alien_map_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:caa33cbd52ed4a09e77db9179747896ef2736043e389a7fc7496c44a4c9b83e7
+size 107363
diff --git a/images/prerendered/th/Firefly_hpg_terrain_1.png b/images/prerendered/th/Firefly_hpg_terrain_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..97da8558fad7c9c937de7fe3bba508418fb124d7
--- /dev/null
+++ b/images/prerendered/th/Firefly_hpg_terrain_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e41cff8c35071e778908717a832dfe3cd90448fd1808cb9b38a7ef643bf7468b
+size 154732
diff --git a/images/prerendered/th/Firefly_hpg_terrain_2.png b/images/prerendered/th/Firefly_hpg_terrain_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..33525c9dfaea961ee7c303e8b54924be0e5737e4
--- /dev/null
+++ b/images/prerendered/th/Firefly_hpg_terrain_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4fa43efd23a7832bda93f27513067aa135604731e302c426a17314c2ff9b5274
+size 192481
diff --git a/images/prerendered/th/Firefly_river_dry_1.png b/images/prerendered/th/Firefly_river_dry_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..3ff48a91d64214cd3688cde3f6a26699776bcc1a
--- /dev/null
+++ b/images/prerendered/th/Firefly_river_dry_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f21c7ae2606ace8282c92d605be6236f848b5412306acbe9705951eec43eb8a3
+size 108643
diff --git a/images/prerendered/th/Firefly_river_running_1.png b/images/prerendered/th/Firefly_river_running_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6ba52ae4a4f33ed7f5371d426530334417961e2
--- /dev/null
+++ b/images/prerendered/th/Firefly_river_running_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9fc88b624d8e4e64db681a451a2c1a58cfa897fa2ace5eefd0d1e4696b5a219f
+size 111475
diff --git a/images/prerendered/th/Firefly_topographical_alien_desert_1.png b/images/prerendered/th/Firefly_topographical_alien_desert_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..88cb39f5ab2c2d15d71780a2fe93c65090c44b4c
--- /dev/null
+++ b/images/prerendered/th/Firefly_topographical_alien_desert_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b48f02ec205293756abab3965614f81187e68b4da2ee4c2a7b3a297551b9d58d
+size 110209
diff --git a/images/prerendered/th/Firefly_topographical_canyon_1.png b/images/prerendered/th/Firefly_topographical_canyon_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..c2a6b86bee2a7fce6661252c60b7c60265277e1d
--- /dev/null
+++ b/images/prerendered/th/Firefly_topographical_canyon_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:db29ea5f8b2baf7e7f8ff45cccd89b7ccbe910f00aa1f3bb042249af6e2fd550
+size 108723
diff --git a/images/prerendered/th/Firefly_topographical_height_map_1.png b/images/prerendered/th/Firefly_topographical_height_map_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..656104b9578b9986fee11e0e37d6c98255a78e9c
--- /dev/null
+++ b/images/prerendered/th/Firefly_topographical_height_map_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f4d2c1cfc081ad5716cb7784fd725da2914fa2ee9becde41ee30f34fa7cb5608
+size 88960
diff --git a/images/prerendered/th/Firefly_topographical_height_map_2.png b/images/prerendered/th/Firefly_topographical_height_map_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0101df090ae93564105cec0394a89780a43d0b6
--- /dev/null
+++ b/images/prerendered/th/Firefly_topographical_height_map_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:aff130572436a77be5acba5dbc5806bcb3d3c9584bd6e9b7708ddf61b1706c60
+size 92185
diff --git a/images/prerendered/th/Firefly_topographical_height_map_3.png b/images/prerendered/th/Firefly_topographical_height_map_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..616548db167ac6fb41c0bd4baed57af667db0ecd
--- /dev/null
+++ b/images/prerendered/th/Firefly_topographical_height_map_3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bc43d5069b2d192054410d0efba2189218be8b2745165627e86b55a454f0efd7
+size 90084
diff --git a/images/prerendered/th/Firefly_topographical_height_map_5.png b/images/prerendered/th/Firefly_topographical_height_map_5.png
new file mode 100644
index 0000000000000000000000000000000000000000..86bf457470d32e5026504db3055bcb7df42abdf1
--- /dev/null
+++ b/images/prerendered/th/Firefly_topographical_height_map_5.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:aee403bc7748ee32e29e0abf106fb3b52078be6cf9416e04a5f28cc38387d97d
+size 105756
diff --git a/images/prerendered/th/Firefly_topographical_height_map_6.png b/images/prerendered/th/Firefly_topographical_height_map_6.png
new file mode 100644
index 0000000000000000000000000000000000000000..22be963d329bfb0124d62785aca5f925618658b5
--- /dev/null
+++ b/images/prerendered/th/Firefly_topographical_height_map_6.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:949925ef7c688b05d25dd64559561755141a26cbf16cc2b8ae8c853c96c70e5d
+size 109647
diff --git a/images/prerendered/th/Firefly_topographical_marble_1.png b/images/prerendered/th/Firefly_topographical_marble_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..2171eccde7cd4e5dd67284b3be15961ddac54f95
--- /dev/null
+++ b/images/prerendered/th/Firefly_topographical_marble_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:88700c8ab316677c3d4201cadd05b80b425ab4ad8ee47364b8e04769fb54475e
+size 122931
diff --git a/images/prerendered/th/Firefly_topographical_moon_1.png b/images/prerendered/th/Firefly_topographical_moon_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..dead6e1eb97febb2e1d49cb94fd33db52199f260
--- /dev/null
+++ b/images/prerendered/th/Firefly_topographical_moon_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4709bd8290066c19ff0de550b752470667adc918431bfe1d4ee3f02f9b49c9a1
+size 108084
diff --git a/images/prerendered/th/Genison.png b/images/prerendered/th/Genison.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd7e1cff595c511cf0a6912120dc774d23eee6e9
--- /dev/null
+++ b/images/prerendered/th/Genison.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0a28bb5a6c27dd518ddfa8277d40b2c8897627c29f270123ed23cf1a2d46c427
+size 145189
diff --git a/images/prerendered/th/Hex_gen_map.PNG b/images/prerendered/th/Hex_gen_map.PNG
new file mode 100644
index 0000000000000000000000000000000000000000..ac79c95d0adca6eba3437fbad948495be91081e9
--- /dev/null
+++ b/images/prerendered/th/Hex_gen_map.PNG
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a03ada9951e5df9b7a8e3876d7ae080f1555624991f6b24eca575beb0e9eeecd
+size 132725
diff --git a/images/prerendered/th/alien_orb_land_1.png b/images/prerendered/th/alien_orb_land_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..534efdff0be6b8c5e052fc6d50ba268c53f5a31f
--- /dev/null
+++ b/images/prerendered/th/alien_orb_land_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:11275d5ad7b1161d282a68d526e2ee17e92db654365316d74bb4faf753b4a0ce
+size 193970
diff --git a/images/prerendered/th/alien_prarie_1.png b/images/prerendered/th/alien_prarie_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..49ca57fdf608ad65e32a7e57278d9856454ea01c
--- /dev/null
+++ b/images/prerendered/th/alien_prarie_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:92d8d24dccb39dcd87222c52a8adb51f59e8d074c980c982451e2a332ca1ff1d
+size 168129
diff --git a/images/prerendered/th/alien_world_1.png b/images/prerendered/th/alien_world_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..952d4d2e5309c9634fb9aee0d7ed9f4b1d0ee641
--- /dev/null
+++ b/images/prerendered/th/alien_world_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c6e9ee30989c9c215e895cb99283ba550c7422d1a7e96cd8bf0036c397671986
+size 101761
diff --git a/images/prerendered/th/alien_world_2.png b/images/prerendered/th/alien_world_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..dcb44b7ae193fe67d37b59a64fbfe09fb66694b9
--- /dev/null
+++ b/images/prerendered/th/alien_world_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b94d63dd6995c84bc9e6bb202ecb7148b73c1b08020930defd5a017502d9fc20
+size 109849
diff --git a/images/prerendered/th/alien_world_3.png b/images/prerendered/th/alien_world_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..b331ef13318a43b45225ee56e8a887db078de951
--- /dev/null
+++ b/images/prerendered/th/alien_world_3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:41e4e52e386554461a5e48edb1f0c6685785bb519dfead891176b537e5dc567a
+size 107951
diff --git a/images/prerendered/th/alien_world_4.png b/images/prerendered/th/alien_world_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6f8eb759e109dc34007fb2df0dca9bbeb49b02d
--- /dev/null
+++ b/images/prerendered/th/alien_world_4.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:95a7581538b0595c3c93c5d3bd394bbc9119729fc5dc9f034b80286ec961832a
+size 108966
diff --git a/images/prerendered/th/alien_world_5.png b/images/prerendered/th/alien_world_5.png
new file mode 100644
index 0000000000000000000000000000000000000000..a11d95c34bdbd6bfefaa0656f440ce2e659f4821
--- /dev/null
+++ b/images/prerendered/th/alien_world_5.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7ff81f048811ce4099c817b21412076604d4ded4fa8e9abf1d7daf2d7b62fc10
+size 108804
diff --git a/images/prerendered/th/canyon_water_1.png b/images/prerendered/th/canyon_water_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..097aac9bdc9fcc6028feb9f7c3aa9efc3ff68836
--- /dev/null
+++ b/images/prerendered/th/canyon_water_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ae8cee2ea821eba2b99760c005f94a92e549c5143f57c1d5434dd66d6b7c25a3
+size 190488
diff --git a/images/prerendered/th/cute3dkawaii.PNG b/images/prerendered/th/cute3dkawaii.PNG
new file mode 100644
index 0000000000000000000000000000000000000000..e85fdf4149f729d8ee769758553c49c0ae16f641
--- /dev/null
+++ b/images/prerendered/th/cute3dkawaii.PNG
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:57c63bf783093b57235047fde2d17789fd13d17487029823ff3fac7aa0a84b19
+size 102996
diff --git a/images/prerendered/th/dark_dirt_elevations_1.png b/images/prerendered/th/dark_dirt_elevations_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..de627eb104d65fb09dc46f824f25909d413d0bf0
--- /dev/null
+++ b/images/prerendered/th/dark_dirt_elevations_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:832b5a3b6efbf5a3d29e4e1818871f1c21ff4de7959454ba4e9a819bd5f7b990
+size 184770
diff --git a/images/prerendered/th/donald_park.png b/images/prerendered/th/donald_park.png
new file mode 100644
index 0000000000000000000000000000000000000000..13d02f14119dbebc1df69edc2583689214b95a2b
--- /dev/null
+++ b/images/prerendered/th/donald_park.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b4313dfdc2537b31fb2877cf783bb0b11f957bbd9be1a8da13b53680ba1a5084
+size 202229
diff --git a/images/prerendered/th/elevated_peninsula_1.png b/images/prerendered/th/elevated_peninsula_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..3bd3a7c759f95733aed7b45bf07b94528a9913f7
--- /dev/null
+++ b/images/prerendered/th/elevated_peninsula_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2560ef9d161e3fe7c8c3afdef95d33e82d517a2fe6606498e257c33ac5907de8
+size 130643
diff --git a/images/prerendered/th/fractal_islands.png b/images/prerendered/th/fractal_islands.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7b35c25ca37db99a2210d53efa6f16ce7ac17ab
--- /dev/null
+++ b/images/prerendered/th/fractal_islands.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:aa412eefde22496c2b067c1e6552870285ccfe5fcd26214120b5d85231d13e72
+size 143163
diff --git a/images/prerendered/th/green_farming_alien_world_1.png b/images/prerendered/th/green_farming_alien_world_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..f92137379d54bedf0729d38c557675aae6f47bbf
--- /dev/null
+++ b/images/prerendered/th/green_farming_alien_world_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:061f90226252e1836f903fdac6f440d5db74773d60ba383fa06c75ad7ad151c8
+size 108532
diff --git a/images/prerendered/th/green_farming_alien_world_2.png b/images/prerendered/th/green_farming_alien_world_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..017a7bb1570c34381e57005e6e9682e50b97b638
--- /dev/null
+++ b/images/prerendered/th/green_farming_alien_world_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8924f69c9e3d0254e5cecfe3ad7b70952b27f1fac4c0544ed13165f8d1d4c38f
+size 110304
diff --git a/images/prerendered/th/grey_barren_alien_world_1.png b/images/prerendered/th/grey_barren_alien_world_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..13eb3bd3d407264af2db3b09458e58ec0c6983c0
--- /dev/null
+++ b/images/prerendered/th/grey_barren_alien_world_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e26b2b25c14fdcc23b23048e70b442d435eba65776e41fae81565254e15dadcb
+size 105732
diff --git a/images/prerendered/th/grey_barren_alien_world_2.png b/images/prerendered/th/grey_barren_alien_world_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..4cf8b65a2c1283d005bb9c97b31fbe40e21116de
--- /dev/null
+++ b/images/prerendered/th/grey_barren_alien_world_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:528a1198c3230d00258fc76bdb891621f48121cc93ea8d4d9e0fed9d8e73ae71
+size 109245
diff --git a/images/prerendered/th/grey_barren_alien_world_3.png b/images/prerendered/th/grey_barren_alien_world_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..db9f5ff85969613aee101ee191c6f1cbaf7d21a4
--- /dev/null
+++ b/images/prerendered/th/grey_barren_alien_world_3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3f4be89dff3151db54a3109cdb206cd23073edc9581dd143f946a2832e9172e8
+size 103877
diff --git a/images/prerendered/th/grey_barren_alien_world_4.png b/images/prerendered/th/grey_barren_alien_world_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0f2b58255876fb28ec79e73acb4603ba690b495
--- /dev/null
+++ b/images/prerendered/th/grey_barren_alien_world_4.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ade1516c212d4fbbbe7b68e18e1dd2ce0124f41a8e100e55e819afc0cbf2374f
+size 104323
diff --git a/images/prerendered/th/grey_barren_alien_world_5.png b/images/prerendered/th/grey_barren_alien_world_5.png
new file mode 100644
index 0000000000000000000000000000000000000000..4ad6e6e543d0ef28e233d91d5c4162a13ef5e5ad
--- /dev/null
+++ b/images/prerendered/th/grey_barren_alien_world_5.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e6701c2d889cf3fbad882a33060a7c9f450bcce7ec5978578d0280b67f7d1bf7
+size 103363
diff --git a/images/prerendered/th/grey_barren_alien_world_6.png b/images/prerendered/th/grey_barren_alien_world_6.png
new file mode 100644
index 0000000000000000000000000000000000000000..86f813dacc4f741cdf5b8aa558f289affa161098
--- /dev/null
+++ b/images/prerendered/th/grey_barren_alien_world_6.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2e235dee195187c7c7566d0b2fb0e2f9e3838e3e7d5402333944d8432363ab9b
+size 106303
diff --git a/images/prerendered/th/grey_barren_alien_world_7.png b/images/prerendered/th/grey_barren_alien_world_7.png
new file mode 100644
index 0000000000000000000000000000000000000000..ec13c0f90066767c8dd9333d49fd1579cceb6143
--- /dev/null
+++ b/images/prerendered/th/grey_barren_alien_world_7.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ee2cdb49e34e04e6daef49be633121f8fb37362b2b062de47c9392ae22190948
+size 94768
diff --git a/images/prerendered/th/grey_waterless_alien_world_map.png b/images/prerendered/th/grey_waterless_alien_world_map.png
new file mode 100644
index 0000000000000000000000000000000000000000..c040cabfbd48939d31aabce4ce8d2ae6e02738fb
--- /dev/null
+++ b/images/prerendered/th/grey_waterless_alien_world_map.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:55830e8383a344722327c2ca7b589f662cb307e60d4dfe83ff8727cb744fc93a
+size 96242
diff --git a/images/prerendered/th/grid_1.png b/images/prerendered/th/grid_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..a9e4a7e8ee7112f5874a28436f2c90065f535e0c
--- /dev/null
+++ b/images/prerendered/th/grid_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e5c32e4e21bc3f37ec05fc614f8555f8f090815596e95c9e8c4ad44a2f76cd62
+size 48694
diff --git a/images/prerendered/th/hex_grass_dirty.png b/images/prerendered/th/hex_grass_dirty.png
new file mode 100644
index 0000000000000000000000000000000000000000..d0fd5b773e305e4b6c07d73facfe678959747ff0
--- /dev/null
+++ b/images/prerendered/th/hex_grass_dirty.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:894430d648b5146a31c5b86c9ca75a80fa91e1123376a2a45a9dd861984c19f1
+size 154887
diff --git a/images/prerendered/th/hex_military_industrial_alien_world_map.png b/images/prerendered/th/hex_military_industrial_alien_world_map.png
new file mode 100644
index 0000000000000000000000000000000000000000..b75a7a7654848f2a5b2c0673e2bdbc63e2cd8936
--- /dev/null
+++ b/images/prerendered/th/hex_military_industrial_alien_world_map.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ed890f94eab31307d7d954e0f3275f7e75bb69c4abbe60fb59af264d8471a31a
+size 106730
diff --git a/images/prerendered/th/hex_mixed_elevations_battlefield_1.png b/images/prerendered/th/hex_mixed_elevations_battlefield_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..de93e92ec88ca947a7ad41b9b64d194e025ce11c
--- /dev/null
+++ b/images/prerendered/th/hex_mixed_elevations_battlefield_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bc8db3e7680dd4697001e8380f345821ff541c762cd82eea61781696a926d817
+size 125872
diff --git a/images/prerendered/th/hex_mixed_elevations_battlefield_2.png b/images/prerendered/th/hex_mixed_elevations_battlefield_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..42ecd66c3e1ecd609ef1383bdd50e67140f92646
--- /dev/null
+++ b/images/prerendered/th/hex_mixed_elevations_battlefield_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2aa1314b387c957db07e2250dc4213e52a105c1b9d57a4e19dda0304af57cc7e
+size 128104
diff --git a/images/prerendered/th/hex_tree_territory.png b/images/prerendered/th/hex_tree_territory.png
new file mode 100644
index 0000000000000000000000000000000000000000..9da6f81f3739622b7a930fd526a854fdbd80a439
--- /dev/null
+++ b/images/prerendered/th/hex_tree_territory.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ae3a7cee7cfd23ea0a7840d8088278dafe6edf03f59dc2983ea5b16f3ddc66f6
+size 125295
diff --git a/images/prerendered/th/lake_city.png b/images/prerendered/th/lake_city.png
new file mode 100644
index 0000000000000000000000000000000000000000..fe91f05cd005e923cefd97b4e0e660d093d4e638
--- /dev/null
+++ b/images/prerendered/th/lake_city.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0c56e94949d642acbe91f4828e0260a1f28c666175f3045e6fc1c2b0405493ac
+size 131285
diff --git a/images/prerendered/th/mickey_lagoon.png b/images/prerendered/th/mickey_lagoon.png
new file mode 100644
index 0000000000000000000000000000000000000000..8b8fe047df236d291aca5723d3dd87d0ea9b06e3
--- /dev/null
+++ b/images/prerendered/th/mickey_lagoon.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:01e0b9774ad458cf51a70b4d3f047f9cebd04d81c60a992215a78bdef0fd07b3
+size 157052
diff --git a/images/prerendered/th/mixed_elevations_battlefield_3.png b/images/prerendered/th/mixed_elevations_battlefield_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..d28542def7651e2ae3b111cd6157e91a4b898599
--- /dev/null
+++ b/images/prerendered/th/mixed_elevations_battlefield_3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b7dd615aa6a651927816418d3597e892a14f907763690ddc7eac0bf9c3fbc3b8
+size 120120
diff --git a/images/prerendered/th/n6W9Hc.png b/images/prerendered/th/n6W9Hc.png
new file mode 100644
index 0000000000000000000000000000000000000000..52dd5acda918f8f6833c431017fe75719d50a2dd
--- /dev/null
+++ b/images/prerendered/th/n6W9Hc.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:504650fc778a30f9b0a8fd63e00a47c35b8302e4bc70edc0c4993bf3be55a4bf
+size 201488
diff --git a/images/prerendered/th/oasis_mixed_elevations_1.png b/images/prerendered/th/oasis_mixed_elevations_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..8cf06bad480fbb77007294104906e4a5936ea7c1
--- /dev/null
+++ b/images/prerendered/th/oasis_mixed_elevations_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f8307ad8b2b1a11a5774ad6af7366d30eac7dad5bfba1e50cf827bbd8c6a50a9
+size 119071
diff --git a/images/prerendered/th/pic526383.png b/images/prerendered/th/pic526383.png
new file mode 100644
index 0000000000000000000000000000000000000000..e035dff364ed9eb214ec0762b32d30ca54f0eb7b
--- /dev/null
+++ b/images/prerendered/th/pic526383.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f942bd8cdd76a76a0514862fcdcd1f62b284471340957ef59939c893c15cf8f4
+size 120164
diff --git a/images/prerendered/th/pinecone_islands.png b/images/prerendered/th/pinecone_islands.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb858a42d5ef0d0672ec28af39fbaa2b8cdb536f
--- /dev/null
+++ b/images/prerendered/th/pinecone_islands.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0819233f3c2552da337bd7ab3f2677c6aadc5c9ea1e61edf3673ac1f11dccdd0
+size 151682
diff --git a/images/prerendered/th/purple_pines.png b/images/prerendered/th/purple_pines.png
new file mode 100644
index 0000000000000000000000000000000000000000..b03f9c5ac421397a65d50333351bb9bb1e6d6938
--- /dev/null
+++ b/images/prerendered/th/purple_pines.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8d109d1575fb8436bc052f6f25b1fbcf9506f1ffc048b8f080f5b83cc4ffd97c
+size 136095
diff --git a/images/prerendered/th/red_volcanic_alien_1.png b/images/prerendered/th/red_volcanic_alien_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..3498c56f47d3ab25f2772554ae3ca25e0c3b6f43
--- /dev/null
+++ b/images/prerendered/th/red_volcanic_alien_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:822649e14145ce025b6fed8a41857de1579c0cdf5b22a825bc257ad5a0bddc10
+size 114139
diff --git a/images/prerendered/th/red_volcanic_alien_2.png b/images/prerendered/th/red_volcanic_alien_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..690cee299ee9dd6ce31111b8e717d1998f1db41e
--- /dev/null
+++ b/images/prerendered/th/red_volcanic_alien_2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:03f52a6b0cc22ae9b047ec787de5a3423d2ddf63442633626b90fa04cf70a7c6
+size 104276
diff --git a/images/prerendered/th/red_volcanic_alien_3.png b/images/prerendered/th/red_volcanic_alien_3.png
new file mode 100644
index 0000000000000000000000000000000000000000..8a112227502a0d80521b5e02353335a4f724ffc0
--- /dev/null
+++ b/images/prerendered/th/red_volcanic_alien_3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bccad2827960995603e9a6dec102b9b8baba669776bb106a8b707789729e4d21
+size 108435
diff --git a/images/prerendered/th/red_volcanic_alien_4.png b/images/prerendered/th/red_volcanic_alien_4.png
new file mode 100644
index 0000000000000000000000000000000000000000..07dc1ec2dfcd5ef01a7aba5069d5f103f5ce9d5f
--- /dev/null
+++ b/images/prerendered/th/red_volcanic_alien_4.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fc333731cf65d2768c5f3f84d0138c1e61bea0a014bdc81735c5ecb2f6a41b62
+size 106536
diff --git a/images/prerendered/th/roadway_1.png b/images/prerendered/th/roadway_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..3c0f93dab22e1e533c5c31f1660d0f0efdc66fc7
--- /dev/null
+++ b/images/prerendered/th/roadway_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0ba782e38662d2730d959bc43498cdbb27c2f23277298ea3d645301ecf1b65fa
+size 114955
diff --git a/images/prerendered/th/snowy_lake.png b/images/prerendered/th/snowy_lake.png
new file mode 100644
index 0000000000000000000000000000000000000000..79ae42f88cf67fa35352ab81b6fed64057d9b49c
--- /dev/null
+++ b/images/prerendered/th/snowy_lake.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:351c9ce4faf0445efa4b1a76a5b3f857d3239e892cbd2ad6885a4d7cac2c483f
+size 141638
diff --git a/images/prerendered/th/snowy_rolling_hills_1.png b/images/prerendered/th/snowy_rolling_hills_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..c5944b614e1e524857ad92a4a538d5deea95be6c
--- /dev/null
+++ b/images/prerendered/th/snowy_rolling_hills_1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c504936e4cc3d153a5aa2cc9a82567c51e629a17b9d902b1b7454c00732e0c13
+size 175295
diff --git a/images/prerendered/th/volcanic_alien_world_map.png b/images/prerendered/th/volcanic_alien_world_map.png
new file mode 100644
index 0000000000000000000000000000000000000000..9b4207061366ea6cea0f35049cf8279dacb8ceec
--- /dev/null
+++ b/images/prerendered/th/volcanic_alien_world_map.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:07b5a8edf1ac80371c404efefe19b9758271fd48b9b54359e0cbc735a1161149
+size 113455
diff --git a/images/prerendered/th/war_torn_post_apocalyptic_alien_world_map.png b/images/prerendered/th/war_torn_post_apocalyptic_alien_world_map.png
new file mode 100644
index 0000000000000000000000000000000000000000..d7a4cd7ed50c8ee90640c2203ffacfd5aaa02ded
--- /dev/null
+++ b/images/prerendered/th/war_torn_post_apocalyptic_alien_world_map.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a4e4eb9121336cf75ee8519d4d4b3988a91695ae0fe6be45b46f1b28734bf58c
+size 106012
diff --git a/utils/constants.py b/utils/constants.py
index 1366d08d39af50c44c738fda8e584fb88fc187f9..a82c50bca3cf72803be945e66f9f9c8bed391b58 100644
--- a/utils/constants.py
+++ b/utils/constants.py
@@ -7,21 +7,21 @@ from dotenv import load_dotenv
 import numpy as np
 
 #Set the environment variables
-os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "max_split_size_mb:256,expandable_segments:True"
-os.environ['TF_ENABLE_ONEDNN_OPTS'] = '0'
+#os.environ["PYTORCH_CUDA_ALLOC_CONF"] = "max_split_size_mb:256,expandable_segments:True"
+#os.environ['TF_ENABLE_ONEDNN_OPTS'] = '0'
 #os.environ["TF_CPP_MIN_LOG_LEVEL"] = '2'
-os.environ['CUDA_MODULE_LOADING']='LAZY'
-os.environ['USE_FLASH_ATTENTION'] = '1'
-os.environ['XFORMERS_FORCE_DISABLE_TRITON']= '1'
+#os.environ['CUDA_MODULE_LOADING']='LAZY'
+#os.environ['USE_FLASH_ATTENTION'] = '1'
+#os.environ['XFORMERS_FORCE_DISABLE_TRITON']= '1'
 #os.environ['XFORMERS_FORCE_DISABLE_TORCHSCRIPT']= '1'
 #os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
-os.environ["PYTORCH_NVML_BASED_CUDA_CHECK"] = "1"
-os.environ["CUDA_VISIBLE_DEVICES"] = "0"
-os.environ["NVIDIA_VISIBLE_DEVICES"] = "0"
-os.environ["ZEROGPU_VERSION"] = "2"
-os.environ["ZEROGPU_V2"] = "true"
-os.environ["ZERO_GPU_V2"] = "true"
-os.environ["ZERO_GPU_PATCH_TORCH_DEVICE"]='1'
+#os.environ["PYTORCH_NVML_BASED_CUDA_CHECK"] = "1"
+#os.environ["CUDA_VISIBLE_DEVICES"] = "0"
+#os.environ["NVIDIA_VISIBLE_DEVICES"] = "0"
+#os.environ["ZEROGPU_VERSION"] = "2"
+#os.environ["ZEROGPU_V2"] = "true"
+#os.environ["ZERO_GPU_V2"] = "true"
+#os.environ["ZERO_GPU_PATCH_TORCH_DEVICE"]='1'
 
 IS_SHARED_SPACE = "Surn/HexaGrid" in os.environ.get('SPACE_ID', '')
 
@@ -29,6 +29,26 @@ IS_SHARED_SPACE = "Surn/HexaGrid" in os.environ.get('SPACE_ID', '')
 dotenv_path = Path(__file__).parent.parent / '.env'
 load_dotenv(dotenv_path)
 
+# Function to load env vars from .env and create Python variables
+def load_env_vars(env_path):
+    try:
+        with open(env_path, 'r') as file:
+            for line in file:
+                # Skip empty lines or comments
+                line = line.strip()
+                if line and not line.startswith('#'):
+                    # Split on the first '=' only
+                    if '=' in line:
+                        key, value = line.split('=', 1)
+                        key = key.strip()
+                        value = value.strip()
+                        # Dynamically create a Python variable with the key name
+                        globals()[key] = value
+                        # Also update os.environ (optional, for consistency)
+                        os.environ[key] = value
+    except FileNotFoundError:
+        print(f"Warning: .env file not found at {env_path}")
+
 # Set the temporary folder location
 #os.environ['TEMP'] = r'e:\\TMP'
 #os.environ['TMPDIR'] = r'e:\\TMP'
@@ -41,12 +61,15 @@ if not HF_API_TOKEN:
 default_lut_example_img = "./LUT/daisy.jpg"
 MAX_SEED = np.iinfo(np.int32).max
 TARGET_SIZE = (2688,1536)
+#TMPDIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'tmp')
+#os.makedirs(TMP_DIR, exist_ok=True)
+
 
 PROMPTS = {
-    "BorderBlack": "Top-down view of a hexagon-based alien map with black borders. Features rivers, mountains, volcanoes, and snow at top and bottom. Colors: light blue, green, tan, brown. No reflections or shadows. Partial hexes on edges are black.",
-    "Earth": "Top-down view of a world map with rivers, mountains, volcanoes, and snow at top and bottom. Colors: light blue, green, tan, brown. No reflections or shadows. Partial edge hexes are black. Overhead view.",
-    "Beeuty": "Top-down view of a table map with honeycomb_shapes, lakes, dense forests, magical flora, and hex_grids. Map for tabletop gaming with clarity and strategic elements. Colors: yellow, green, purple, brown. Partial hexes on edges are black.",
-    "Scifi City": "Top-down view of a futuristic urban battlefield map with lakes, forests, ruined buildings, and city streets. Emphasizes clarity and strategy for tabletop games. Colors: teal, dark green, violet, brown. Partial edge hexes are black. Viewed from above.",
+    "BorderBlack": "Top-down view, from above. of a hexagon-based alien map with black borders. Features rivers, mountains, volcanoes, and snow at top and bottom. Colors: light blue, green, tan, brown. No reflections or shadows. Partial hexes on edges are black.",
+    "Earth": "Top-down view of a world map with rivers, mountains, volcanoes, and snow at top and bottom. Colors: light blue, green, tan, brown. No reflections or shadows. Partial edge hexes are black. from above.",
+    "Beeuty": "Top-down view of a table map with honeycomb_shapes, lakes, dense forests, magical flora, and hex_grids. Map for tabletop gaming with clarity and strategic elements. Colors: yellow, green, purple, brown. Partial hexes on edges are black. Viewed from above.",
+    "Scifi City": "Top-down view of a futuristic urban_battlefield_map with lakes, forests, ruined_buildings, and city streets. Emphasizes clarity and strategy for tabletop games. Colors: teal, dark green, violet, brown. Partial edge hexes are black. Viewed from above.",
     "Alien Landscape": "Top-down view of a barren alien world map made from hexagon pieces. Features light blue rivers, brown mountains, red volcanoes, and white snow at top and bottom. Colors: light blue, green, tan, brown. Partial hexes on edges are black.",
     "Alien World": "Top-down view of an alien world map built from hexagon pieces. Includes rivers, mountains, volcanoes, and snowy areas. Colors: light blue, green, tan, brown. Partial edge hexes are black. Overhead view.",
     "Mystic Forest": "Top-down view of a mystic forest map with lakes, dense forests, magical flora, and hex grids. Designed for clarity in tabletop gaming. Colors: light blue, green, purple, brown. Partial hexes on edges are black.",
@@ -56,9 +79,9 @@ PROMPTS = {
 
 NEGATIVE_PROMPTS = {
     "BorderBlack": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, realistic map of the Earth, isometric",
-    "Earth": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, isometric",
-    "Map3": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, realistic map of the Earth, isometric",
-    "Map4": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, realistic map of the Earth, isometric",
+    "Earth": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, missing map of the Earth, isometric",
+    "Beeuty": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, map of the Earth, isometric",
+    "Scifi City": "humans, missing_buildings, vehicles, text, logos, reflections, shadows, Earth, isometric",
     "Alien Landscape": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, realistic map of the Earth, isometric",
     "Alien World": "Earth, humans, modern_buildings, vehicles, text, logos, reflections, shadows, realistic map of the Earth, isometric",
     "Mystic Forest": "humans, modern_buildings, vehicles, text, logos, reflections, shadows, realistic map of the Earth, isometric",
@@ -69,22 +92,107 @@ NEGATIVE_PROMPTS = {
 # Directory containing the pre-rendered hexagon maps
 PRERENDER_DIR = "images/prerendered"
 
-# List of pre-rendered hexagon map files
-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']
+# # List of pre-rendered hexagon map files
+# 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']
 
-# Create full paths for pre-rendered maps
-pre_rendered_maps_paths = [os.path.join(PRERENDER_DIR, map_file).replace("\\", "/") for map_file in PRE_RENDERED_MAPS]
-pre_rendered_maps_paths_api_file = [f"./gradio_api/file={map_path}" for map_path in pre_rendered_maps_paths]
+# # Create full paths for pre-rendered maps
+# pre_rendered_maps_paths = [os.path.join(PRERENDER_DIR, map_file).replace("\\", "/") for map_file in PRE_RENDERED_MAPS]
+# pre_rendered_maps_paths_api_file = [f"./gradio_api/file={map_path}" for map_path in pre_rendered_maps_paths]
 
 # Generate a dictionary with cleaned-up names as keys and file paths as values
-PRE_RENDERED_MAPS_JSON = {
-    os.path.splitext(file.replace("_", " ").replace("-", " ").replace("  ", " ").strip())[0]: os.path.join(PRERENDER_DIR, file)
-    for file in PRE_RENDERED_MAPS
-}
-PRE_RENDERED_MAPS_JSON
-{'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'}
+#PRE_RENDERED_MAPS_JSON = {
+#    os.path.splitext(file.replace("_", " ").replace("-", " ").replace("  ", " ").strip())[0]: os.path.join(PRERENDER_DIR, file)
+#    for file in PRE_RENDERED_MAPS
+#}
+#PRE_RENDERED_MAPS_JSON
+#{'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'}
 ##PRE_RENDERED_MAPS_JSON = {    key: {        'file': value,        'quality': 0    }    for key, value in PRE_RENDERED_MAPS_JSON.items()}
-PRE_RENDERED_MAPS_JSON_LEVELS = {'alien orb land 1': {'file': 'images/prerendered/alien_orb_land_1.png', 'quality': 0}, 'alien prarie 1': {'file': 'images/prerendered/alien_prarie_1.png', 'quality': 0}, 'alien world 1': {'file': 'images/prerendered/alien_world_1.png', 'quality': 0}, 'alien world 2': {'file': 'images/prerendered/alien_world_2.png', 'quality': 0}, 'alien world 3': {'file': 'images/prerendered/alien_world_3.png', 'quality': 0}, 'alien world 4': {'file': 'images/prerendered/alien_world_4.png', 'quality': 0}, 'alien world 5': {'file': 'images/prerendered/alien_world_5.png', 'quality': 0}, 'BurntCity': {'file': 'images/prerendered/BurntCity.png', 'quality': 0}, 'canyon water 1': {'file': 'images/prerendered/canyon_water_1.png', 'quality': 0}, 'CONQ Caustic Valley': {'file': 'images/prerendered/CONQ_Caustic_Valley.png', 'quality': 0}, 'CONQ Frozen City': {'file': 'images/prerendered/CONQ_Frozen_City.png', 'quality': 0}, 'CONQ Hellebore Springs': {'file': 'images/prerendered/CONQ_Hellebore_Springs.png', 'quality': 0}, 'CONQ Terra Therma': {'file': 'images/prerendered/CONQ_Terra_Therma.png', 'quality': 0}, 'CONQ Viridian Bog': {'file': 'images/prerendered/CONQ_Viridian_Bog.png', 'quality': 0}, 'cute3dkawaii': {'file': 'images/prerendered/cute3dkawaii.png', 'quality': 0}, 'dark dirt elevations 1': {'file': 'images/prerendered/dark_dirt_elevations_1.png', 'quality': 0}, 'donald park': {'file': 'images/prerendered/donald_park.png', 'quality': 0}, 'elevated peninsula 1': {'file': 'images/prerendered/elevated_peninsula_1.png', 'quality': 0}, 'Firefly alien canyons 1': {'file': 'images/prerendered/Firefly_alien_canyons_1.png', 'quality': 0}, 'Firefly alien canyons 2': {'file': 'images/prerendered/Firefly_alien_canyons_2.png', 'quality': 0}, 'Firefly alien dry canyons 1': {'file': 'images/prerendered/Firefly_alien_dry_canyons_1.png', 'quality': 0}, 'Firefly alien dry canyons 2': {'file': 'images/prerendered/Firefly_alien_dry_canyons_2.png', 'quality': 0}, 'Firefly alien map 1': {'file': 'images/prerendered/Firefly_alien_map_1.png', 'quality': 0}, 'Firefly hpg terrain 1': {'file': 'images/prerendered/Firefly_hpg_terrain_1.png', 'quality': 0}, 'Firefly hpg terrain 2': {'file': 'images/prerendered/Firefly_hpg_terrain_2.png', 'quality': 0}, 'Firefly river dry 1': {'file': 'images/prerendered/Firefly_river_dry_1.png', 'quality': 0}, 'Firefly river running 1': {'file': 'images/prerendered/Firefly_river_running_1.png', 'quality': 0}, 'Firefly topographical alien desert 1': {'file': 'images/prerendered/Firefly_topographical_alien_desert_1.png', 'quality': 0}, 'Firefly topographical canyon 1': {'file': 'images/prerendered/Firefly_topographical_canyon_1.png', 'quality': 0}, 'Firefly topographical height map 1': {'file': 'images/prerendered/Firefly_topographical_height_map_1.png', 'quality': 0}, 'Firefly topographical height map 2': {'file': 'images/prerendered/Firefly_topographical_height_map_2.png', 'quality': 0}, 'Firefly topographical height map 3': {'file': 'images/prerendered/Firefly_topographical_height_map_3.png', 'quality': 0}, 'Firefly topographical height map 5': {'file': 'images/prerendered/Firefly_topographical_height_map_5.png', 'quality': 0}, 'Firefly topographical height map 6': {'file': 'images/prerendered/Firefly_topographical_height_map_6.png', 'quality': 0}, 'Firefly topographical marble 1': {'file': 'images/prerendered/Firefly_topographical_marble_1.png', 'quality': 0}, 'Firefly topographical moon 1': {'file': 'images/prerendered/Firefly_topographical_moon_1.png', 'quality': 0}, 'fractal islands': {'file': 'images/prerendered/fractal_islands.png', 'quality': 0}, 'Genison': {'file': 'images/prerendered/Genison.png', 'quality': 0}, 'green farming alien world 1': {'file': 'images/prerendered/green_farming_alien_world_1.png', 'quality': 0}, 'green farming alien world 2': {'file': 'images/prerendered/green_farming_alien_world_2.png', 'quality': 0}, 'grey barren alien world 1': {'file': 'images/prerendered/grey_barren_alien_world_1.png', 'quality': 0}, 'grey barren alien world 2': {'file': 'images/prerendered/grey_barren_alien_world_2.png', 'quality': 0}, 'grey barren alien world 3': {'file': 'images/prerendered/grey_barren_alien_world_3.png', 'quality': 0}, 'grey barren alien world 4': {'file': 'images/prerendered/grey_barren_alien_world_4.png', 'quality': 0}, 'grey barren alien world 5': {'file': 'images/prerendered/grey_barren_alien_world_5.png', 'quality': 0}, 'grey barren alien world 6': {'file': 'images/prerendered/grey_barren_alien_world_6.png', 'quality': 0}, 'grey barren alien world 7': {'file': 'images/prerendered/grey_barren_alien_world_7.png', 'quality': 0}, 'grey waterless alien world map': {'file': 'images/prerendered/grey_waterless_alien_world_map.png', 'quality': 0}, 'grid 1': {'file': 'images/prerendered/grid_1.png', 'quality': 0}, 'Hex gen map': {'file': 'images/prerendered/Hex_gen_map.png', 'quality': 0}, 'hex grass dirty': {'file': 'images/prerendered/hex_grass_dirty.png', 'quality': 0}, 'hex military industrial alien world map': {'file': 'images/prerendered/hex_military_industrial_alien_world_map.png', 'quality': 0}, 'hex mixed elevations battlefield 1': {'file': 'images/prerendered/hex_mixed_elevations_battlefield_1.png', 'quality': 0}, 'hex mixed elevations battlefield 2': {'file': 'images/prerendered/hex_mixed_elevations_battlefield_2.png', 'quality': 0}, 'hex tree territory': {'file': 'images/prerendered/hex_tree_territory.png', 'quality': 0}, 'lake city': {'file': 'images/prerendered/lake_city.png', 'quality': 0}, 'mickey lagoon': {'file': 'images/prerendered/mickey_lagoon.png', 'quality': 0}, 'mixed elevations battlefield 3': {'file': 'images/prerendered/mixed_elevations_battlefield_3.png', 'quality': 0}, 'n6W9Hc': {'file': 'images/prerendered/n6W9Hc.png', 'quality': 0}, 'oasis mixed elevations 1': {'file': 'images/prerendered/oasis_mixed_elevations_1.png', 'quality': 0}, 'pic526383': {'file': 'images/prerendered/pic526383.png', 'quality': 0}, 'pinecone islands': {'file': 'images/prerendered/pinecone_islands.png', 'quality': 0}, 'purple pines': {'file': 'images/prerendered/purple_pines.png', 'quality': 0}, 'red volcanic alien 1': {'file': 'images/prerendered/red_volcanic_alien_1.png', 'quality': 0}, 'red volcanic alien 2': {'file': 'images/prerendered/red_volcanic_alien_2.png', 'quality': 0}, 'red volcanic alien 3': {'file': 'images/prerendered/red_volcanic_alien_3.png', 'quality': 0}, 'red volcanic alien 4': {'file': 'images/prerendered/red_volcanic_alien_4.png', 'quality': 0}, 'roadway 1': {'file': 'images/prerendered/roadway_1.png', 'quality': 0}, 'snowy lake': {'file': 'images/prerendered/snowy_lake.png', 'quality': 0}, 'snowy rolling hills 1': {'file': 'images/prerendered/snowy_rolling_hills_1.png', 'quality': 0}, 'volcanic alien world map': {'file': 'images/prerendered/volcanic_alien_world_map.png', 'quality': 0}, 'war torn post apocalyptic alien world map': {'file': 'images/prerendered/war_torn_post_apocalyptic_alien_world_map.png', 'quality': 0}}
+PRE_RENDERED_MAPS_JSON_LEVELS = {
+    'alien orb land 1': {'file': 'images/prerendered/alien_orb_land_1.png', 'thumbnail': 'images/prerendered/th/alien_orb_land_1.png', 'quality': 0},
+    'alien prarie 1': {'file': 'images/prerendered/alien_prarie_1.png', 'thumbnail': 'images/prerendered/th/alien_prarie_1.png', 'quality': 0},
+    'alien world 1': {'file': 'images/prerendered/alien_world_1.png', 'thumbnail': 'images/prerendered/th/alien_world_1.png', 'quality': 3},
+    'alien world 2': {'file': 'images/prerendered/alien_world_2.png', 'thumbnail': 'images/prerendered/th/alien_world_2.png', 'quality': 3},
+    'alien world 3': {'file': 'images/prerendered/alien_world_3.png', 'thumbnail': 'images/prerendered/th/alien_world_3.png', 'quality': 3},
+    'alien world 4': {'file': 'images/prerendered/alien_world_4.png', 'thumbnail': 'images/prerendered/th/alien_world_4.png', 'quality': 3},
+    'alien world 5': {'file': 'images/prerendered/alien_world_5.png', 'thumbnail': 'images/prerendered/th/alien_world_5.png', 'quality': 3},
+    'BurntCity': {'file': 'images/prerendered/BurntCity.png', 'thumbnail': 'images/prerendered/th/BurntCity.png', 'quality': 2},
+    'canyon water 1': {'file': 'images/prerendered/canyon_water_1.png', 'thumbnail': 'images/prerendered/th/canyon_water_1.png', 'quality': 0},
+    'CONQ Caustic Valley': {'file': 'images/prerendered/CONQ_Caustic_Valley.png', 'thumbnail': 'images/prerendered/th/CONQ_Caustic_Valley.png', 'quality': 2},
+    'CONQ Frozen City': {'file': 'images/prerendered/CONQ_Frozen_City.png', 'thumbnail': 'images/prerendered/th/CONQ_Frozen_City.png', 'quality': 1},
+    'CONQ Hellebore Springs': {'file': 'images/prerendered/CONQ_Hellebore_Springs.png', 'thumbnail': 'images/prerendered/th/CONQ_Hellebore_Springs.png', 'quality': 2},
+    'CONQ Terra Therma': {'file': 'images/prerendered/CONQ_Terra_Therma.png', 'thumbnail': 'images/prerendered/th/CONQ_Terra_Therma.png', 'quality': 1},
+    'CONQ Viridian Bog': {'file': 'images/prerendered/CONQ_Viridian_Bog.png', 'thumbnail': 'images/prerendered/th/CONQ_Viridian_Bog.png', 'quality': 1},
+    'cute3dkawaii': {'file': 'images/prerendered/cute3dkawaii.PNG', 'thumbnail': 'images/prerendered/th/cute3dkawaii.PNG', 'quality': 0},
+    'dark dirt elevations 1': {'file': 'images/prerendered/dark_dirt_elevations_1.png', 'thumbnail': 'images/prerendered/th/dark_dirt_elevations_1.png', 'quality': 0},
+    'donald park': {'file': 'images/prerendered/donald_park.png', 'thumbnail': 'images/prerendered/th/donald_park.png', 'quality': 0},
+    'elevated peninsula 1': {'file': 'images/prerendered/elevated_peninsula_1.png', 'thumbnail': 'images/prerendered/th/elevated_peninsula_1.png', 'quality': 0},
+    'Firefly alien canyons 1': {'file': 'images/prerendered/Firefly_alien_canyons_1.png', 'thumbnail': 'images/prerendered/th/Firefly_alien_canyons_1.png', 'quality': 2},
+    'Firefly alien canyons 2': {'file': 'images/prerendered/Firefly_alien_canyons_2.png', 'thumbnail': 'images/prerendered/th/Firefly_alien_canyons_2.png', 'quality': 3},
+    'Firefly alien dry canyons 1': {'file': 'images/prerendered/Firefly_alien_dry_canyons_1.png', 'thumbnail': 'images/prerendered/th/Firefly_alien_dry_canyons_1.png', 'quality': 3},
+    'Firefly alien dry canyons 2': {'file': 'images/prerendered/Firefly_alien_dry_canyons_2.png', 'thumbnail': 'images/prerendered/th/Firefly_alien_dry_canyons_2.png', 'quality': 3},
+    'Firefly alien map 1': {'file': 'images/prerendered/Firefly_alien_map_1.png', 'thumbnail': 'images/prerendered/th/Firefly_alien_map_1.png', 'quality': 3},
+    'Firefly hpg terrain 1': {'file': 'images/prerendered/Firefly_hpg_terrain_1.png', 'thumbnail': 'images/prerendered/th/Firefly_hpg_terrain_1.png', 'quality': 1},
+    'Firefly hpg terrain 2': {'file': 'images/prerendered/Firefly_hpg_terrain_2.png', 'thumbnail': 'images/prerendered/th/Firefly_hpg_terrain_2.png', 'quality': 0},
+    'Firefly river dry 1': {'file': 'images/prerendered/Firefly_river_dry_1.png', 'thumbnail': 'images/prerendered/th/Firefly_river_dry_1.png', 'quality': 3},
+    'Firefly river running 1': {'file': 'images/prerendered/Firefly_river_running_1.png', 'thumbnail': 'images/prerendered/th/Firefly_river_running_1.png', 'quality': 3},
+    'Firefly topographical alien desert 1': {'file': 'images/prerendered/Firefly_topographical_alien_desert_1.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_alien_desert_1.png', 'quality': 3},
+    'Firefly topographical canyon 1': {'file': 'images/prerendered/Firefly_topographical_canyon_1.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_canyon_1.png', 'quality': 3},
+    'Firefly topographical height map 1': {'file': 'images/prerendered/Firefly_topographical_height_map_1.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_height_map_1.png', 'quality': 3},
+    'Firefly topographical height map 2': {'file': 'images/prerendered/Firefly_topographical_height_map_2.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_height_map_2.png', 'quality': 3},
+    'Firefly topographical height map 3': {'file': 'images/prerendered/Firefly_topographical_height_map_3.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_height_map_3.png', 'quality': 3},
+    'Firefly topographical height map 5': {'file': 'images/prerendered/Firefly_topographical_height_map_5.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_height_map_5.png', 'quality': 3},
+    'Firefly topographical height map 6': {'file': 'images/prerendered/Firefly_topographical_height_map_6.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_height_map_6.png', 'quality': 3},
+    'Firefly topographical marble 1': {'file': 'images/prerendered/Firefly_topographical_marble_1.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_marble_1.png', 'quality': 3},
+    'Firefly topographical moon 1': {'file': 'images/prerendered/Firefly_topographical_moon_1.png', 'thumbnail': 'images/prerendered/th/Firefly_topographical_moon_1.png', 'quality': 3},
+    'fractal islands': {'file': 'images/prerendered/fractal_islands.png', 'thumbnail': 'images/prerendered/th/fractal_islands.png', 'quality': 1},
+    'Genison': {'file': 'images/prerendered/Genison.png', 'thumbnail': 'images/prerendered/th/Genison.png', 'quality': 1},
+    'green farming alien world 1': {'file': 'images/prerendered/green_farming_alien_world_1.png', 'thumbnail': 'images/prerendered/th/green_farming_alien_world_1.png', 'quality': 3},
+    'green farming alien world 2': {'file': 'images/prerendered/green_farming_alien_world_2.png', 'thumbnail': 'images/prerendered/th/green_farming_alien_world_2.png', 'quality': 3},
+    'grey barren alien world 1': {'file': 'images/prerendered/grey_barren_alien_world_1.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_1.png', 'quality': 3},
+    'grey barren alien world 2': {'file': 'images/prerendered/grey_barren_alien_world_2.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_2.png', 'quality': 3},
+    'grey barren alien world 3': {'file': 'images/prerendered/grey_barren_alien_world_3.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_3.png', 'quality': 3},
+    'grey barren alien world 4': {'file': 'images/prerendered/grey_barren_alien_world_4.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_4.png', 'quality': 3},
+    'grey barren alien world 5': {'file': 'images/prerendered/grey_barren_alien_world_5.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_5.png', 'quality': 3},
+    'grey barren alien world 6': {'file': 'images/prerendered/grey_barren_alien_world_6.png', 'thumbnail': 'images/prerendered/th/grey_barren_alien_world_6.png', 'quality': 3},
+    '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},
+    '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},
+    'grid 1': {'file': 'images/prerendered/grid_1.png', 'thumbnail': 'images/prerendered/th/grid_1.png', 'quality': 0},
+    'Hex gen map': {'file': 'images/prerendered/Hex_gen_map.PNG', 'thumbnail': 'images/prerendered/th/Hex_gen_map.PNG', 'quality': 0},
+    'hex grass dirty': {'file': 'images/prerendered/hex_grass_dirty.png', 'thumbnail': 'images/prerendered/th/hex_grass_dirty.png', 'quality': 0},
+    '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},
+    '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},
+    'hex mixed elevations battlefield 2': {'file': 'images/prerendered/hex_mixed_elevations_battlefield_2.png', 'thumbnail': 'images/prerendered/th/hex_mixed_elevations_battlefield_2.png', 'quality': 0},
+    'hex tree territory': {'file': 'images/prerendered/hex_tree_territory.png', 'thumbnail': 'images/prerendered/th/hex_tree_territory.png', 'quality': 3},
+    'lake city': {'file': 'images/prerendered/lake_city.png', 'thumbnail': 'images/prerendered/th/lake_city.png', 'quality': 2},
+    'mickey lagoon': {'file': 'images/prerendered/mickey_lagoon.png', 'thumbnail': 'images/prerendered/th/mickey_lagoon.png', 'quality': 1},
+    'mixed elevations battlefield 3': {'file': 'images/prerendered/mixed_elevations_battlefield_3.png', 'thumbnail': 'images/prerendered/th/mixed_elevations_battlefield_3.png', 'quality': 0},
+    'n6W9Hc': {'file': 'images/prerendered/n6W9Hc.png', 'thumbnail': 'images/prerendered/th/n6W9Hc.png', 'quality': 1},
+    'oasis mixed elevations 1': {'file': 'images/prerendered/oasis_mixed_elevations_1.png', 'thumbnail': 'images/prerendered/th/oasis_mixed_elevations_1.png', 'quality': 0},
+    'pic526383': {'file': 'images/prerendered/pic526383.png', 'thumbnail': 'images/prerendered/th/pic526383.png', 'quality': 0},
+    'pinecone islands': {'file': 'images/prerendered/pinecone_islands.png', 'thumbnail': 'images/prerendered/th/pinecone_islands.png', 'quality': 1},
+    'purple pines': {'file': 'images/prerendered/purple_pines.png', 'thumbnail': 'images/prerendered/th/purple_pines.png', 'quality': 0},
+    'red volcanic alien 1': {'file': 'images/prerendered/red_volcanic_alien_1.png', 'thumbnail': 'images/prerendered/th/red_volcanic_alien_1.png', 'quality': 3},
+    'red volcanic alien 2': {'file': 'images/prerendered/red_volcanic_alien_2.png', 'thumbnail': 'images/prerendered/th/red_volcanic_alien_2.png', 'quality': 3},
+    'red volcanic alien 3': {'file': 'images/prerendered/red_volcanic_alien_3.png', 'thumbnail': 'images/prerendered/th/red_volcanic_alien_3.png', 'quality': 3},
+    'red volcanic alien 4': {'file': 'images/prerendered/red_volcanic_alien_4.png', 'thumbnail': 'images/prerendered/th/red_volcanic_alien_4.png', 'quality': 3},
+    'roadway 1': {'file': 'images/prerendered/roadway_1.png', 'thumbnail': 'images/prerendered/th/roadway_1.png', 'quality': 0},
+    'snowy lake': {'file': 'images/prerendered/snowy_lake.png', 'thumbnail': 'images/prerendered/th/snowy_lake.png', 'quality': 0},
+    'snowy rolling hills 1': {'file': 'images/prerendered/snowy_rolling_hills_1.png', 'thumbnail': 'images/prerendered/th/snowy_rolling_hills_1.png', 'quality': 0},
+    'volcanic alien world map': {'file': 'images/prerendered/volcanic_alien_world_map.png', 'thumbnail': 'images/prerendered/th/volcanic_alien_world_map.png', 'quality': 3},
+    'war torn post apocalyptic alien world map': {'file': 'images/prerendered/war_torn_post_apocalyptic_alien_world_map.png', 'thumbnail': 'images/prerendered/th/war_torn_post_apocalyptic_alien_world_map.png', 'quality': 3},
+}
+
+pre_rendered_maps_paths = [
+    map_file['file'].replace("\\", "/")
+    for key, map_file in sorted(
+        PRE_RENDERED_MAPS_JSON_LEVELS.items(),
+        key=lambda x: (
+            x[1]['quality'],
+            ''.join(char.lower() for char in x[0] if char.isalnum())
+        )
+    )
+]
+pre_rendered_maps_paths_api_file = [f"./gradio_api/file={map_path}" for map_path in pre_rendered_maps_paths]
 
 # Available FLUX model names
 MODELS = [
diff --git a/utils/image_utils.py b/utils/image_utils.py
index 848f67f4a0cb44c266fd7f19360c366ccd1352e2..84d833a4a2011208c587274ddac306fa00a43fa4 100644
--- a/utils/image_utils.py
+++ b/utils/image_utils.py
@@ -6,7 +6,8 @@ import base64
 import numpy as np
 #from decimal import ROUND_CEILING
 from PIL import Image, ImageChops, ImageDraw, ImageEnhance, ImageFilter, ImageDraw, ImageOps, ImageMath
-from typing import List, Union
+from typing import List, Union, is_typeddict
+#import numpy as np
 #import math
 from pathlib import Path
 from utils.constants import default_lut_example_img, PRE_RENDERED_MAPS_JSON_LEVELS
@@ -14,7 +15,18 @@ from utils.color_utils import (
     detect_color_format,
     update_color_opacity
 )
-from utils.misc import (pause)
+def get_image_from_dict(image_path):
+    if isinstance(image_path, dict) :
+        if 'image' in image_path:
+            image_path = image_path.get('image')
+        elif 'composite' in image_path:
+            image_path = image_path.get('composite')
+        else:
+            print("\n Unknown image dictionary.\n")
+            raise UserWarning("Unknown image dictionary.")
+        return image_path, True
+    else:
+        return image_path, False
 
 def open_image(image_path):
     """
@@ -30,8 +42,11 @@ def open_image(image_path):
     Raises:
         Exception: If there is an error opening the image.
     """
+    if isinstance(image_path, Image.Image):
+        return image_path
     import requests
     try:
+        image_path, is_dict = get_image_from_dict(image_path)
         # Strip leading and trailing double quotation marks, if present
         image_path = image_path.strip('"')
         if image_path.startswith('http'):
@@ -80,7 +95,7 @@ def build_prerendered_images(images_list):
 # Example usage
 # filtered_maps = get_maps_with_quality_less_than(3)
 # print(filtered_maps)
-def build_prerendered_images_by_quality(limit):
+def build_prerendered_images_by_quality(quality_limit,key='file'):
     """
     Retrieve all file paths from PRE_RENDERED_MAPS_JSON_LEVELS where quality is less than the given limit.
 
@@ -91,12 +106,13 @@ def build_prerendered_images_by_quality(limit):
         list: A list of file paths meeting the quality criteria.
     """
     images_list = [
-        map_info['file']
+        map_info[key]
         for map_info in PRE_RENDERED_MAPS_JSON_LEVELS.values()
-        if map_info['quality'] < limit
+        if map_info['quality'] <= quality_limit
     ]
     return build_prerendered_images(images_list)
 
+
 def build_encoded_images(images_list):
     """
     Encodes a list of images to base64 strings.
@@ -369,6 +385,7 @@ def alpha_composite_with_control(base_image, image_with_alpha, alpha_percent=100
     Returns:
         PIL.Image.Image: The resulting image after alpha compositing.
     """
+    image_with_alpha, isdict = get_image_from_dict(image_with_alpha)
     alpha_multiplier = alpha_percent / 100.0
     if isinstance(base_image, str):
         base_image = open_image(base_image)
@@ -621,7 +638,7 @@ def convert_jpg_to_rgba(input_path) -> tuple[Image, str]:
         # Check file extension first to skip unnecessary processing
         if input_path.suffix.lower() not in ('.jpg', '.jpeg'):
             print(f"Skipping conversion: {input_path} is not a JPG or JPEG file.")
-            return None, str(output_path)
+            return Image.open(input_path), str(output_path)
         
         print(f"Converting to PNG: {input_path} is a JPG or JPEG file.")
         
@@ -665,6 +682,7 @@ def convert_to_rgba_png(file_path: str) -> tuple[Image, str]:
         raise UserWarning("No image provided.")
         return None, None
     try:
+        file_path, is_dict = get_image_from_dict(file_path)
         img = open_image(file_path)
         print(f"Opened image: {file_path}\n")
         # Handle ICO files
@@ -704,4 +722,100 @@ def delete_image(file_path: str) -> None:
     except FileNotFoundError:
         print(f"File not found: {file_path}")
     except Exception as e:
-        print(f"Error deleting image: {e}")
\ No newline at end of file
+        print(f"Error deleting image: {e}")
+
+
+def resize_all_images_in_folder(target_width: int, output_folder: str = "resized", file_prefix: str = "resized_") -> tuple[int, int]:
+    """
+    Resizes all images in the current folder to a specified width while maintaining aspect ratio.
+    Creates a new folder for the resized images.
+    
+    Parameters:
+        target_width (int): The desired width for all images
+        output_folder (str): Name of the folder to store resized images (default: "resized")
+        file_prefix (str): Prefix for resized files (default: "resized_")
+        
+    Returns:
+        tuple[int, int]: (number of successfully resized images, number of failed attempts)
+
+    Example Usage: 
+        successful_count, failed_count = resize_all_images_in_folder(target_width=800, output_folder="th", file_prefix="th_")
+    """
+    # Supported image extensions
+    valid_extensions = ('.jpg', '.jpeg', '.png', '.bmp', '.gif', '.tiff')    
+    # Create output folder if it doesn't exist
+    output_path = Path(output_folder)
+    output_path.mkdir(exist_ok=True)    
+    successful = 0
+    failed = 0    
+    # Get current directory
+    current_dir = Path.cwd()    
+    # Iterate through all files in current directory
+    for file_path in current_dir.iterdir():
+        if file_path.is_file() and file_path.suffix.lower() in valid_extensions:
+            try:
+                # Open the image
+                with Image.open(file_path) as img:
+                    # Convert to RGB if needed (handles RGBA, CMYK, etc.)
+                    if img.mode != 'RGB':
+                        img = img.convert('RGB')                    
+                    # Calculate target height maintaining aspect ratio
+                    original_width, original_height = img.size
+                    aspect_ratio = original_height / original_width
+                    target_height = int(target_width * aspect_ratio)                    
+                    # Resize using the reference function
+                    resized_img = resize_image_with_aspect_ratio(img, target_width, target_height)                    
+                    # Create output filename
+                    output_filename = output_path / f"{file_prefix}{file_path.name}"                    
+                    # Save the resized image
+                    resized_img.save(output_filename, quality=95)                    
+                successful += 1
+                print(f"Successfully resized: {file_path.name}")                
+            except Exception as e:
+                failed += 1
+                print(f"Failed to resize {file_path.name}: {str(e)}")
+    
+    print(f"\nResizing complete. Successfully processed: {successful}, Failed: {failed}")
+    return successful, failed
+
+def get_image_quality(file_path):
+    """Determine quality based on image width."""
+    try:
+        with Image.open(file_path) as img:
+            width, _ = img.size
+            if width < 1025:
+                return 0
+            elif width < 1537:
+                return 1
+            elif width < 2680:
+                return 2
+            else:  # width >= 2680
+                return 3
+    except Exception as e:
+        print(f"Error opening {file_path}: {e}")
+        return 0  # Default to 0 if there's an error
+
+def update_quality():
+    """Update quality for each file in PRE_RENDERED_MAPS_JSON_LEVELS."""
+    possible_paths = ["./", "./images/prerendered/"]    
+    for key, value in PRE_RENDERED_MAPS_JSON_LEVELS.items():
+        file_path = value['file']
+        found = False        
+        # Check both possible locations
+        for base_path in possible_paths:
+            full_path = os.path.join(base_path, os.path.basename(file_path))
+            if os.path.exists(full_path):
+                quality = get_image_quality(full_path)
+                PRE_RENDERED_MAPS_JSON_LEVELS[key]['quality'] = quality
+                print(f"Updated {key}: Quality set to {quality} (Width checked at {full_path})")
+                found = True
+                break        
+        if not found:
+            print(f"Warning: File not found for {key} at any location. Keeping quality as {value['quality']}")
+
+def print_json():
+    """Print the updated PRE_RENDERED_MAPS_JSON_LEVELS in a formatted way."""
+    print("\nUpdated PRE_RENDERED_MAPS_JSON_LEVELS = {")
+    for key, value in PRE_RENDERED_MAPS_JSON_LEVELS.items():
+        print(f"    '{key}': {{'file': '{value['file']}', 'thumbnail': '{value['thumbnail']}', 'quality': {value['quality']}}},")
+    print("}")
diff --git a/utils/lora_details.py b/utils/lora_details.py
index 29395aff5772078917145a59203ddb7291744138..8d48dac81531e16fd0fc4826aa05a36cb775b81c 100644
--- a/utils/lora_details.py
+++ b/utils/lora_details.py
@@ -2,6 +2,42 @@
 
 import gradio as gr
 from utils.constants import LORA_DETAILS
+def upd_prompt_notes_by_index(lora_index):
+    """
+    Updates the prompt_notes_label with the notes from LORAS based on index.
+
+    Args:
+        lora_index (int): The index of the selected LoRA model.
+
+    Returns:
+        gr.update: Updated Gradio label component with the notes.
+    """
+    try:
+        if LORAS[lora_index]:
+            notes = LORAS[lora_index].get('notes', None)
+            if notes is None:
+                trigger_word = LORAS[lora_index].get('trigger_word', "")
+                trigger_position = LORAS[lora_index].get('trigger_position', "")
+                notes = f"{trigger_position} '{trigger_word}' in prompt"
+    except IndexError:
+        notes = "Enter Prompt description of your image, \nusing models without LoRa may take a 30 minutes."
+    return gr.update(value=notes)
+
+def get_trigger_words_by_index(lora_index):
+    """
+    Retrieves the trigger words from LORAS for the specified index.
+
+    Args:
+        lora_index (int): The index of the selected LoRA model.
+
+    Returns:
+        str: The trigger words associated with the model, or an empty string if not found.
+    """
+    try:
+        trigger_words = LORAS[lora_index].get('trigger_word', "")
+    except IndexError:
+        trigger_words = ""
+    return trigger_words
 
 def upd_prompt_notes(model_textbox_value):
     """
diff --git a/web-ui.bat b/web-ui.bat
index 9e053f054c95df41d97301ce70e0ab9a435f9761..e13664385c513618d144d33e0643a0de5cdad7c1 100644
--- a/web-ui.bat
+++ b/web-ui.bat
@@ -1,5 +1,2 @@
-set NVIDIA_VISIBLE_DEVICES=0
-set CUDA_VISIBLE_DEVICES=0
-set CUDA_MODULE_LOADING=LAZY
 py -m app
 pause
\ No newline at end of file