import gradio as gr
import os
import sys
from pathlib import Path
import time
text_gen=gr.Interface.load("spaces/Omnibus/MagicPrompt-Stable-Diffusion",live=True, preprocess=True)
proc1=gr.Interface.load("models/nitrosocke/Arcane-Diffusion", live=True, preprocess=True, postprocess=False)
proc2=gr.Interface.load("models/naclbit/trinart_stable_diffusion_v2", live=True, preprocess=True, postprocess=False)
proc3=gr.Interface.load("models/nitrosocke/redshift-diffusion", live=True, preprocess=True, postprocess=False)
proc4=gr.Interface.load("models/runwayml/stable-diffusion-v1-5", live=True, preprocess=True, postprocess=False)
proc5=gr.Interface.load("models/claudfuen/photorealistic-fuen-v1", live=True, preprocess=True, postprocess=False)
proc6=gr.Interface.load("models/CompVis/stable-diffusion-v1-4", live=True, preprocess=True, postprocess=False)
proc7=gr.Interface.load("models/Linaqruf/anything-v3.0", live=True, preprocess=True, postprocess=False)
proc8=gr.Interface.load("models/andite/anything-v4.0", live=True, preprocess=True, postprocess=False)
proc9=gr.Interface.load("models/dreamlike-art/dreamlike-photoreal-1.0", live=True, preprocess=True, postprocess=False)
proc10=gr.Interface.load("models/prompthero/openjourney", live=True, preprocess=True, postprocess=False)
proc11=gr.Interface.load("models/prompthero/midjourney-v4-diffusion", live=True, preprocess=True, postprocess=False)
proc12=gr.Interface.load("models/wavymulder/Analog-Diffusion", live=True, preprocess=True, postprocess=False)
#proc13=gr.Interface.load("models/dreamlike-art/dreamlike-photoreal-2.0")
#proc14=gr.Interface.load("models/wavymulder/Analog-Diffusion")
#proc15=gr.Interface.load("models/nitrosocke/redshift-diffusion")
#proc16=gr.Interface.load("models/prompthero/midjourney-v4-diffusion")
def get_prompts(prompt_text):
return text_gen(prompt_text)
def send_it1(inputs,proc1=proc1):
output1=proc1(inputs)
return(output1)
def send_it2(inputs,proc2=proc2):
output2=proc2(inputs)
return(output2)
def send_it3(inputs,proc3=proc3):
output3=proc3(inputs)
return(output3)
def send_it4(inputs,proc4=proc4):
output4=proc4(inputs)
return(output4)
def send_it5(inputs,proc5=proc5):
output5=proc5(inputs)
return(output5)
def send_it6(inputs,proc6=proc6):
output6=proc6(inputs)
return(output6)
def send_it7(inputs,proc7=proc7):
output7=proc7(inputs)
return(output7)
def send_it8(inputs,proc8=proc8):
output8=proc8(inputs)
return(output8)
def send_it9(inputs,proc9=proc9):
output9=proc9(inputs)
return(output9)
def send_it10(inputs,proc10=proc10):
output10=proc10(inputs)
return(output10)
def send_it11(inputs,proc11=proc11):
output11=proc11(inputs)
return(output11)
def send_it12(inputs,proc12=proc12):
output12=proc12(inputs)
return(output12)
#def send_it13(inputs,proc13=proc13):
# output13=proc13(inputs)
# return(output13)
#def send_it14(inputs,proc14=proc14):
# output14=proc14(inputs)
# return(output14)
#def send_it15(inputs,proc15=proc15):
# output15=proc15(inputs)
# return(output15)
#def send_it16(inputs,proc16=proc16):
# output16=proc16(inputs)
# return(output16)
def main():
#test = 0
#batch=True, max_batch_size=30
#max_batch_size=20
with gr.Blocks(batch=True,max_batch_size=800) as myface:
with gr.Row():
with gr.Tab("Title"):
gr.HTML("""
Maximum Diffusion
Maximum Diffusion
Text to Image Model Comparison Space - CPU
Freaky Fast, when it's fresh
Try a Mirror, or DIY for Maximum Diffusion in minimum time.
""")
with gr.Tab("Description"):
gr.HTML("""
Enter your Prompt into the "Short Prompt" box and click "Magic Prompt" to load a prettified version of your prompt
When you are satisfied with the prompt that is in the "Text to Image" box, click "Launch" to load the Models.
Images load faster with a simpler prompt.
Most images should load within 2 minutes.
Some models become stuck on certain prompts, and refreshing the page seems to fix it.
Not responsible for content, use at your own risk.
""")
with gr.Tab("DIY"):
gr.HTML("""
Copy/Paste this code in your app.py file
import gradio as gr
max_d=gr.Interface.load("spaces/Omnibus/maximum_diffusion")
max_d.launch()
""")
with gr.Tab("Mirrors"):
gr.HTML("""""")
with gr.Tab("Credits"):
with gr.Row():
gr.Column()
with gr.Column(style="text-align:left;"):
gr.HTML("""
""")
gr.Column()
with gr.Tab("Tools"):
with gr.Tab("View"):
with gr.Column(style="width=50%, height=70%"):
gr.Pil(label="Crop")
with gr.Column(style="width=50%, height=70%"):
gr.Pil(label="Crop")
with gr.Tab("Draw"):
with gr.Column(style="width=50%, height=70%"):
gr.Pil(label="Crop")
with gr.Column(style="width=50%, height=70%"):
gr.Pil(label="Draw")
gr.ImagePaint(label="Draw")
with gr.Tab("Text"):
with gr.Row():
with gr.Column(scale=50):
gr.Textbox(label="", lines=8, interactive=True)
with gr.Column(scale=50):
gr.Textbox(label="", lines=8, interactive=True)
with gr.Tab("Color Picker"):
with gr.Row():
with gr.Column(scale=50):
gr.ColorPicker(label="Color", interactive=True)
with gr.Column(scale=50):
gr.ImagePaint(label="Draw", interactive=True)
with gr.Row():
input_text=gr.Textbox(label="Short Prompt")
see_prompts=gr.Button("Magic Prompt")
with gr.Row():
prompt=gr.Textbox(label="Text to Image")
run=gr.Button("Launch")
# with gr.Row():
# gr.Column()
# with gr.Column():
# clear_btn=gr.Button("Test")
with gr.Row():
output2=gr.Image(label="naclbit/trinart_stable_diffusion_v2")
output11=gr.Image(label="prompthero/midjourney-v4-diffusion")
output3=gr.Image(label="nitrosocke/redshift-diffusion")
output4=gr.Image(label="runwayml/stable-diffusion-v1-5")
with gr.Row():
output5=gr.Image(label="claudfuen/photorealistic-fuen-v1")
output6=gr.Image(label="CompVis/stable-diffusion-v1-4")
output7=gr.Image(label="Linaqruf/anything-v3.0")
output8=gr.Image(label="andite/anything-v4.0")
with gr.Row():
output9=gr.Image(label="dreamlike-art/dreamlike-photoreal-1.0")
output10=gr.Image(label="prompthero/openjourney")
output1=gr.Image(label="nitrosocke/Arcane-Diffusion")
output12=gr.Image(label="wavymulder/Analog-Diffusion")
#with gr.Row():
# output13=gr.Image(label="dreamlike-photoreal-2.0")
# output14=gr.Image(label="Analog-Diffusion")
#
# output15=gr.Image(label="redshift-diffusion")
# output16=gr.Image(label="midjourney-v4-diffusion")
#def set_models(model_name1, model_name2, model_name3, model_name4):
#return(proc1,proc2,proc3,proc4)
#run.click(set_models, inputs=[model_name1, model_name2, model_name3, model_name4], outputs=[proc1,proc2,proc3,proc4])
#run.click(send_it, inputs=[prompt], outputs=[output1, output2, output3, output4])
def clear_queue():
myface.queue.clear()
#clear_btn.click(clear_queue, inputs=None, outputs=None)
see_prompts.click(get_prompts, inputs=[input_text], outputs=[prompt])
#timeout = time.time() + 5 #60*1 #1 minute # 5 minutes from now
run.click(send_it1, inputs=[prompt], outputs=[output1])
run.click(send_it2, inputs=[prompt], outputs=[output2])
run.click(send_it3, inputs=[prompt], outputs=[output3])
run.click(send_it4, inputs=[prompt], outputs=[output4])
run.click(send_it5, inputs=[prompt], outputs=[output5])
run.click(send_it6, inputs=[prompt], outputs=[output6])
run.click(send_it7, inputs=[prompt], outputs=[output7])
run.click(send_it8, inputs=[prompt], outputs=[output8])
run.click(send_it9, inputs=[prompt], outputs=[output9])
run.click(send_it10, inputs=[prompt], outputs=[output10])
run.click(send_it11, inputs=[prompt], outputs=[output11])
run.click(send_it12, inputs=[prompt], outputs=[output12])
#run.click(send_it13, inputs=[prompt], outputs=[output13])
#run.click(send_it14, inputs=[prompt], outputs=[output14])
#run.click(send_it15, inputs=[prompt], outputs=[output15])
#run.click(send_it16, inputs=[prompt], outputs=[output16])
#myface.queue(default_enabled=False)
#myface.queue(concurrency_count=240,status_update_rate=1)
myface.queue(concurrency_count=800,status_update_rate=1)
myface.launch(enable_queue=True,inline=True,max_threads=800)
#myface.launch(enable_queue=True, max_threads=20)
if __name__ == "__main__":
main()