import gradio as gr import os import sys from pathlib import Path import random import string import time from queue import Queue from threading import Thread import emoji text_gen=gr.Interface.load("spaces/phenomenon1981/MagicPrompt-Stable-Diffusion") def get_prompts(prompt_text): if prompt_text: return text_gen("dreamlikeart, " + prompt_text) else: return text_gen("") proc1=gr.Interface.load("models/dreamlike-art/dreamlike-diffusion-1.0") def restart_script_periodically(): while True: random_time = random.randint(540, 600) time.sleep(random_time) os.execl(sys.executable, sys.executable, *sys.argv) restart_thread = Thread(target=restart_script_periodically, daemon=True) restart_thread.start() queue = Queue() queue_threshold = 100 def add_random_noise(prompt, noise_level=0.00): if noise_level == 0: noise_level = 0.00 percentage_noise = noise_level * 5 num_noise_chars = int(len(prompt) * (percentage_noise/100)) noise_indices = random.sample(range(len(prompt)), num_noise_chars) prompt_list = list(prompt) noise_chars = list(string.ascii_letters + string.punctuation + ' ' + string.digits) noise_chars.extend(['ð', 'ðĐ', 'ð', 'ðĪ', 'ð', 'ðĪ', 'ð', 'ð', 'ð·', 'ðĪŊ', 'ðĪŦ', 'ðĨī', 'ðī', 'ðĪĐ', 'ðĨģ', 'ð', 'ðĐ', 'ðĪŠ', 'ð', 'ðĪĒ', 'ð', 'ðđ', 'ðŧ', 'ðĪ', 'ð―', 'ð', 'ð', 'ð ', 'ð', 'ð', 'ð', 'ð', 'ð', 'ð', 'ðŪ', 'âĪïļ', 'ð', 'ð', 'ð', 'ð', 'ðķ', 'ðą', 'ð', 'ðđ', 'ðĶ', 'ðŧ', 'ðĻ', 'ðŊ', 'ðĶ', 'ð', 'ðĨ', 'ð§ïļ', 'ð', 'ð', 'ðĨ', 'ðī', 'ð', 'ðš', 'ðŧ', 'ðļ', 'ðĻ', 'ð ', 'ð', 'âïļ', 'âïļ', 'âïļ', 'âïļ', 'ðĪïļ', 'â ïļ', 'ðĨïļ', 'ðĶïļ', 'ð§ïļ', 'ðĐïļ', 'ðĻïļ', 'ðŦïļ', 'âïļ', 'ðŽïļ', 'ðĻ', 'ðŠïļ', 'ð']) for index in noise_indices: prompt_list[index] = random.choice(noise_chars) return "".join(prompt_list) def send_it1(inputs, noise_level, proc1=proc1): prompt_with_noise = add_random_noise(inputs, noise_level) while queue.qsize() >= queue_threshold: time.sleep(2) queue.put(prompt_with_noise) output1 = proc1(prompt_with_noise) return output1 def send_it2(inputs, noise_level, proc1=proc1): prompt_with_noise = add_random_noise(inputs, noise_level) while queue.qsize() >= queue_threshold: time.sleep(2) queue.put(prompt_with_noise) output2 = proc1(prompt_with_noise) return output2 def send_it3(inputs, noise_level, proc1=proc1): prompt_with_noise = add_random_noise(inputs, noise_level) while queue.qsize() >= queue_threshold: time.sleep(2) queue.put(prompt_with_noise) output3 = proc1(prompt_with_noise) return output3 def send_it4(inputs, noise_level, proc1=proc1): prompt_with_noise = add_random_noise(inputs, noise_level) while queue.qsize() >= queue_threshold: time.sleep(2) queue.put(prompt_with_noise) output4 = proc1(prompt_with_noise) return output4 with gr.Blocks(css='style.css') as demo: gr.HTML( """
Noise Level: Controls how much randomness is added to the input before it is sent to the model. Higher noise level produces more diverse outputs, while lower noise level produces similar outputs.