File size: 3,575 Bytes
b6b08f6
af2f25b
b593cfa
477a5c9
7416ccf
b593cfa
 
f97094c
b593cfa
f97094c
477a5c9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b593cfa
 
bd88d47
82dac02
c30ef6f
7b3209b
db124c0
81825d2
82dac02
bd88d47
a2ffcba
510f059
82dac02
4b9f915
 
b593cfa
4b9f915
f16e6a1
4b9f915
 
82dac02
4b9f915
bd88d47
b593cfa
a2ffcba
b593cfa
 
 
 
 
a2ffcba
b593cfa
184a373
82dac02
b593cfa
c30ef6f
184a373
adeb81f
dfd7221
 
0ec4659
 
 
adeb81f
d3fb471
b6eb1a4
 
184a373
b6eb1a4
184a373
 
4e98d1d
f0174d9
b593cfa
4b9f915
 
0ec4659
9cbeb64
184a373
82dac02
b593cfa
82dac02
15fe5dd
 
 
 
0ec4659
9cbeb64
8646ee7
af2f25b
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
import gradio as gr
import os
import requests
import random
import time
r = requests.get(f'https://huggingface.co/spaces/xp3857/text-to-image/raw/main/css.css') 
css = r.text
name2 = "runwayml/stable-diffusion-v1-5"

model = gr.Interface.load(f"models/{name2}")
models=[
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
    gr.Interface.load(f"models/{name2}"),
]
#o = os.getenv("P")
o = "V"

m_out = ("""
<div id="restart">
<h3 id="head">Loading Time Limit Reached.</h3><br>
<h4 id="cont">Please choose a Simpler Prompt, or <b>Upgrade</b> for faster loading.</h4>
</div>
""")

def ac():
    def clear():
        return gr.update(value=0),gr.update(value=0)
    def start():
        stamp = time.time()
        return gr.update(value=stamp),gr.update(value=0)
    def end(stamp):
        ts = stamp + 120
        ti = time.time()
        if ti > ts and stamp != 0:
            return gr.update(value=1),gr.HTML.update(f"{m_out}", visible=True)
        else:
            return gr.update(value=0),None
    def im_fn(put,fac="",h=None):
        if h == o:
            put = f"{put}{fac}"
            fac = f"{fac} "
            rn = random.randint(0, 19)
            model=models[rn]
            return model(put),fac
        elif h != o:
            return(None,None)
    def cl_fac():
        return "",gr.HTML.update("", visible=False)
    with gr.Blocks(css=css) as b:
        
        with gr.Row():
            gr.Column()
            with gr.Column():
                put = gr.Textbox()     
                with gr.Row():
                    btn1 = gr.Button("Run")
                    btn2 = gr.Button("Clear")
            gr.Column()
        message=gr.HTML("", visible=False)
        with gr.Row():
            out1 = gr.Image()
            out2 = gr.Image()
        with gr.Row():
            out3 = gr.Image()
            out4 = gr.Image()

        with gr.Row(visible=False):
            h=gr.Textbox(value="V")
            t_state=gr.Number()
            t_switch=gr.Textbox(value=0)
        def clear_all():
            return "",None,None,None,None,None,None,1
        fac_b = gr.Textbox(value="",visible=False)
        btn1.click(cl_fac,None,[fac_b,message])
        b1=btn1.click(start,None,[t_state,t_switch])
        sta = t_state.change(end,t_state,[t_switch,message],every=1,show_progress=False)
        b2=btn1.click(im_fn,[put,fac_b,h],[out1,fac_b])
        b3=out1.change(im_fn,[put,fac_b,h],[out2,fac_b])        
        b4=out2.change(im_fn,[put,fac_b,h],[out3,fac_b])        
        b5=out3.change(im_fn,[put,fac_b,h],[out4,fac_b])  
        swi=t_switch.change(clear,None,[t_switch,fac_b], cancels=[sta,b2,b3,b4,b5])
        btn2.click(clear_all, None,[fac_b,put,out1,out2,out3,out4,t_state,t_switch],cancels=[b1,sta,b2,b3,b4,b5,swi])
    b.queue(concurrency_count=100).launch(show_api=False)
ac()