File size: 4,181 Bytes
a135ca7
 
 
 
 
 
1f65e7e
 
 
 
 
a135ca7
 
 
 
083ea08
a135ca7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ce55938
a135ca7
 
 
 
 
 
 
ce55938
a135ca7
ce55938
a135ca7
 
 
 
083ea08
a135ca7
 
 
 
 
 
 
 
 
 
 
ce55938
 
 
 
 
 
083ea08
 
 
ce55938
083ea08
ce55938
 
 
083ea08
 
 
 
ce55938
 
083ea08
ce55938
083ea08
 
 
a135ca7
083ea08
a135ca7
 
 
 
 
 
 
 
 
083ea08
a135ca7
 
 
 
 
 
 
 
 
083ea08
a135ca7
 
083ea08
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
import gradio as gr
import os
import sys
from pathlib import Path

models = [
    {"name": "All 526", "url": "stablediffusionapi/all-526"},
    {"name": "All 526 animated", "url": "stablediffusionapi/all-526-animated"},
    {"name": "Circulus Semi Real 2", "url": "circulus/sd-photoreal-semi-v2"},
    {"name": "Semi Real Mix", "url": "robotjung/SemiRealMix"},
    {"name": "SpyBG", "url": "stablediffusionapi/spybg"},
]

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)
    with gr.Row():
        output7 = gr.Image(label="")
        output8 = gr.Image(label="")
        output9 = gr.Image(label="")
    with gr.Row():
        magic7 = gr.Textbox(label="Generated Prompt", lines=2)
        magic8 = gr.Textbox(label="Generated Prompt", lines=2)
        magic9 = gr.Textbox(label="Generated Prompt", lines=2)

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

    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])
    run.click(send_it, inputs=[magic7, model_name1], outputs=[output7])
    run.click(send_it, inputs=[magic8, model_name1], outputs=[output8])
    run.click(send_it, inputs=[magic9, model_name1], outputs=[output9])

    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])
    see_prompts.click(text_it, inputs=[input_text], outputs=[magic7])
    see_prompts.click(text_it, inputs=[input_text], outputs=[magic8])
    see_prompts.click(text_it, inputs=[input_text], outputs=[magic9])

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