Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from model.animagine_xl import generate_animagine_xl | |
| from model.animesai import generate_animesai | |
| from model.generate_sdxl_with_refiner import generate_sdxl_with_refiner | |
| from model.ghibli import generate_ghibli | |
| from model.realistic import generate_realistic | |
| from model.sd_turbo import generate_sd_turbo | |
| from model.waifu import generate_waifu | |
| from Text2Long_text import generate_korean_story | |
| # ๋ชจ๋ธ ํจ์ ๋งคํ | |
| model_id = "hakurei/waifu-diffusion" | |
| MODEL_FUNCTIONS = { | |
| "Animagine XL": generate_animagine_xl, | |
| "Animesai": generate_animesai, | |
| "SDXL+Refiner": generate_sdxl_with_refiner, | |
| "Ghibli": generate_ghibli, | |
| "Realistic": generate_realistic, | |
| "SD Turbo": generate_sd_turbo, | |
| "Waifu Diffusion": generate_waifu, | |
| "ํ๊ตญ์ด ๊ธด ์ด์ผ๊ธฐ ์์ฑ": lambda prompt: generate_korean_story(prompt, max_length=100), | |
| } | |
| def generate_story_then_images(prompt, selected_models): | |
| # 1. ์ ํ์ง ์ค 'ํ๊ตญ์ด ๊ธด ์ด์ผ๊ธฐ ์์ฑ'์ด ํฌํจ๋์ด ์์ผ๋ฉด ๋จผ์ ์คํ ๋ฆฌ๋ฅผ ์์ฑ | |
| story = "" | |
| if "ํ๊ตญ์ด ๊ธด ์ด์ผ๊ธฐ ์์ฑ" in selected_models: | |
| story = generate_korean_story(prompt, max_length=100) | |
| # 2. ์ด๋ฏธ์ง ์์ฑ ๋ชจ๋ธ๋ค์๋ ์ด์ผ๊ธฐ(์คํ ๋ฆฌ)๊ฐ ์์ผ๋ฉด ๊ทธ๊ฑธ ํ๋กฌํํธ๋ก ๋ฃ์ด์ค | |
| img_prompt = story if story else prompt | |
| images = [ | |
| MODEL_FUNCTIONS[name](img_prompt) | |
| for name in selected_models | |
| if name != "ํ๊ตญ์ด ๊ธด ์ด์ผ๊ธฐ ์์ฑ" | |
| ] | |
| return images, story | |
| with gr.Blocks() as demo: | |
| gr.Markdown("## ์ํ๋ ์์ฑ ๋ชจ๋ธ๋ก ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ฑฐ๋, ๊ธด ํ๊ตญ์ด ์ด์ผ๊ธฐ๋ฅผ ๋จผ์ ๋ง๋ค๊ณ ๊ทธ ์ด์ผ๊ธฐ๋ก ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.") | |
| prompt = gr.Textbox(label="ํ๋กฌํํธ(ํ ์คํธ๋ฅผ ์ ๋ ฅํ์ธ์)") | |
| models = gr.CheckboxGroup( | |
| choices=list(MODEL_FUNCTIONS.keys()), | |
| label="์ฌ์ฉํ ๋ชจ๋ธ์ ์ ํํ์ธ์" | |
| ) | |
| gallery = gr.Gallery(label="์์ฑ ์ด๋ฏธ์ง (์ ํํ ๋ชจ๋ธ๋ณ)") | |
| long_textbox = gr.Textbox(label="์์ฑ๋ ์ด์ผ๊ธฐ(ํ ์คํธ)", lines=10, interactive=False) | |
| generate_btn = gr.Button("์์ฑํ๊ธฐ") | |
| generate_btn.click( | |
| fn=generate_story_then_images, | |
| inputs=[prompt, models], | |
| outputs=[gallery, long_textbox] | |
| ) | |
| demo.launch() | |