File size: 3,863 Bytes
97e93b6
 
 
 
 
 
3420192
 
 
 
 
 
97e93b6
 
 
 
270c82d
97e93b6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
270c82d
97e93b6
 
 
 
 
 
 
270c82d
97e93b6
270c82d
97e93b6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
270c82d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97e93b6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
270c82d
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": "Archer Diffusion", "url": "nitrosocke/archer-diffusion"},
    {"name": "Icomix 2", "url": "stablediffusionapi/icomix-2"},
    {"name": "Mo-Di Diffusion", "url": "nitrosocke/mo-di-diffusion"},
    {"name": "Comic Diffusion", "url": "ogkalu/Comic-Diffusion"},
    {"name": "Marvel WhatIf Diffusion", "url": "ItsJayQz/Marvel_WhatIf_Diffusion"},
    {"name": "Nitro Diffusion", "url": "nitrosocke/Nitro-Diffusion"},
]

current_model = models[0]

text_gen = gr.Interface.load("spaces/Omnibus/MagicPrompt-Stable-Diffusion_link") 

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", 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="")
    with gr.Row():
        magic1 = gr.Textbox(lines=2)
        magic2 = gr.Textbox(lines=2)
    with gr.Row():            
        output3 = gr.Image(label="")
        output4 = gr.Image(label="")
    with gr.Row():
        magic3 = gr.Textbox(lines=2)
        magic4 = gr.Textbox(lines=2)
    with gr.Row():
        output5 = gr.Image(label="")
        output6 = gr.Image(label="")
    with gr.Row():
        magic5 = gr.Textbox(lines=2)
        magic6 = gr.Textbox(lines=2)
    with gr.Row():   
        output7 = gr.Image(label="")
        output8 = gr.Image(label="")
    with gr.Row():
        magic7 = gr.Textbox(lines=2)
        magic8 = gr.Textbox(lines=2)

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

    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])

    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])

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