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)