File size: 4,639 Bytes
6fef025
89c5f18
f5b8400
53b0019
 
b5a428c
c469318
 
f10ca82
 
798197a
d113260
798197a
53b0019
 
c469318
 
78de4d8
e1f870a
b21c027
 
8980225
f5b8400
 
 
 
 
 
 
 
 
 
 
6fef025
 
 
81987e1
6fef025
81987e1
19aac56
f5b8400
6fef025
 
 
f5b8400
 
6fef025
 
f5b8400
 
fc42fea
6fef025
 
f5b8400
 
 
25a1729
6177a01
 
6fef025
 
 
bdcf524
6b70d61
78de4d8
8f8f343
89c5f18
 
3977ac5
 
 
 
 
8f8f343
3977ac5
 
 
 
 
 
8f8f343
ff245b7
8f8f343
 
 
89c5f18
8f8f343
 
e7bc2e8
8f8f343
 
556ec8a
 
 
 
 
 
f5b8400
89c5f18
556ec8a
 
 
 
 
 
 
 
 
 
8fc64ff
e5beca8
89c5f18
 
 
 
 
 
 
 
 
8fc64ff
 
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
import gradio as gr
from random import randint
from all_models import models
from datetime import datetime


now2=0

#kii = "nude femboy sissy with small penis,  bound anal sex orgy party, perfect penis, oral sex, threesum, head between thighs, glans inside mouth, cuming from glans"
#kii = "score_9, score_8_up, score_7_up, absurdres, 1femboy, long blonde hair, thin, skinny, full body image,  lithe, young, blue eyes, glasses, small, tiny, flat chest, little, short,  femboy body, nude,  mouth open,  penis, peeing from glans, peeing in mouth, veiny penis,  veins,  barefoot, feet, wet, peeing from glans,  wet body, wet feet,  wet hair, wet body,  bathroom, bathroom background,  pee, peeing, pissing, sex, anal, anal sex, fucking, precum, pee, peeing, pissing, precum, man with femboy, man fucking femboy, man having with femboy, fucking, femboy being anal man, cowgirl sex position, cowgirl anal, cowgirl position, legs up, feet up,  2 boys, cinematic lighting, dramatic angle, volumetric lighting,  peeing from glans"
#kii= "2characters, interracial, BREAK ,(1man black nude standing peeing from glans, peeing into mouth), BREAK ,(1femboy white nude kneeling, tiny penis, medium breasts, nipples pierced, blindfolded, legs spread, pee dripping from chin, mouth wide open, leather collar, chain leash), realisitic human textures,"
kii= "Nude 2Femboy showering, tiny penis, kissing"

def get_current_time():
    now = datetime.now()
    now2=now
    current_time = now2.strftime("%Y-%m-%d %H:%M:%S")
    
    ki=f'{kii} {current_time}'
    return ki


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 = len(models)
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(randint(0, 9999))
    
    return models_load[model_str](f'{prompt} {noise}')



def make_me():
    with gr.Tab('The Dream'): 
        txt_input = gr.Textbox(label = 'Your prompt:', lines=4, value=kii ).style(container=False,min_width=1200)
        gen_button = gr.Button('Generate up to 6 images in up to 3 minutes total')
        stop_button = gr.Button('Stop', variant = 'secondary', interactive = False)
        gen_button.click(lambda s: gr.update(interactive = True), None, stop_button)
        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 and select models.</p>
                </div>
                </body>
              </div>
            </div>
        """
               )
        with gr.Row():
            output = [gr.Image(label = m, min_width=280) for m in default_models]
            current_models = [gr.Textbox(m, visible = False) for m in default_models]
                        
            for m, o in zip(current_models, output):
                gen_event = gen_button.click(gen_fn, [m, txt_input], o)
                stop_button.click(lambda s: gr.update(interactive = False), None, stop_button, cancels = [gen_event])
        with gr.Accordion('Model selection'):
            model_choice = gr.CheckboxGroup(models, label = f'Choose up to {num_models} different models from the 800 available!', value = default_models, multiselect = True, max_choices = num_models, interactive = True, filterable = False)
            model_choice.change(update_imgbox, model_choice, output)
            model_choice.change(extend_choices, model_choice, current_models)








            
        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>
    """
)

with gr.Blocks() as demo:
    make_me()
    
demo.queue(concurrency_count = 200)                        
demo.launch()