rnlduatm commited on
Commit
791ea5b
·
1 Parent(s): 938619b

Update space

Browse files
Files changed (1) hide show
  1. app.py +15 -21
app.py CHANGED
@@ -1,5 +1,4 @@
1
  import gradio as gr
2
- # 이미지 생성 함수들 import
3
  from model.animagine_xl import generate_animagine_xl
4
  from model.animesai import generate_animesai
5
  from model.generate_sdxl_with_refiner import generate_sdxl_with_refiner
@@ -7,8 +6,6 @@ from model.ghibli import generate_ghibli
7
  from model.realistic import generate_realistic
8
  from model.sd_turbo import generate_sd_turbo
9
  from model.waifu import generate_waifu
10
-
11
- # 한국어 이야기 생성 함수 import
12
  from Text2Long_text import generate_korean_story
13
 
14
  # 모델 함수 매핑
@@ -23,25 +20,22 @@ MODEL_FUNCTIONS = {
23
  "한국어 긴 이야기 생성": lambda prompt: generate_korean_story(prompt, max_length=100),
24
  }
25
 
26
- def generate_selected_results(prompt, selected_models):
27
- results = []
28
- for name in selected_models:
29
- gen_func = MODEL_FUNCTIONS.get(name)
30
- if gen_func:
31
- result = gen_func(prompt)
32
- results.append((name, result))
33
- # 결과별로 적절히 구분(이미지는 gallery용, 텍스트는 아래에 표시)
34
- images = []
35
- texts = []
36
- for name, result in results:
37
- if hasattr(result, "save") or hasattr(result, "show"):
38
- images.append(result) # PIL.Image로 간주
39
- else:
40
- texts.append(f"[{name}]\n{result}")
41
- return images, "\n\n".join(texts)
42
 
43
  with gr.Blocks() as demo:
44
- gr.Markdown("## 원하는 생성 모델로 이미지를 생성하거나, 긴 한국어 이야기를 받아보세요")
45
  prompt = gr.Textbox(label="프롬프트(텍스트를 입력하세요)")
46
  models = gr.CheckboxGroup(
47
  choices=list(MODEL_FUNCTIONS.keys()),
@@ -52,7 +46,7 @@ with gr.Blocks() as demo:
52
  generate_btn = gr.Button("생성하기")
53
 
54
  generate_btn.click(
55
- fn=generate_selected_results,
56
  inputs=[prompt, models],
57
  outputs=[gallery, long_textbox]
58
  )
 
1
  import gradio as gr
 
2
  from model.animagine_xl import generate_animagine_xl
3
  from model.animesai import generate_animesai
4
  from model.generate_sdxl_with_refiner import generate_sdxl_with_refiner
 
6
  from model.realistic import generate_realistic
7
  from model.sd_turbo import generate_sd_turbo
8
  from model.waifu import generate_waifu
 
 
9
  from Text2Long_text import generate_korean_story
10
 
11
  # 모델 함수 매핑
 
20
  "한국어 긴 이야기 생성": lambda prompt: generate_korean_story(prompt, max_length=100),
21
  }
22
 
23
+ def generate_story_then_images(prompt, selected_models):
24
+ # 1. 선택지 중 '한국어 긴 이야기 생성'이 포함되어 있으면 먼저 스토리를 생성
25
+ story = ""
26
+ if "한국어 긴 이야기 생성" in selected_models:
27
+ story = generate_korean_story(prompt, max_length=100)
28
+ # 2. 이미지 생성 모델들에는 이야기(스토리)가 있으면 그걸 프롬프트로 넣어줌
29
+ img_prompt = story if story else prompt
30
+ images = [
31
+ MODEL_FUNCTIONS[name](img_prompt)
32
+ for name in selected_models
33
+ if name != "한국어 긴 이야기 생성"
34
+ ]
35
+ return images, story
 
 
 
36
 
37
  with gr.Blocks() as demo:
38
+ gr.Markdown("## 원하는 생성 모델로 이미지를 생성하거나, 긴 한국어 이야기를 먼저 만들고 그 이야기로 이미지를 만들 수 있습니다.")
39
  prompt = gr.Textbox(label="프롬프트(텍스트를 입력하세요)")
40
  models = gr.CheckboxGroup(
41
  choices=list(MODEL_FUNCTIONS.keys()),
 
46
  generate_btn = gr.Button("생성하기")
47
 
48
  generate_btn.click(
49
+ fn=generate_story_then_images,
50
  inputs=[prompt, models],
51
  outputs=[gallery, long_textbox]
52
  )