Spaces:
Running
Running
import gradio as gr | |
from utils import extract_data, remove_id_and_ext | |
from prodiapy import Custom | |
import os | |
pipe = Custom(os.getenv('PRODIA_API_KEY')) | |
model_list = pipe.constant("/sd/models") | |
model_names = {} | |
for model_name in model_list: | |
name_without_ext = remove_id_and_ext(model_name) | |
model_names[name_without_ext] = model_name | |
def update_btn_start(): | |
return [ | |
gr.update(visible=False), | |
gr.update(visible=True) | |
] | |
def update_btn_end(): | |
return [ | |
gr.update(visible=True), | |
gr.update(visible=False) | |
] | |
def switch_to_t2i(): | |
return gr.Tabs.update(selected="t2i") | |
def send_to_txt2img(image): | |
try: | |
text = image.info['parameters'] | |
data = extract_data(text) | |
if data['model'] in model_names: | |
model = gr.update(value=model_names[data['model']]) | |
else: | |
model = gr.update() | |
result = [ | |
gr.update(value=data['prompt']), | |
gr.update(value=data['negative_prompt']) if data['negative_prompt'] is not None else gr.update(), | |
gr.update(value=int(data['steps'])) if data['steps'] is not None else gr.update(), | |
gr.update(value=int(data['seed'])) if data['seed'] is not None else gr.update(), | |
gr.update(value=float(data['cfg_scale'])) if data['cfg_scale'] is not None else gr.update(), | |
gr.update(value=int(data['w'])) if data['w'] is not None else gr.update(), | |
gr.update(value=int(data['h'])) if data['h'] is not None else gr.update(), | |
gr.update(value=data['sampler']) if data['sampler'] is not None else gr.update(), | |
model | |
] | |
return result | |
except Exception as e: | |
print(e) | |
return | |