import gradio as gr import sys sys.path.append("scripts/") from lib import init, refresh_character_thumb_image, get_prompt_manager from lib import TITLE if __name__ == '__main__': character_list, character_list_cn, LANG, JAVA_SCRIPT, CSS_SCRIPT = init() with gr.Blocks(js=JAVA_SCRIPT, css=CSS_SCRIPT, title=TITLE) as ui: with gr.Row(): character1 = gr.Dropdown( choices=character_list, label=LANG["character1"], value='none', allow_custom_value=False, ) character2 = gr.Dropdown( choices=character_list, label=LANG["character2"], value='none', allow_custom_value=False, ) character3 = gr.Dropdown( choices=character_list_cn, label=LANG["character3"], value='none', allow_custom_value=False, ) dummy_dropdown = gr.Dropdown(visible=False, allow_custom_value=True) dummy_textbox = gr.Textbox(visible=False) with gr.Row(elem_classes='main_row'): with gr.Column(elem_classes='column_prompts'): thumb_image = gr.Gallery(type="pil", columns=3, show_download_button=False, object_fit='contain', label="Thumb") output_info = gr.Textbox(label="Characters' Info") with gr.Row(): with gr.Column(): custom_prompt = gr.Textbox(value='', label='Semi-auto tag complete test. Try tag* *tag *tag* (e621_sfw.csv@DominikDoom)', elem_id="custom_prompt_text") with gr.Column(): gr.Markdown("

Thumb Image create by waiNSFWIllustrious_v120.safetensors with ComfyUI

",) gr.Markdown(f"Character Select SAA") character1.change(fn=refresh_character_thumb_image, inputs=[character1,character2,character3], outputs=[thumb_image, output_info]) character2.change(fn=refresh_character_thumb_image, inputs=[character1,character2,character3], outputs=[thumb_image, output_info]) character3.change(fn=refresh_character_thumb_image, inputs=[character1,character2,character3], outputs=[thumb_image, output_info]) # Prompt Auto Complete JS # Have to use dummy components # Use custom_prompt, the stupid js console will always report "api_info.ts:423 Too many arguments provided for the endpoint." dummy_textbox.change(fn=get_prompt_manager().update_suggestions_js, inputs=[dummy_textbox], outputs=[dummy_dropdown]) ui.launch(server_name='0.0.0.0')