File size: 6,885 Bytes
5965c56 0cbefd8 1f31be6 5965c56 0cbefd8 5965c56 b38bfbf 5604375 8407857 5965c56 0cbefd8 5965c56 5604375 0cbefd8 931b3f8 0cbefd8 8407857 5965c56 b38bfbf 5604375 d5aa8a2 0cbefd8 c620cf1 d5aa8a2 c620cf1 d5aa8a2 a6a2ce7 d5aa8a2 0cbefd8 d5aa8a2 5965c56 7b3c4a4 5965c56 37215e3 5965c56 f23ce80 5965c56 b04c3ef 5965c56 7b3c4a4 5965c56 37215e3 5965c56 f23ce80 5965c56 0cbefd8 5965c56 0cbefd8 5965c56 9d07730 5965c56 0cbefd8 211d06e 72474b3 1e08126 211d06e 078a9e6 459c04e 58832c3 e3b2ce1 211d06e 8407857 69d6f12 5965c56 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | import gradio as gr
import os
import sys
import random
import string
import time
from queue import Queue
from threading import Thread
text_gen = gr.Interface.load("models/Gustavosta/MagicPrompt-Stable-Diffusion")
proc1 = gr.Interface.load("models/Joeythemonster/anything-midjourney-v-4-1")
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)
# Existing code...
import uuid # Import the UUID library
# Existing code...
# Existing code...
request_counter = 0 # Global counter to track requests
def send_it1(inputs, noise_level, proc=proc1):
global request_counter
request_counter += 1
timestamp = f"{time.time()}_{request_counter}"
prompt_with_noise = add_random_noise(inputs, noise_level) + f" - {timestamp}"
while queue.qsize() >= queue_threshold:
time.sleep(2)
queue.put(prompt_with_noise)
output = proc(prompt_with_noise)
return output
def get_prompts(prompt_text):
global request_counter
request_counter += 1
timestamp = f"{time.time()}_{request_counter}"
if prompt_text:
return text_gen("mdjrny-v4 style, " + prompt_text + f" - {timestamp}")
else:
return text_gen("", timestamp)
# Existing code...
# Existing code...
with gr.Blocks(css="footer {display: none !important;}") as demo:
gr.HTML("""
<div style="text-align: center; max-width: 700px; margin: 0 auto;">
<div style="
display: inline-flex;
align-items: center;
gap: 0.8rem;
font-size: 1.75rem;
">
<div>
<h1 style="
text-align: center;
font-weight: bold;
color: #800000;
font-family: 'Courier New', Courier, monospace;
font-size: 25px;
margin-top: 40px;">
Experience the Next Level of Image Creation with the New Artigen Version (Artigen v.2)
</h1>
<h2 style=" Color :#4682B4;
font-family : "Brush Script MT", cursive;
font-size: 30px;
margin-top: 30px;" >fast and easy</h2>
</div>
</div>
<p style="margin-bottom: 10px; font-size: 96%;">
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.
</p>
</div>
""")
with gr.Column(elem_id="col-container"):
with gr.Row(variant="compact"):
input_text = gr.Textbox(
lines=8,
label="Short Prompt",
show_label=False,
max_lines=10,
placeholder="Enter a basic idea and click 'Magic Prompt'. Got no ideas? No problem, Simply just hit the magic button!",
).style(
container=False,
textarea={'height': '400px'}
)
see_prompts = gr.Button("โจ Magic Prompt โจ").style(full_width=False)
with gr.Row(variant="compact"):
prompt = gr.Textbox(
lines=8,
label="Enter your prompt",
show_label=False,
max_lines=10,
placeholder="Full Prompt",
).style(
container=False,
textarea={'height': '400px'}
)
run = gr.Button("Generate Images").style(full_width=False)
with gr.Row():
with gr.Row():
noise_level = gr.Slider(minimum=0.0, maximum=3, step=0.1, label="Noise Level")
with gr.Row():
with gr.Row():
output1 = gr.Image(label="Dreamlike Diffusion 1.0", show_label=False, show_share_button=False)
output2 = gr.Image(label="Dreamlike Diffusion 1.0", show_label=False, show_share_button=False)
see_prompts.click(get_prompts, inputs=[input_text], outputs=[prompt], queue=False)
run.click(send_it1, inputs=[prompt, noise_level], outputs=[output1])
run.click(send_it1, inputs=[prompt, noise_level], outputs=[output2])
gr.HTML("""
<div class="footer" style="margin-bottom: 45px;
margin-top: 35px;
text-align: center;
border-bottom: 1px solid #e5e5e5"
>
<p style="font-size: .8rem;
display: inline-block;
padding: 0 10px;
transform: translateY(10px);
background: white" >
</p>
</div>
<div class="acknowledgments" style="margin: 1.25em 0 .25em 0;
font-size: 96%">
<p> โค๏ธUnleash your creative side and generate mesmerizing images with just a few clicks! Enter a spark of inspiration in the "Basic Idea" text box and click the "Magic Prompt" button to elevate it to a polished masterpiece. Make any final tweaks in the "Full Prompt" box and hit the "Generate Images" button to watch your vision come to life. Experiment with the "Noise Level" for a diverse range of outputs, from similar to wildly unique. Let the fun begin!โค๏ธ
</p>
</div>
""")
demo.launch(enable_queue=True, inline=True)
|