|
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/Dao3/MagicPrompt-Stable-Diffusion") |
|
def get_prompts(prompt_text): |
|
if prompt_text: |
|
return text_gen("openjourneyart, " + prompt_text) |
|
else: |
|
return text_gen("") |
|
proc1=gr.Interface.load("models/prompthero/openjourney") |
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with gr.Blocks(css='style.css') as demo: |
|
gr.HTML( |
|
""" |
|
<div style="text-align: center; max-width: 650px; margin: 0 auto;"> |
|
<div> |
|
<h1 style="font-weight: 900; font-size: 3rem; margin-bottom:20px;"> |
|
OpenART |
|
</h1> |
|
</div> |
|
<p style="margin-bottom: 10px; font-size: 96%"> |
|
ๅทฎๅผ็จๅบฆ: ็จๆฐๅผ่ฐ่ไธคๅผ ๅพ็ๅทฎๅผ็จๅบฆใๆฐๅผ่ถๅคง๏ผไธคๅผ ๅพ็ๅทฎๅผ่ถๅคง๏ผๅไน่ถๅฐใ |
|
</p> |
|
<p style="margin-bottom: 10px; font-size: 98%"> |
|
โค๏ธ ๅๆฌข็่ฏ๏ผๅฐฑ็นไธ้ข็โค๏ธๅง~โค๏ธ</a> |
|
</p> |
|
</div> |
|
""" |
|
) |
|
with gr.Column(elem_id="col-container"): |
|
with gr.Row(variant="compact"): |
|
input_text = gr.Textbox( |
|
label="Short Prompt", |
|
show_label=False, |
|
max_lines=2, |
|
placeholder="่พๅ
ฅไฝ ็ๆณ่ฑก๏ผ่ฑๆ่ฏๆฑ๏ผ๏ผ็ถๅๆๅณ่พนๆ้ฎใๆฒก็ตๆ๏ผ็ดๆฅๆ๏ผ", |
|
).style( |
|
container=False, |
|
) |
|
see_prompts = gr.Button("โจ ๅ่ฏญๆพ็ฐ โจ").style(full_width=False) |
|
|
|
|
|
with gr.Row(variant="compact"): |
|
prompt = gr.Textbox( |
|
label="Enter your prompt", |
|
show_label=False, |
|
max_lines=2, |
|
placeholder="ๅฏ่พๅ
ฅๅฎๆดๆ่ฟฐ่ฏ๏ผๆ่
็จๅ่ฏญๆพ็ฐๆ้ฎ็ๆ", |
|
).style( |
|
container=False, |
|
) |
|
run = gr.Button("โจๅนปๆขฆๆพๅฝขโจ").style(full_width=False) |
|
|
|
with gr.Row(): |
|
with gr.Row(): |
|
noise_level = gr.Slider(minimum=0.0, maximum=3, step=0.1, label="ๅทฎๅผ็จๅบฆ") |
|
with gr.Row(): |
|
with gr.Row(): |
|
output1=gr.Image(label="Dreamlike Diffusion 1.0",show_label=False) |
|
output2=gr.Image(label="Dreamlike Diffusion 1.0",show_label=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_it2, inputs=[prompt, noise_level], outputs=[output2]) |
|
|
|
|
|
with gr.Row(): |
|
gr.HTML( |
|
""" |
|
<div class="footer"> |
|
|
|
|
|
<div class="acknowledgments" style="font-size: 115%"> |
|
<p> |
|
ๅฎๅฉ๏ผไธไธชๆฑๅ้กน็ฎ๏ผ<a href="https://tiwenti.chat/">TiwenTi.chat</a>๏ผ่ฟๆฏไธไธชChatGPT็ไธญๆๆกไพๅบ๏ผๆ็
งๅทฅๅ
ท็จ้ๅ่ง่ฒๆฎๆผ็จ้ๅไบๅ็ฑป๏ผๆฌข่ฟๅป็ๅปๅไบซ~ </p> |
|
</p> |
|
</div> |
|
""" |
|
) |
|
|
|
demo.launch(enable_queue=True, inline=True) |
|
block.queue(concurrency_count=100) |