File size: 5,227 Bytes
be56a1e
 
 
 
 
 
8838d0f
5a21032
 
 
 
 
7fc6e0a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5a21032
7fc6e0a
 
 
 
 
 
 
 
 
 
 
be56a1e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5a21032
be56a1e
 
aef4158
be56a1e
 
 
 
 
 
5a21032
 
be56a1e
 
 
 
 
 
aef4158
5a21032
aef4158
be56a1e
 
 
 
 
aef4158
5a21032
aef4158
be56a1e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
import os
import sys
from pathlib import Path

models = [
    {"name": "هنری", "url": "DucHaiten/DucHaitenAIart"},
    {"name": "انیمه", "url": "DucHaiten/DH_ClassicAnime"},
    {"name": "دنیای رویایی", "url": "DucHaiten/DucHaitenDreamWorld"},
    {"name": "سفر", "url": "DucHaiten/DucHaitenJourney"},
    {"name": "استایل مشابه من", "url": "DucHaiten/DucHaiten-StyleLikeMe"},
    {"name": "خیلی بامزه", "url": "DucHaiten/DucHaitenSuperCute"},
    {"name": "سمت تاریک", "url": "DucHaiten/DucHaitenDarkside"},
    {"name": "اینیمیت شده", "url": "DucHaiten/DucHaitenAnimated"},
    {"name": "1", "url": "DucHaiten/DucHaiten-GODofSIMP"},
    {"name": "2", "url": "DucHaiten/DucHaitenWaifu"},
    {"name": "3", "url": "DucHaiten/DucHaiten-LoFi"},
    {"name": "4", "url": "DucHaiten/DucHaitenNiji"},
    {"name": "5", "url": "DucHaiten/DucHaiten-MindBreak"},
    {"name": "6", "url": "DucHaiten/DucHaiten-AnimeFurry"},
    {"name": "7", "url": "DucHaiten/beta"},
    {"name": "8", "url": "DucHaiten/DucHaiten-DarkNiji"},
    {"name": "9", "url": "DucHaiten/DucHaiten-AsianGirl"},
    {"name": "10", "url": "DucHaiten/DucHaiten-FANCYxFANCY"},
    {"name": "11", "url": "DucHaiten/DucHaiten-GoldenLife"},
    {"name": "12", "url": "DucHaiten/DucHaiten-Retro"},
    {"name": "13", "url": "DucHaiten/DucHaiten-AnyUnreal"},
    {"name": "رندر سه بعدی ردشیفت ۷۶۸", "url": "nitrosocke/redshift-diffusion-768"},
    {"name": "a", "url": "nitrosocke/redshift-diffusion"},
    {"name": "s", "url": "nitrosocke/Ghibli-Diffusion"},
    {"name": "d", "url": "nitrosocke/Nitro-Diffusion"},
    {"name": "f", "url": "nitrosocke/classic-anim-diffusion"},
    {"name": "g", "url": "nitrosocke/mo-di-diffusion"},
    {"name": "h", "url": "nitrosocke/archer-diffusion"},
    {"name": "j", "url": "nitrosocke/spider-verse-diffusion"},
    {"name": "k", "url": "nitrosocke/elden-ring-diffusion"},
    {"name": "l", "url": "nitrosocke/Arcane-Diffusion"},
    {"name": "z", "url": "nitrosocke/Future-Diffusion"},
    {"name": "x", "url": "nitrosocke/disco-elysium"},
]

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="ایده درخواستی",  placeholder="", lines=1)
            # Model selection dropdown
            model_name1 = gr.Dropdown(
                label="نوع تصویر سازی",
                choices=[m["name"] for m in models],
                type="index",
                value=current_model["name"],
                interactive=True,
            )
        with gr.Row():
            see_prompts = gr.Button("تولید خودکار شرح درخواست")
            run = gr.Button("تولید تصاویر", variant="primary")
    
    with gr.Row():
        output1 = gr.Image(label="")
        output2 = gr.Image(label="")
        output3 = gr.Image(label="")
    with gr.Row():
        magic1 = gr.Textbox(label="شرح درخواست ۳", lines=2)
        magic2 = gr.Textbox(label="شرح درخواست ۲", lines=2)
        magic3 = gr.Textbox(label="شرح درخواست ۱", lines=2)
    with gr.Row():
        output4 = gr.Image(label="")
        output5 = gr.Image(label="")
        output6 = gr.Image(label="")
    with gr.Row():
        magic4 = gr.Textbox(label="شرح درخواست ۶", lines=2)
        magic5 = gr.Textbox(label="شرح درخواست ۵", lines=2)
        magic6 = gr.Textbox(label="شرح درخواست ۴", 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)