File size: 5,713 Bytes
1ee1b39
b3f2e04
9405fcc
 
400833e
e9ee4ce
 
9405fcc
 
 
 
 
 
 
 
 
 
 
e9ee4ce
400833e
9405fcc
 
 
02001b9
9405fcc
b7236f0
a29b766
 
9405fcc
 
07eca3d
2ba3409
9405fcc
 
42203a0
 
2ba3409
9405fcc
 
 
 
 
7d6469d
b46ae9a
 
 
 
 
9405fcc
edd0581
 
 
b46ae9a
edd0581
 
 
c48d832
a53b17d
b46ae9a
bd650f6
b46ae9a
 
bd650f6
b46ae9a
 
 
4a7ad4a
 
42203a0
b46ae9a
 
 
 
 
 
 
 
 
 
42203a0
b46ae9a
 
 
 
a53b17d
b46ae9a
 
 
a47abbb
b46ae9a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42203a0
4a7ad4a
bd650f6
 
4a7ad4a
b46ae9a
bd650f6
9405fcc
 
 
 
b46ae9a
9405fcc
 
 
abf1c42
8d18720
9405fcc
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
123
124

import gradio as gr
from random import randint
from all_models import models



def load_fn(models):
    global models_load
    models_load = {}
    
    for model in models:
        if model not in models_load.keys():
            try:
                m = gr.load(f'models/{model}')
            except Exception as error:
                m = gr.Interface(lambda txt: None, ['text'], ['image'])
            models_load.update({model: m})


load_fn(models)


num_models = 1
default_models = models[:num_models]



def extend_choices(choices):
    return choices + (num_models - len(choices)) * ['NA']


def update_imgbox(choices):
    choices_plus = extend_choices(choices)
    return [gr.Image(None, label=m, visible=(m != 'NA'), format="png") for m in choices_plus]


def gen_fn(model_str, prompt):
    if model_str == 'NA':
        return None
    noise = str('') #str(randint(0, 99999999999))
    return models_load[model_str](f'{prompt} {noise}')

def gen_fnsix(model_str, prompt):
    if model_str == 'NA':
        return None
    noisesix = str(randint(1941, 2023)) #str(randint(0, 99999999999))
    return models_load[model_str](f'{prompt} {noisesix}')
with gr.Blocks() as demo:
    gr.HTML(
    """
        <div>
        <p> <center><img src="https://huggingface.co/Yntec/OpenGenDiffusers/resolve/main/pp.png" style="height:128px; width:482px; margin-top: -22px; margin-bottom: -44px;" span title="Free ai art image generator Printing Press"></center>
        </p>
    """
)    
    with gr.Tab('One Image'):
        model_choice = gr.Dropdown(models, label = 'Choose a model from the 695 available!', value = models[0], filterable = False)
        txt_input = gr.Textbox(label = 'Your prompt:')
        
        max_imagesone = 1
        num_imagesone = gr.Slider(1, max_imagesone, value = max_imagesone, step = 1, label = 'Nobody gets to see this label so I can put here whatever I want!', visible = False)
        
        gen_button = gr.Button('Generate')
        stop_button = gr.Button('Stop', variant = 'secondary', interactive = False)
        gen_button.click(lambda s: gr.update(interactive = True), None, stop_button)
        
        with gr.Row():
            output = [gr.Image(label='', format="png") for _ in range(max_imagesone)]

        for i, o in enumerate(output):
            img_in = gr.Number(i, visible = False)
            num_imagesone.change(lambda i, n: gr.update(visible = (i < n)), [img_in, num_imagesone], o, show_progress = False)
            gen_event = gen_button.click(lambda i, n, m, t: gen_fn(m, t) if (i < n) else None, [img_in, num_imagesone, model_choice, txt_input], o)
            stop_button.click(lambda s: gr.update(interactive = False), None, stop_button, cancels = [gen_event])
        with gr.Row():
            gr.HTML(
    """
        <div class="footer">
        <p> My name is Joseph Erickson (Gandalf the Black) and I fixxed this project and got it working again, I really love it and had to repair it I missed it that bad. Based on the <a href="https://huggingface.co/spaces/derwahnsinn/TestGen">TestGen</a> Space by derwahnsinn, the <a href="https://huggingface.co/spaces/RdnUser77/SpacIO_v1">SpacIO</a> Space by RdnUser77, Omnibus's Maximum Multiplier, <a href="https://huggingface.co/spaces/Yntec/Diffusion60XX">Diffusion60XX</a> and <a href="https://huggingface.co/spaces/Yntec/ToyWorld">Toy World</a>!
        </p>
    """
)
    with gr.Tab('Up To Six'):
        model_choice2 = gr.Dropdown(models, label = 'Choose a model from the 695 available!', value = models[0], filterable = False)
        txt_input2 = gr.Textbox(label = 'Your prompt:')
        
        max_images = 6
        num_images = gr.Slider(1, max_images, value = max_images, step = 1, label = 'Number of images (if you want less than 6 decrease them slowly until they match the boxes below)')
        
        gen_button2 = gr.Button('Generate up to 6 images in up to 3 minutes total')
        stop_button2 = gr.Button('Stop', variant = 'secondary', interactive = False)
        gen_button2.click(lambda s: gr.update(interactive = True), None, stop_button2)
        gr.HTML(
        """
            <div style="text-align: center; max-width: 1200px; margin: 0 auto;">
              <div>
                <body>
                <div class="center"><p style="margin-bottom: 10px; color: #000000;">Scroll down to see more images (they generate in a random order).</p>
                </div>
                </body>
              </div>
            </div>
        """
               )
        with gr.Column():
            output2 = [gr.Image(label='', format="png") for _ in range(max_images)]

        for i, o in enumerate(output2):
            img_i = gr.Number(i, visible = False)
            num_images.change(lambda i, n: gr.update(visible = (i < n)), [img_i, num_images], o, show_progress = False)
            gen_event2 = gen_button2.click(lambda i, n, m, t: gen_fnsix(m, t) if (i < n) else None, [img_i, num_images, model_choice2, txt_input2], o)
            stop_button2.click(lambda s: gr.update(interactive = False), None, stop_button2, cancels = [gen_event2])
        with gr.Row():
            gr.HTML(
    """
        <div class="footer">
        <p> Based on the <a href="https://huggingface.co/spaces/derwahnsinn/TestGen">TestGen</a> Space by derwahnsinn, the <a href="https://huggingface.co/spaces/RdnUser77/SpacIO_v1">SpacIO</a> Space by RdnUser77, Omnibus's Maximum Multiplier, <a href="https://huggingface.co/spaces/Yntec/Diffusion60XX">Diffusion60XX</a> and <a href="https://huggingface.co/spaces/Yntec/ToyWorld">Toy World</a>!
        </p>
    """
)
#demo.queue(max_concurrent=200)
#demo.queue(concurrency_count = 200)                        
demo.launch()