|
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/openskyml/midjourney-v4-xl") |
|
|
|
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) |
|
|
|
|
|
|
|
import uuid |
|
|
|
|
|
|
|
|
|
|
|
request_counter = 0 |
|
|
|
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}" |
|
try: |
|
while queue.qsize() >= queue_threshold: |
|
time.sleep(2) |
|
queue.put(prompt_with_noise) |
|
output = proc(prompt_with_noise) |
|
return output |
|
except Exception as e: |
|
|
|
raise gr.Error("Experiencing high demand. Please retry shortly. Thank you for your patience.") |
|
|
|
import random |
|
|
|
import random |
|
import time |
|
|
|
|
|
|
|
import random |
|
import time |
|
|
|
|
|
|
|
def get_prompts(prompt_text): |
|
if not prompt_text: |
|
return "Please enter text before generating prompts.ุฑุฌุงุก ุงุฏุฎู ุงููุต ุงููุง" |
|
raise gr.Error("Please enter text before generating prompts.ุฑุฌุงุก ุงุฏุฎู ุงููุต ุงููุง") |
|
else: |
|
global request_counter |
|
request_counter += 1 |
|
timestamp = f"{time.time()}_{request_counter}" |
|
|
|
options = [ |
|
"Cyberpunk android", |
|
"2060", |
|
"newyork", |
|
", style of laurie greasley" , "studio ghibli" , "akira toriyama" , "james gilleard" , "genshin impact" , "trending pixiv fanbox" , "acrylic palette knife, 4k, vibrant colors, devinart, trending on artstation, low details" |
|
", Editorial Photography, Shot on 70mm lens, Depth of Field, Bokeh, DOF, Tilt Blur, Shutter Speed 1/1000, F/22, 32k, Super-Resolution, award winning,", |
|
", high detail, warm lighting, godrays, vivid, beautiful, trending on artstation, by jordan grimmer, huge scene, grass, art greg rutkowski ", |
|
", highly detailed, digital painting, artstation, illustration, art by artgerm and greg rutkowski and alphonse mucha.", |
|
", Charlie Bowater, stanley artgerm lau, a character portrait, sots art, sharp focus, smooth, aesthetic, extremely detailed, octane render,solo, dark industrial background, rtx, rock clothes, cinematic light, intricate detail, highly detailed, high res, detailed facial features", |
|
", portrait photograph" , "realistic" , "concept art" , "elegant, highly detailed" , "intricate, sharp focus, depth of field, f/1. 8, 85mm, medium shot, mid shot, (((professionally color graded)))" ," sharp focus, bright soft diffused light" , "(volumetric fog),", |
|
",Cinematic film still" ," (dark city street:1.2)" , "(cold colors), damp, moist, intricate details" ,"shallow depth of field, [volumetric fog]" , "cinematic lighting, reflections, photographed on a Canon EOS R5, 50mm lens, F/2.8, HDR, 8k resolution" , "cinematic film still from cyberpunk movie" , "volumetric fog, (RAW, analog, masterpiece, best quality, soft particles, 8k, flawless perfect face, intricate details" , "trending on artstation, trending on cgsociety, dlsr, ultra sharp, hdr, rtx, antialiasing, canon 5d foto))" , "((skin details, high detailed skin texture))" , "(((perfect face))), (perfect eyes)))", |
|
"facinating and imposing" , "fantasy digital art, octane render, beautiful composition" ," trending on artstation, award-winning photograph, masterpiece", |
|
|
|
"portrait elf", "intricate, elegant", "highly detailed" , "digital painting" , "artstation", "concept art, smooth, sharp focus" , "illustration, art by artgerm and greg rutkowski and alphonse mucha, 8k", |
|
|
|
" intricate, elegant, highly detailed" , "digital painting, artstation, concept art, smooth, sharp focus" ," illustration, art by artgerm and greg rutkowski and alphonse mucha, 8k", |
|
" matte painting, highly detailed, dynamic lighting, cinematic, realism, realistic" , "photo real, sunset,detailed, high contrast, denoised, centered, michael whelan", |
|
|
|
|
|
"cyborg| full-length portrait", "detailed face", "symmetric| steampunk", "cyberpunk| cyborg| intricate detailed| to scale", "hyperrealistic", "cinematic lighting| digital art| concept art", |
|
|
|
"photo of a ultra realistic" ," dramatic light, pale sunrise, cinematic lighting" , "battered, low angle, trending on artstation, 4k, hyper realistic" , "focused, extreme details" , "unreal engine 5, cinematic, masterpiece, art by studio ghibli, intricate artwork by john william turner", |
|
"street| old town| old city| winter| heavy snow", "| comprehensive cinematic", "| Atmosphere| Masterpiece", |
|
"fantasy, intricate, elegant, highly detailed" , "digital painting, artstation, concept art, matte, sharp focus, illustration, hearthstone, art by artgerm and greg rutkowski and alphonse mucha, hdr 4k, 8k", |
|
|
|
" (((wild west))) environment, Utah landscape, ultra realistic" , "concept art, elegant, ((intricate)), ((highly detailed)), depth of field, ((professionally color graded)), soft ambient lighting, dusk, 8k, art by artgerm and greg rutkowski and alphonse mucha", |
|
|
|
"Incredibly detailed technical diagram, split into complex geometric shapes and flowers growing from the shapes" ," Chiaroscuro lighting, fine intricate details โq 2 โupbeta โv 4 โv 4", |
|
" : concept art::1 cyberpunk::1 splatter paint::1 wide angle lens::2 Zdzislaw Beksinski style" , "winter storm, ultra detailed| 4k โv 4", |
|
"photo of a ultra realistic, dramatic light, pale sunrise" , "cinematic lighting, battered" , "low angle, trending on artstation" , "4k, hyper realistic, focused, extreme details, unreal engine 5, cinematic, masterpiece" , "art by studio ghibli, intricate artwork by john william turner", |
|
|
|
|
|
"mdjrny-v4 style, incredible highly detailed space ship" , "space background, perfect composition" , "beautiful detailed, intricate, insanely detailed, octane render" , "trending on artstation, artistic, photorealistic, concept art, soft natural volumetric cinematic perfect light, chiaroscuro" , "award winning photograph, masterpiece, oil on canvas, raphael, caravaggio, greg rutkowski, beeple, beksinski, giger style", |
|
|
|
"japanese style shrine on top of a misty mountain overgrown" , "hyper realistic, lush gnarly plants, 8 k, denoised, by greg rutkowski" , "tom bagshaw, james gurney cinematic lighting", |
|
|
|
"insanely detailed and intricate digital illustration by Hayao Miyazaki, Ismail Inceoglu, M.W. Kaluta and Yoshitaka Amano"," a masterpiece, close-up, 8k resolution, trending on artstation, delicate, watercolor, soft,", |
|
|
|
|
|
|
|
"neon light sign in design of face", "| precise lineart", "| intricate | realistic | studio quality | cinematic | luminescence", "| character design | concept art", "| highly detailed", "| illustration", "| digital art | digital painting", |
|
|
|
|
|
|
|
|
|
] |
|
|
|
if prompt_text: |
|
chosen_option = random.choice(options) |
|
return text_gen(f"{prompt_text}, {chosen_option} - {timestamp}") |
|
else: |
|
return text_gen("", timestamp) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with gr.Blocks(css=".gradio-container {background-color: #F5F5F5;} .dark .gradio-container {background-color: #003333;} footer{display:none !important;}",) as demo: |
|
|
|
|
|
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]) |
|
|
|
|
|
|
|
demo.launch(enable_queue=True, inline=True) |
|
|