File size: 6,019 Bytes
5020bc6
 
 
 
 
 
28f0c64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5020bc6
 
 
 
d9ea998
5020bc6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d9ea998
5020bc6
 
 
 
 
 
 
d9ea998
5020bc6
a9d8c5f
5020bc6
 
 
 
d9ea998
5020bc6
 
 
 
 
 
 
 
 
 
 
d9ea998
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5020bc6
d9ea998
5020bc6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d9ea998
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import gradio as gr
import os
import sys
from pathlib import Path

models = [
    {"name": "Anything Midjourney 4.1", "url": "Joeythemonster/anything-midjourney-v-4-1"},
    {"name": "Chaos and Order", "url": "Guizmus/SDArt_ChaosAndOrder768"},
    {"name": "Comic Diffusion", "url": "ogkalu/Comic-Diffusion"},
    {"name": "Cosmic Horros 768", "url": "Guizmus/SDArt_cosmichorrors768"},
    {"name": "Cosmic Horros", "url": "Guizmus/SDArt_cosmichorrors"},
    {"name": "DGSpitzer", "url": "DGSpitzer/DGSpitzer-Art-Diffusion"},
    {"name": "Dungeons and Diffusion", "url": "0xJustin/Dungeons-and-Diffusion"},
    {"name": "Elden Ring", "url": "nitrosocke/elden-ring-diffusion"},
    {"name": "Epic Diffusion 1.1", "url": "johnslegers/epic-diffusion-v1.1"},
    {"name": "Epic Diffusion", "url": "johnslegers/epic-diffusion"},
    {"name": "EpicMix Realism", "url": "Duskfallcrew/EpicMix_Realism"},
    {"name": "Fantasy Mix", "url": "theintuitiveye/FantasyMix"},
    {"name": "Girl New 1", "url": "Fred99774/girlnew1"},
    {"name": "Lit 6B", "url": "hakurei/lit-6B"},
    {"name": "Luna Diffusion", "url": "proximasanfinetuning/luna-diffusion"},
    {"name": "Midjourney 4.0", "url": "flax/midjourney-v4-diffusion"},
    {"name": "Midjourney 4.1", "url": "Joeythemonster/anything-midjourney-v-4-1"},
    {"name": "Mo-Di Diffusion", "url": "nitrosocke/mo-di-diffusion"},
    {"name": "Nitro Diffusion", "url": "nitrosocke/Nitro-Diffusion"},
    {"name": "Openjourney V2", "url": "prompthero/openjourney-v2"},
    {"name": "Openjourney", "url": "prompthero/openjourney"},
    {"name": "Seek Art Mega", "url": "coreco/seek.art_MEGA"},
    {"name": "Something", "url": "Guizmus/SDArt_something"},
    {"name": "Spider Verse diffusion", "url": "nitrosocke/spider-verse-diffusion"},
    {"name": "Vintedois 1.0", "url": "22h/vintedois-diffusion-v0-1"},
    {"name": "Vintedois 2.0", "url": "22h/vintedois-diffusion-v0-2"},
    {"name": "❤ ART STYLES ==========", "url": "joachimsallstrom/Double-Exposure-Diffusion"},
    {"name": "Balloon Art", "url": "Fictiverse/Stable_Diffusion_BalloonArt_Model"},
    {"name": "Double Exposure Diffusion", "url": "joachimsallstrom/Double-Exposure-Diffusion"},
    {"name": "Fluid Art", "url": "Fictiverse/Stable_Diffusion_FluidArt_Model"},
    {"name": "GTA5 Artwork Diffusion", "url": "ItsJayQz/GTA5_Artwork_Diffusion"},
    {"name": "Marvel WhatIf Diffusion", "url": "ItsJayQz/Marvel_WhatIf_Diffusion"},
    {"name": "Naruto Diffuser", "url": "lambdalabs/sd-naruto-diffusers"},
    {"name": "Papercut", "url": "Fictiverse/Stable_Diffusion_PaperCut_Model"},
    {"name": "Pokemon Diffuser", "url": "lambdalabs/sd-pokemon-diffusers"},
    {"name": "Synthwave Punk 2", "url": "ItsJayQz/SynthwavePunk-v2"},
    {"name": "Valorant Diffusion", "url": "ItsJayQz/Valorant_Diffusion"},
    {"name": "Van Gogh Diffusion", "url": "dallinmackay/Van-Gogh-diffusion"},
    {"name": "Vectorartz Diffusion", "url": "coder119/Vectorartz_Diffusion"},
    {"name": "VoxelArt", "url": "Fictiverse/Stable_Diffusion_VoxelArt_Model"},
]

current_model = models[0]

text_gen = gr.Interface.load("spaces/daspartho/prompt-extend") 

models2 = []
for model in models:
    model_url = f"models/{model['url']}"
    loaded_model = gr.Interface.load(model_url, live=True, preprocess=True)
    models2.append(loaded_model)


def text_it(inputs, text_gen=text_gen):
    return text_gen(inputs)


def set_model(current_model_index):
    global current_model
    current_model = models[current_model_index]
    return gr.update(value=f"{current_model['name']}")


def send_it(inputs, model_choice):
    proc = models2[model_choice]
    return proc(inputs)


with gr.Blocks() as myface:
    gr.HTML(

    )

    with gr.Row():
        with gr.Row():
            input_text = gr.Textbox(label="Prompt idea",  placeholder="", lines=1)
            # Model selection dropdown
            model_name1 = gr.Dropdown(
                label="Choose Model",
                choices=[m["name"] for m in models],
                type="index",
                value=current_model["name"],
                interactive=True,
            )
        with gr.Row():
            see_prompts = gr.Button("Generate Prompts")
            run = gr.Button("Generate Images", variant="primary")
    
    with gr.Row():
        output1 = gr.Image(label="")
        output2 = gr.Image(label="")
        output3 = gr.Image(label="")
    with gr.Row():
        magic1 = gr.Textbox(label="Generated Prompt", lines=2)
        magic2 = gr.Textbox(label="Generated Prompt", lines=2)
        magic3 = gr.Textbox(label="Generated Prompt", lines=2)
    with gr.Row():
        output4 = gr.Image(label="")
        output5 = gr.Image(label="")
        output6 = gr.Image(label="")
    with gr.Row():
        magic4 = gr.Textbox(label="Generated Prompt", lines=2)
        magic5 = gr.Textbox(label="Generated Prompt", lines=2)
        magic6 = gr.Textbox(label="Generated Prompt", lines=2)

    model_name1.change(set_model, inputs=model_name1, outputs=[output1, output2, output3, output4, output5, output6])

    run.click(send_it, inputs=[magic1, model_name1], outputs=[output1])
    run.click(send_it, inputs=[magic2, model_name1], outputs=[output2])
    run.click(send_it, inputs=[magic3, model_name1], outputs=[output3])
    run.click(send_it, inputs=[magic4, model_name1], outputs=[output4])
    run.click(send_it, inputs=[magic5, model_name1], outputs=[output5])
    run.click(send_it, inputs=[magic6, model_name1], outputs=[output6])

    see_prompts.click(text_it, inputs=[input_text], outputs=[magic1])
    see_prompts.click(text_it, inputs=[input_text], outputs=[magic2])
    see_prompts.click(text_it, inputs=[input_text], outputs=[magic3])
    see_prompts.click(text_it, inputs=[input_text], outputs=[magic4])
    see_prompts.click(text_it, inputs=[input_text], outputs=[magic5])
    see_prompts.click(text_it, inputs=[input_text], outputs=[magic6])

myface.queue(concurrency_count=200)
myface.launch(inline=True, show_api=False, max_threads=400)