File size: 2,847 Bytes
9405fcc
 
 
400833e
e9ee4ce
 
9405fcc
 
 
 
 
 
 
 
 
 
 
e9ee4ce
400833e
9405fcc
 
 
02001b9
9405fcc
b7236f0
a29b766
 
9405fcc
 
07eca3d
2ba3409
9405fcc
 
 
2ba3409
9405fcc
 
 
 
 
 
7d6469d
 
 
9405fcc
edd0581
 
 
dfa10ec
edd0581
 
 
c48d832
4a7ad4a
 
bd650f6
470c2d7
c48d832
bd650f6
4a7ad4a
bd650f6
 
4a7ad4a
 
 
 
bd650f6
 
4a7ad4a
bd650f6
 
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
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')) 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}')



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; padding-top:0px;" span title="Free ai art image generator Printing Press"></center>
        </p>
    """
)    
    with gr.Tab('One Image'):
        model_choice2 = gr.Dropdown(models, label = 'Choose model', value = models[0], filterable = False)
        txt_input2 = gr.Textbox(label = 'Prompt text')
        
        max_images = 1
        num_images = gr.Slider(1, max_images, value = max_images, step = 1, label = 'Number of images (more images coming soon, stay tuned!)')
        
        gen_button2 = gr.Button('Generate')
        stop_button2 = gr.Button('Stop', variant = 'secondary', interactive = False)
        gen_button2.click(lambda s: gr.update(interactive = True), None, stop_button2)
        
        with gr.Row():
            output2 = [gr.Image(label = '') 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_fn(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 and Omnibus's Maximum Multiplier!
        </p>
    """
)

demo.queue(concurrency_count = 200)                        
demo.launch()