Falah's picture
Add application file
b31369a
import yaml
#import pyperclip
import gradio as gr
#pyperclip.set_clipboard("windows")
def get_options(file_path):
with open(file_path, 'r') as file:
options = yaml.load(file, Loader=yaml.FullLoader)
return options
def generate_output(topic, options):
output = topic + ', ' + ', '.join([options[key] for key in options])
return output
def run_app(file_path='options.yaml'):
options = get_options(file_path)
inputs = [
gr.inputs.Textbox(label="Enter image topic:")
]
for key in options.keys():
inputs.append(gr.inputs.Dropdown(options[key], label=key))
outputs = gr.outputs.Textbox(label="Output:")
def submit_handler(*input_values):
topic = input_values[0]
option_values = {}
for i, key in enumerate(options.keys()):
option_values[key] = input_values[i+1]
output = generate_output(topic, option_values)
# pyperclip.copy(output)
return output
interface = gr.Interface(
submit_handler,
inputs,
outputs,
title="Image Prompt Generator",
description="Select options to generate image prompt and copy to clipboard."
)
interface.launch()
if __name__ == '__main__':
run_app()