diff --git a/webui.py b/webui.py index 9f23941e..7d464264 100644 --- a/webui.py +++ b/webui.py @@ -1,12 +1,16 @@ -import gradio as gr import os +import gradio as gr +import modules.async_worker as worker +from modules.util import load_file +from modules.config import cfg +from modules.default_values import default_prompt, default_negative_prompt SAVE_PATH = "saved_character.txt" def save_character(character_description): with open(SAVE_PATH, "w", encoding="utf-8") as f: f.write(character_description) - return f"✅ Character saved!" + return "✅ Character saved!" def load_character(): if os.path.exists(SAVE_PATH): @@ -14,13 +18,29 @@ def load_character(): return f.read() return "" -with gr.Blocks() as demo: - with gr.Accordion("Advanced", open=False): - character_input = gr.Textbox(label="Character Description", value=load_character()) - save_button = gr.Button("Save Character") - save_output = gr.Markdown() +def start_processing(prompt, negative_prompt): + return worker.run_task(prompt, negative_prompt) - save_button.click(fn=save_character, inputs=character_input, outputs=save_output) +with gr.Blocks(css="style.css") as ui: + gr.Markdown("## 🖼️ Fooocus - Advanced UI") + + with gr.Row(): + with gr.Column(): + prompt = gr.Textbox(label="Prompt", value=default_prompt) + negative_prompt = gr.Textbox(label="Negative Prompt", value=default_negative_prompt) + + generate_btn = gr.Button("Generate") + output = gr.Image(label="Result") + + with gr.Column(): + with gr.Accordion("Advanced", open=False): + character_input = gr.Textbox(label="Character Description", value=load_character()) + save_button = gr.Button("💾 Save Character") + save_output = gr.Markdown() + save_button.click(fn=save_character, inputs=character_input, outputs=save_output) + + generate_btn.click(fn=start_processing, inputs=[prompt, negative_prompt], outputs=output) + +ui.launch(share=True) -demo.launch(share=True)