| import os | |
| import gradio as gr | |
| from core.settings import * | |
| from .shared import txt2img_ui, img2img_ui, inpaint_ui, outpaint_ui, hires_fix_ui | |
| MAX_DYNAMIC_CONTROLS = 10 | |
| def build_ui(event_handler_function): | |
| ui_components = {} | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# ImageGen") | |
| gr.Markdown( | |
| "This demo is a streamlined version of the [Comfy web UI](https://github.com/RioShiina47/comfy-webui)'s ImageGen functionality. " | |
| "Other versions are also available: " | |
| "[FLUX.2](https://huggingface.co/spaces/RioShiina/ImageGen-FLUX.2), " | |
| "[Z-Image](https://huggingface.co/spaces/RioShiina/ImageGen-Z-Image), " | |
| "[Qwen-Image](https://huggingface.co/spaces/RioShiina/ImageGen-Qwen-Image), " | |
| "[Anime](https://huggingface.co/spaces/RioShiina/ImageGen-Anime), " | |
| "[Illustrious](https://huggingface.co/spaces/RioShiina/ImageGen-Illustrious), " | |
| "[NoobAI](https://huggingface.co/spaces/RioShiina/ImageGen-NoobAI), " | |
| "[Pony](https://huggingface.co/spaces/RioShiina/ImageGen-Pony)" | |
| ) | |
| with gr.Tabs(elem_id="tabs_container") as tabs: | |
| with gr.TabItem("Txt2Img", id=0): | |
| ui_components.update(txt2img_ui.create_ui()) | |
| with gr.TabItem("Img2Img", id=1): | |
| ui_components.update(img2img_ui.create_ui()) | |
| with gr.TabItem("Inpaint", id=2): | |
| ui_components.update(inpaint_ui.create_ui()) | |
| with gr.TabItem("Outpaint", id=3): | |
| ui_components.update(outpaint_ui.create_ui()) | |
| with gr.TabItem("Hires. Fix", id=4): | |
| ui_components.update(hires_fix_ui.create_ui()) | |
| ui_components["tabs"] = tabs | |
| ui_components["image_gen_tabs"] = tabs | |
| gr.Markdown("<div style='text-align: center; margin-top: 20px;'>Made by RioShiina with ❤️<br><a href='https://github.com/RioShiina47' target='_blank'>GitHub</a> | <a href='https://huggingface.co/RioShiina' target='_blank'>Hugging Face</a> | <a href='https://civitai.com/user/RioShiina' target='_blank'>Civitai</a></div>") | |
| event_handler_function(ui_components, demo) | |
| return demo |