File size: 3,791 Bytes
be56a1e
 
 
 
 
 
8838d0f
5a21032
 
 
 
 
 
 
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
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": "nitrosocke/redshift-diffusion-768"},
    {"name": "رندر سه بعدی ردشیفت", "url": "nitrosocke/redshift-diffusion"},
]

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)