Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import os | |
| import sys | |
| from pathlib import Path | |
| import time | |
| models =[ | |
| "", | |
| "CompVis/stable-diffusion-v1-4", | |
| "runwayml/stable-diffusion-v1-5", | |
| "prompthero/openjourney", | |
| "stabilityai/stable-diffusion-2-1", | |
| "stabilityai/stable-diffusion-2-1-base", | |
| "andite/anything-v4.0", | |
| "Linaqruf/anything-v3.0", | |
| "eimiss/EimisAnimeDiffusion_1.0v", | |
| "nitrosocke/Nitro-Diffusion", | |
| "wavymulder/portraitplus", | |
| "22h/vintedois-diffusion-v0-1", | |
| "dreamlike-art/dreamlike-photoreal-2.0", | |
| "dreamlike-art/dreamlike-diffusion-1.0", | |
| "wavymulder/Analog-Diffusion", | |
| "nitrosocke/redshift-diffusion", | |
| "claudfuen/photorealistic-fuen-v1", | |
| "prompthero/openjourney-v2", | |
| "johnslegers/epic-diffusion", | |
| "nitrosocke/Arcane-Diffusion", | |
| "darkstorm2150/Protogen_x5.8_Official_Release", | |
| ] | |
| model_1=models[1] | |
| model_2=models[2] | |
| model_3=models[3] | |
| model_4=models[4] | |
| model_5=models[5] | |
| model_6=models[6] | |
| model_7=models[7] | |
| model_8=models[8] | |
| model_9=models[9] | |
| model_10=models[10] | |
| model_11=models[11] | |
| model_12=models[12] | |
| model_13=models[13] | |
| model_14=models[14] | |
| model_15=models[15] | |
| model_16=models[16] | |
| model_17=models[17] | |
| model_18=models[18] | |
| model_19=models[19] | |
| model_20=models[20] | |
| text_gen=gr.Interface.load("spaces/Omnibus/MagicPrompt-Stable-Diffusion_link",live=True, preprocess=True) | |
| proc1=gr.Interface.load(f"models/{model_1}",live=False,preprocess=True, postprocess=False) | |
| proc2=gr.Interface.load(f"models/{model_2}",live=False,preprocess=True, postprocess=False) | |
| proc3=gr.Interface.load(f"models/{model_3}",live=False,preprocess=True, postprocess=False) | |
| proc4=gr.Interface.load(f"models/{model_4}",live=False,preprocess=True, postprocess=False) | |
| proc5=gr.Interface.load(f"models/{model_5}",live=False,preprocess=True, postprocess=False) | |
| proc6=gr.Interface.load(f"models/{model_6}",live=False,preprocess=True, postprocess=False) | |
| proc7=gr.Interface.load(f"models/{model_7}",live=False,preprocess=True, postprocess=False) | |
| proc8=gr.Interface.load(f"models/{model_8}",live=False,preprocess=True, postprocess=False) | |
| proc9=gr.Interface.load(f"models/{model_9}",live=False,preprocess=True, postprocess=False) | |
| proc10=gr.Interface.load(f"models/{model_10}",live=False,preprocess=True, postprocess=False) | |
| proc11=gr.Interface.load(f"models/{model_11}",live=False,preprocess=True, postprocess=False) | |
| proc12=gr.Interface.load(f"models/{model_12}",live=False,preprocess=True, postprocess=False) | |
| proc13=gr.Interface.load(f"models/{model_13}",live=False,preprocess=True, postprocess=False) | |
| proc14=gr.Interface.load(f"models/{model_14}",live=False,preprocess=True, postprocess=False) | |
| proc15=gr.Interface.load(f"models/{model_15}",live=False,preprocess=True, postprocess=False) | |
| proc16=gr.Interface.load(f"models/{model_16}",live=False,preprocess=True, postprocess=False) | |
| proc17=gr.Interface.load(f"models/{model_17}",live=False,preprocess=True, postprocess=False) | |
| proc18=gr.Interface.load(f"models/{model_18}",live=False,preprocess=True, postprocess=False) | |
| proc19=gr.Interface.load(f"models/{model_19}",live=False,preprocess=True, postprocess=False) | |
| proc20=gr.Interface.load(f"models/{model_20}",live=False,preprocess=True, postprocess=False) | |
| 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 send_it17(inputs,proc17=proc17): | |
| output17=proc17(inputs) | |
| return(output17) | |
| def send_it18(inputs,proc18=proc18): | |
| output18=proc18(inputs) | |
| return(output18) | |
| def send_it19(inputs,proc19=proc19): | |
| output19=proc19(inputs) | |
| return(output19) | |
| def send_it20(inputs,proc20=proc20): | |
| output20=proc20(inputs) | |
| return(output20) | |
| with gr.Blocks(css="cake.css") as myface: | |
| gr.HTML("""<head><meta http-equiv="refresh" content="600"></head>""") | |
| with gr.Column(): | |
| gr.HTML("""<title>Top 20 Diffuion</title>""") | |
| gr.Markdown("""<center><h1>Top 20 Diffusion</h1><center>""") | |
| gr.Markdown("""<center><h4>20 Popular Diffusion Models</h4><center>""") | |
| gr.Markdown("""<center><h4>Comparison Space</h4><center>""") | |
| with gr.Accordion("Details",open=False): | |
| with gr.Tab("Description"): | |
| gr.Markdown("""<center> | |
| <h4>Enter your Prompt into the "Short Prompt" box and click "Magic Prompt" to load a prettified version of your prompt<br> | |
| When you are satisfied with the prompt that is in the "Text to Image" box, click "Launch" to load the Models.<br><br> | |
| Images load faster with a simpler prompt.<br> | |
| <br> | |
| Images will cancel loading after 1 minute to preserve the quality of the queue.<br> | |
| Simply Click "Launch" again to try loading the incomplete images.<br> | |
| Page refreshes every 10 minutes. | |
| <br> | |
| <br> | |
| Not responsible for content, use at your own risk. | |
| </h4></center>""") | |
| with gr.Tab("DIY"): | |
| gr.HTML("""<div style="text-align:Left;"> | |
| <h4>Easy Clone:<br><br> | |
| Copy/Paste this code in your new app.py file<br><br> | |
| import gradio as gr<br> | |
| max_d=gr.Interface.load("spaces/Omnibus/Top-20-Diffusion")<br> | |
| max_d.launch()<br> | |
| </h4></div>""") | |
| with gr.Tab("Credits"): | |
| with gr.Row(): | |
| with gr.Column(style="text-align:left;"): | |
| gr.HTML(""" | |
| <div style="vertical-align:center"> | |
| <br> | |
| <p>Magic Prompt: | |
| <p><a href="https://huggingface.co/spaces/Gustavosta/MagicPrompt-Stable-Diffusion">Magic Prompt Stable Diffusion</a></p> | |
| <p><a href="https://huggingface.co/spaces/huggingface-projects/magic-diffusion">Magic Diffusion</a></p> | |
| </div> | |
| """) | |
| with gr.Column(style="text-align:left;"): | |
| gr.HTML(f""" | |
| <div style="vertical-align:center"> | |
| <br> | |
| <p>Models by:<br> | |
| <a href="https://huggingface.co/{models[1]}">{models[1]}</a><br> | |
| <a href="https://huggingface.co/{models[2]}">{models[2]}</a><br> | |
| <a href="https://huggingface.co/{models[3]}">{models[3]}</a><br> | |
| <a href="https://huggingface.co/{models[4]}">{models[4]}</a><br> | |
| <a href="https://huggingface.co/{models[5]}">{models[5]}</a><br> | |
| <a href="https://huggingface.co/{models[6]}">{models[6]}</a><br> | |
| <a href="https://huggingface.co/{models[7]}">{models[7]}</a><br> | |
| <a href="https://huggingface.co/{models[8]}">{models[8]}</a><br> | |
| <a href="https://huggingface.co/{models[9]}">{models[9]}</a><br> | |
| <a href="https://huggingface.co/{models[10]}">{models[10]}</a><br> | |
| <a href="https://huggingface.co/{models[11]}">{models[11]}</a><br> | |
| <a href="https://huggingface.co/{models[12]}">{models[12]}</a><br> | |
| <a href="https://huggingface.co/{models[13]}">{models[13]}</a><br> | |
| <a href="https://huggingface.co/{models[14]}">{models[14]}</a><br> | |
| <a href="https://huggingface.co/{models[15]}">{models[15]}</a><br> | |
| <a href="https://huggingface.co/{models[16]}">{models[16]}</a><br> | |
| <a href="https://huggingface.co/{models[17]}">{models[17]}</a><br> | |
| <a href="https://huggingface.co/{models[18]}">{models[18]}</a><br> | |
| <a href="https://huggingface.co/{models[19]}">{models[19]}</a><br> | |
| <a href="https://huggingface.co/{models[20]}">{models[20]}</a><br> | |
| </p> | |
| </div> | |
| """) | |
| with gr.Tab("Tools"): | |
| with gr.Tab("Draw"): | |
| with gr.Row(): | |
| with gr.Column(style="width=50%"): | |
| gr.Pil(label="Crop") | |
| with gr.Column(style="width=50%"): | |
| gr.Pil(label="Draw") | |
| with gr.Tab("View"): | |
| with gr.Row(): | |
| with gr.Column(): | |
| gr.Pil(label="Crop").style(style="height=500") | |
| 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.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.Box(visible=True) as timo: | |
| with gr.Row(): | |
| with gr.Column(): | |
| input_text=gr.Textbox(label="Short Prompt") | |
| prompt=gr.Textbox(label="Text to Image",visible=True) | |
| with gr.Column(): | |
| see_prompts=gr.Button("Magic Prompt") | |
| with gr.Row(): | |
| run=gr.Button("Launch") | |
| clear_btn=gr.Button("Clear") | |
| with gr.Row(): | |
| output1=gr.Image(label=(f"{model_1}"),visible=True) | |
| output2=gr.Image(label=(f"{model_2}"),visible=True) | |
| output3=gr.Image(label=(f"{model_3}"),visible=True) | |
| output4=gr.Image(label=(f"{model_4}"),visible=True) | |
| with gr.Row(): | |
| output5=gr.Image(label=(f"{model_5}"),visible=True) | |
| output6=gr.Image(label=(f"{model_6}"),visible=True) | |
| output7=gr.Image(label=(f"{model_7}"),visible=True) | |
| output8=gr.Image(label=(f"{model_8}"),visible=True) | |
| with gr.Row(): | |
| output9=gr.Image(label=(f"{model_9}"),visible=True) | |
| output10=gr.Image(label=(f"{model_10}"),visible=True) | |
| output11=gr.Image(label=(f"{model_11}"),visible=True) | |
| output12=gr.Image(label=(f"{model_12}"),visible=True) | |
| with gr.Row(): | |
| output13=gr.Image(label=(f"{model_13}"),visible=True) | |
| output14=gr.Image(label=(f"{model_14}"),visible=True) | |
| output15=gr.Image(label=(f"{model_15}"),visible=True) | |
| output16=gr.Image(label=(f"{model_16}"),visible=True) | |
| with gr.Row(): | |
| output17=gr.Image(label=(f"{model_17}"),visible=True) | |
| output18=gr.Image(label=(f"{model_18}"),visible=True) | |
| output19=gr.Image(label=(f"{model_19}"),visible=True) | |
| output20=gr.Image(label=(f"{model_20}"),visible=True) | |
| with gr.Row(visible=False): | |
| start_box=gr.Number(interactive=False) | |
| end_box=gr.Number(interactive=False) | |
| tog_box=gr.Textbox(value=0,interactive=False) | |
| def clear_it(val): | |
| if int(val) != 0: | |
| val = 0 | |
| else: | |
| val = 0 | |
| pass | |
| return val | |
| def sesh_end(cnt,t_stamp): | |
| to = t_stamp + 60 | |
| et = time.time() | |
| if et > to and t_stamp != 0: | |
| d=gr.update(value=0) | |
| tog=gr.update(value=1) | |
| #print(f'to: {to} et: {et}') | |
| else: | |
| if cnt != 0: | |
| d=gr.update(value=et) | |
| else: | |
| d=gr.update(value=0) | |
| tog=gr.update(value=0) | |
| #print (f'passing: to: {to} et: {et}') | |
| pass | |
| return d,tog | |
| def sesh_start(): | |
| t = time.gmtime() | |
| t_stamp = time.time() | |
| current_time = time.strftime("%H:%M:%S", t) | |
| return gr.update(value=t_stamp),gr.update(value=t_stamp),gr.update(value=0) | |
| def clear_fn(): | |
| return None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None | |
| start_box.change(sesh_end,[start_box,end_box],[start_box,tog_box],every=1,show_progress=False) | |
| run.click(sesh_start,None,[start_box,end_box,tog_box]) | |
| run1=run.click(send_it1, inputs=[prompt], outputs=[output1]) | |
| run2=run.click(send_it2, inputs=[prompt], outputs=[output2]) | |
| run3=run.click(send_it3, inputs=[prompt], outputs=[output3]) | |
| run4=run.click(send_it4, inputs=[prompt], outputs=[output4]) | |
| run5=run.click(send_it5, inputs=[prompt], outputs=[output5]) | |
| run6=run.click(send_it6, inputs=[prompt], outputs=[output6]) | |
| run7=run.click(send_it7, inputs=[prompt], outputs=[output7]) | |
| run8=run.click(send_it8, inputs=[prompt], outputs=[output8]) | |
| run9=run.click(send_it9, inputs=[prompt], outputs=[output9]) | |
| run10=run.click(send_it10, inputs=[prompt], outputs=[output10]) | |
| run11=run.click(send_it11, inputs=[prompt], outputs=[output11]) | |
| run12=run.click(send_it12, inputs=[prompt], outputs=[output12]) | |
| run13=run.click(send_it13, inputs=[prompt], outputs=[output13]) | |
| run14=run.click(send_it14, inputs=[prompt], outputs=[output14]) | |
| run15=run.click(send_it15, inputs=[prompt], outputs=[output15]) | |
| run16=run.click(send_it16, inputs=[prompt], outputs=[output16]) | |
| run17=run.click(send_it17, inputs=[prompt], outputs=[output17]) | |
| run18=run.click(send_it18, inputs=[prompt], outputs=[output18]) | |
| run19=run.click(send_it19, inputs=[prompt], outputs=[output19]) | |
| run20=run.click(send_it20, inputs=[prompt], outputs=[output20]) | |
| prompt1=see_prompts.click(get_prompts, inputs=[input_text], outputs=[prompt],cancels=[run1,run2,run3,run4,run5,run6,run7,run8,run9,run10,run11,run12,run13,run14,run15,run16,run17,run18,run19,run20]) | |
| clear_btn.click(clear_fn, None, | |
| [input_text,prompt,output1,output2,output3,output4,output5,output6,output7,output8,output9,output10,output11,output12,output13,output14,output15,output16,output17,output18,output19,output20], | |
| cancels=[prompt1,run1,run2,run3,run4,run5,run6,run7,run8,run9,run10,run11,run12,run13,run14,run15,run16,run17,run18,run19,run20]) | |
| tog_box.change(clear_it,tog_box,tog_box,cancels=[run1,run2,run3,run4,run5,run6,run7,run8,run9,run10,run11,run12,run13,run14,run15,run16,run17,run18,run19,run20,prompt1]) | |
| myface.queue(concurrency_count=600,status_update_rate=1) | |
| myface.launch(inline=True,show_api=False) |