Spaces:
Sleeping
Sleeping
File size: 2,288 Bytes
05f5325 54612fd 5318f33 772ea32 179a34f fc51b17 e16e1b6 179a34f 791ea5b 179a34f 791ea5b 179a34f 76ee195 5318f33 179a34f 791ea5b 179a34f 5318f33 179a34f f5d4e69 a7c4b78 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
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()
|