| import os
|
| import gradio as gr
|
| from core.settings import *
|
|
|
| from .imagegen_ui import create_ui as create_imagegen_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](https://huggingface.co/spaces/RioShiina/ImageGen) functionality. Support [High-Level MCP](https://rioshiina-imagegen.hf.space/gradio_api/mcp/)."
|
| )
|
| ui_components.update(create_imagegen_ui())
|
|
|
| gr.Markdown("<div style='text-align: left; 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)
|
|
|
| try:
|
| import mcp_tools as mcp
|
| if hasattr(mcp, "register_high_level_mcp_apis"):
|
| mcp.register_high_level_mcp_apis(demo)
|
| mcp.cleanup_dependencies_api_names(demo)
|
| elif hasattr(mcp, 'MCP_FUNCTIONS') and isinstance(mcp.MCP_FUNCTIONS, list):
|
| for func in mcp.MCP_FUNCTIONS:
|
| gr.api(func)
|
| print(f"✅ Registered MCP API endpoint: '{func.__name__}'")
|
| except Exception as e:
|
| print(f"⚠️ Warning registering MCP functions: {e}")
|
|
|
|
|
| high_level_names = getattr(mcp, "HIGH_LEVEL_MCP_API_NAMES", set())
|
| for fn in demo.fns.values():
|
| if getattr(fn, "api_name", None) not in high_level_names:
|
| fn.show_api = False
|
| fn.api_name = False
|
|
|
| return demo |