import gradio as gr import os import sys from pathlib import Path import time import accelerate models = [ "", "runwayml/stable-diffusion-v1-5", "CompVis/stable-diffusion-v1-4", "claudfuen/photorealistic-fuen-v1", "andite/anything-v4.0", "naclbit/trinart_stable_diffusion_v2", "nitrosocke/Arcane-Diffusion", "nitrosocke/archer-diffusion", "nitrosocke/elden-ring-diffusion", "nitrosocke/redshift-diffusion", "nitrosocke/spider-verse-diffusion", "nitrosocke/mo-di-diffusion", "nitrosocke/classic-anim-diffusion", "dreamlike-art/dreamlike-photoreal-1.0", "dreamlike-art/dreamlike-photoreal-2.0", "wavymulder/wavyfusion", "wavymulder/Analog-Diffusion", "prompthero/midjourney-v4-diffusion", "prompthero/openjourney", "dallinmackay/Van-Gogh-diffusion", "hakurei/waifu-diffusion", "DGSpitzer/Cyberpunk-Anime-Diffusion", "Fictiverse/Stable_Diffusion_BalloonArt_Model", "dallinmackay/Tron-Legacy-diffusion", "AstraliteHeart/pony-diffusion", "nousr/robo-diffusion", "Linaqruf/anything-v3", "Omnibus/maximum_diffusion_fast", "", ] 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[9] model_8=models[13] model_9=models[14] model_10=models[15] model_11=models[16] model_12=models[17] 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) ''' proc1=gr.Interface.load("models/nitrosocke/Arcane-Diffusion", live=False, preprocess=True, postprocess=False) proc2=gr.Interface.load("models/naclbit/trinart_stable_diffusion_v2", live=False, preprocess=True, postprocess=False) proc3=gr.Interface.load("models/nitrosocke/redshift-diffusion", live=False, preprocess=True, postprocess=False) proc4=gr.Interface.load("models/runwayml/stable-diffusion-v1-5", live=False, preprocess=True, postprocess=False) proc5=gr.Interface.load("models/claudfuen/photorealistic-fuen-v1", live=False, preprocess=True, postprocess=False) proc6=gr.Interface.load("models/CompVis/stable-diffusion-v1-4", live=False, preprocess=True, postprocess=False) proc7=gr.Interface.load("models/Linaqruf/anything-v3.0", live=False, preprocess=True, postprocess=False) proc8=gr.Interface.load("models/andite/anything-v4.0", live=False, preprocess=True, postprocess=False) proc9=gr.Interface.load("models/dreamlike-art/dreamlike-photoreal-1.0", live=False, preprocess=True, postprocess=False) proc10=gr.Interface.load("models/prompthero/openjourney", live=False, preprocess=True, postprocess=False) proc11=gr.Interface.load("models/prompthero/midjourney-v4-diffusion", live=False, preprocess=True, postprocess=False) proc12=gr.Interface.load("models/wavymulder/Analog-Diffusion", 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 main(): with gr.Blocks(batch=False) as myface: with gr.Row(): with gr.Tab("Title"): gr.HTML("""Maximum Diffusion

Maximum Diffusion



Text to Image Model Comparison Space - CPU


This space becomes quickly encumbered when even 1 model of 12 fails to load, or error out

Any tips on how to "time-out" Gradio.Interface models are welcome in the "Community" button above

""") 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("Credits"): with gr.Row(): gr.Column() with gr.Column(style="text-align:left;"): gr.HTML("""

I learned everything I know from:

Finetuned Diffusion

Magic Prompt Stable Diffusion

Magic Diffusion

Models by @Gustavosta, @haruu1367, @Helixngc7293, @dal_mack, @prompthero and others.

""") gr.Column() with gr.Tab("Tools"): with gr.Tab("View"): with gr.Row(): 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.Row(): 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(): output1=gr.Image(label=(f"{model_1}")) output2=gr.Image(label=(f"{model_2}")) output3=gr.Image(label=(f"{model_3}")) output4=gr.Image(label=(f"{model_4}")) with gr.Row(): output5=gr.Image(label=(f"{model_5}")) output6=gr.Image(label=(f"{model_6}")) output7=gr.Image(label=(f"{model_7}")) output8=gr.Image(label=(f"{model_8}")) with gr.Row(): output9=gr.Image(label=(f"{model_9}")) output10=gr.Image(label=(f"{model_10}")) output11=gr.Image(label=(f"{model_11}")) output12=gr.Image(label=(f"{model_12}")) see_prompts.click(get_prompts, inputs=[input_text], outputs=[prompt]) 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]) myface.queue(concurrency_count=600,status_update_rate=1) myface.launch(enable_queue=True,inline=True,max_threads=600) if __name__ == "__main__": main()