File size: 4,695 Bytes
5020bc6
 
 
 
 
 
1136965
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5020bc6
 
058ab8d
5020bc6
 
83169f8
5020bc6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83169f8
5020bc6
 
 
 
 
 
 
83169f8
5020bc6
a9d8c5f
5020bc6
 
 
 
058ab8d
5020bc6
 
 
 
 
 
 
 
 
 
 
83169f8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5020bc6
058ab8d
5020bc6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83169f8
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
import gradio as gr
import os
import sys
from pathlib import Path

models = [
    {"name": "Dreamlike Photoreal", "url": "dreamlike-art/dreamlike-photoreal-2.0"},
    {"name": "AmiIReal", "url": "stablediffusionapi/amireal"},
    {"name": "Analog Diffusion", "url": "wavymulder/Analog-Diffusion"},
    {"name": "Circulus 2.8", "url": "circulus/sd-photoreal-v2.8"},
    {"name": "Circulus Photoreal V2", "url": "circulus/sd-photoreal-real-v2"},
    {"name": "Claudfuen 1", "url": "claudfuen/photorealistic-fuen-v1"},
    {"name": "Collage Diffusion", "url": "wavymulder/collage-diffusion"},
    {"name": "Cyberrealistic", "url": "stablediffusionapi/cyberrealistic"},
    {"name": "Dreamful 2", "url": "Hius/DreamFul-V2"},
    {"name": "Dreamlike Photoreal", "url": "dreamlike-art/dreamlike-photoreal-2.0"},
    {"name": "GakkiMix768", "url": "Sa1i/gakki-mix-768"},
    {"name": "Grimoeresigils", "url": "ECarbenia/grimoiresigils"},
    {"name": "HARDBlend", "url": "theintuitiveye/HARDblend"},
    {"name": "HassanBlend 1.4", "url": "hassanblend/hassanblend1.4"},
    {"name": "HassanBlend 1.5.1.2", "url": "hassanblend/HassanBlend1.5.1.2"},
    {"name": "Lomo Diffusion", "url": "wavymulder/lomo-diffusion"},
    {"name": "Model Shoot", "url": "wavymulder/modelshoot"},
    {"name": "Portrait Plus", "url": "wavymulder/portraitplus"},
    {"name": "QuinceMix", "url": "Hemlok/QuinceMix"},
    {"name": "Realistic Vision 1.4", "url": "SG161222/Realistic_Vision_V1.4"},
    {"name": "The Ally", "url": "stablediffusionapi/the-ally"},
    {"name": "Timeless Diffusion", "url": "wavymulder/timeless-diffusion"},
    {"name": "UltraSkin", "url": "VegaKH/Ultraskin"},
    {"name": "Wavyfusion", "url": "wavymulder/wavyfusion"},
]


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)