|
import gradio as gr |
|
from random import randint |
|
from all_models import models |
|
from datetime import datetime |
|
|
|
|
|
now2=0 |
|
|
|
|
|
|
|
|
|
kii= "score_9, score_8_up, score_7_up, cute sissy male kneeling, feminine ,thin cute, each other, short brunette tomboy hair, femboy standing fit tomboy student, , tiny sissy penis, flat chest, detailed face, pink frilly sissy dress, school, classroom, pink frilly outfit, pink frilly white panties with bows, panty bulge, sissy penis in panties, pink sissy dress with short sleeves, bows on dress, fucked in the anus, group anal sex, bows in hair, pink choker, intruded, caught, embarrassed, blushing, walk-in-caught, knee-high socks, pink high heels, wide angle, forced crossdressing, sissy style, sissy student, garter belt, sissy tutu dress, long skirt, pink sissy dress with long frilly skirt, beautiful princess dress, prissy sissy dress, pink frilly dress, dress with pretty skirt, one femboy giving oral sex to another femboy, deep oral penetration, cum in mouth, blowjob, one femboy kneeling and sucking another femboys penis, oral blowjob, femboy gangbang, classroom full of cute slutty femboys, femboy gangbang, detailed background characters, realisitic human textures," |
|
|
|
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() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|