Update app.py
Browse files
app.py
CHANGED
@@ -27,7 +27,6 @@ def translate_prompt_to_english(prompt):
|
|
27 |
์
๋ ฅ๋ ํ๋กฌํํธ์ ํ๊ธ์ด ํฌํจ๋์ด ์์ผ๋ฉด Geminiโ2.0โflash ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์์ด๋ก ๋ฒ์ญํฉ๋๋ค.
|
28 |
ํ๊ธ์ด ์์ผ๋ฉด ์๋ณธ ํ๋กฌํํธ๋ฅผ ๊ทธ๋๋ก ๋ฐํํฉ๋๋ค.
|
29 |
"""
|
30 |
-
# ํ๊ธ์ด ํฌํจ๋์ด ์๋์ง ํ์ธ
|
31 |
if not re.search("[๊ฐ-ํฃ]", prompt):
|
32 |
return prompt
|
33 |
try:
|
@@ -67,12 +66,10 @@ def preprocess_prompt(prompt, image1, image2, image3):
|
|
67 |
"""
|
68 |
ํ๋กฌํํธ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๊ธฐ๋ฅ ๋ช
๋ น์ ํด์
|
69 |
"""
|
70 |
-
# ์ด๋ฏธ์ง ์๋ ์ฐธ์กฐ ํ์ธ ๋ฐ ์ฒ๋ฆฌ
|
71 |
has_img1 = image1 is not None
|
72 |
has_img2 = image2 is not None
|
73 |
has_img3 = image3 is not None
|
74 |
|
75 |
-
# #1, #2, #3 ์ฐธ์กฐ๋ฅผ ์ค๋ช
์ผ๋ก ๋ณํ (์ด๋ฏธ์ง๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฌด์)
|
76 |
if "#1" in prompt and not has_img1:
|
77 |
prompt = prompt.replace("#1", "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง(์์)")
|
78 |
else:
|
@@ -88,7 +85,6 @@ def preprocess_prompt(prompt, image1, image2, image3):
|
|
88 |
else:
|
89 |
prompt = prompt.replace("#3", "์ธ ๋ฒ์งธ ์ด๋ฏธ์ง")
|
90 |
|
91 |
-
# ๊ธฐ๋ฅ ๋ช
๋ น ํด์
|
92 |
if "1. ์ด๋ฏธ์ง ๋ณ๊ฒฝ" in prompt:
|
93 |
desc_match = re.search(r'#1์ "(.*?)"์ผ๋ก ๋ฐ๊ฟ๋ผ', prompt)
|
94 |
if desc_match:
|
@@ -109,22 +105,16 @@ def preprocess_prompt(prompt, image1, image2, image3):
|
|
109 |
prompt = "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์ธ๋ฌผ ์ผ๊ตด์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์ผ๊ตด๋ก ์์ฐ์ค๋ฝ๊ฒ ๊ต์ฒดํด์ฃผ์ธ์. ์ผ๊ตด์ ํ์ ๊ณผ ํน์ง์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ๋ฐ๋ฅด๋, ๋๋จธ์ง ๋ถ๋ถ์ ์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ์ ์งํด์ฃผ์ธ์."
|
110 |
|
111 |
elif "4. ์ท๋ฐ๊พธ๊ธฐ" in prompt:
|
112 |
-
|
113 |
-
prompt = "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์ธ๋ฌผ ์์์ ๋ ๋ฒ์งธ ๋๋ ์ธ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์์์ผ๋ก ์์ฐ์ค๋ฝ๊ฒ ๊ต์ฒดํด์ฃผ์ธ์. ์์์ ์คํ์ผ๊ณผ ์์์ ์ฐธ์กฐ ์ด๋ฏธ์ง๋ฅผ ๋ฐ๋ฅด๋, ์ ์ฒด ๋น์จ๊ณผ ํฌ์ฆ๋ ์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ์ ์งํด์ฃผ์ธ์."
|
114 |
-
else:
|
115 |
-
prompt = "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์ธ๋ฌผ ์์์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์์์ผ๋ก ์์ฐ์ค๋ฝ๊ฒ ๊ต์ฒดํด์ฃผ์ธ์. ์์์ ์คํ์ผ๊ณผ ์์์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ๋ฐ๋ฅด๋, ์ ์ฒด ๋น์จ๊ณผ ํฌ์ฆ๋ ์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ์ ์งํด์ฃผ์ธ์."
|
116 |
|
117 |
elif "5. ๋ฐฐ๊ฒฝ๋ฐ๊พธ๊ธฐ" in prompt:
|
118 |
-
prompt = "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ๋ฐฐ๊ฒฝ์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง์ ๋ฐฐ๊ฒฝ์ผ๋ก
|
119 |
|
120 |
elif "6. ์ด๋ฏธ์ง ํฉ์ฑ(์ํํฌํจ)" in prompt:
|
121 |
-
|
122 |
-
prompt = "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ๋ ๋ฒ์งธ, ์ธ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ํฉ์ฑํด์ฃผ์ธ์. ๋ชจ๋ ์ด๋ฏธ์ง์ ์ฃผ์ ์์๋ฅผ ํฌํจํ๊ณ , ํนํ ์ํ์ด ์ ๋ณด์ด๋๋ก ์กฐํ๋กญ๊ฒ ํตํฉํด์ฃผ์ธ์."
|
123 |
-
else:
|
124 |
-
prompt = "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ํฉ์ฑํด์ฃผ์ธ์. ๋ ์ด๋ฏธ์ง์ ์ฃผ์ ์์๋ฅผ ํฌํจํ๊ณ , ํนํ ์ํ์ด ์ ๋ณด์ด๋๋ก ์กฐํ๋กญ๊ฒ ํตํฉํด์ฃผ์ธ์."
|
125 |
|
126 |
elif "7. ์ด๋ฏธ์ง ํฉ์ฑ(์คํ์ผ์ ์ฉ)" in prompt:
|
127 |
-
prompt = "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ๋ด์ฉ์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์คํ์ผ๋ก
|
128 |
|
129 |
elif "์ ๋ถ์์์ผ๋ก ๋ฐ๊ฟ๋ผ" in prompt or "๋ฅผ ๋ถ์์์ผ๋ก ๋ฐ๊ฟ๋ผ" in prompt:
|
130 |
prompt = "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ๋ถ์์ ํค์ผ๋ก ๋ณ๊ฒฝํด์ฃผ์ธ์. ์ ์ฒด์ ์ธ ์์์ ๋ถ์ ๊ณ์ด๋ก ์กฐ์ ํ๊ณ ์์ฐ์ค๋ฌ์ด ๋๋์ ์ ์งํด์ฃผ์ธ์."
|
@@ -196,7 +186,7 @@ def process_images_with_prompt(image1, image2, image3, prompt):
|
|
196 |
valid_images = [img for img in images if img is not None]
|
197 |
if not valid_images:
|
198 |
return None, "์ ์ด๋ ํ๋์ ์ด๋ฏธ์ง๋ฅผ ์
๋ก๋ํด์ฃผ์ธ์."
|
199 |
-
# ํ๋กฌํํธ๊ฐ
|
200 |
if prompt and re.search("[๊ฐ-ํฃ]", prompt):
|
201 |
prompt = translate_prompt_to_english(prompt)
|
202 |
if not prompt or not prompt.strip():
|
@@ -258,28 +248,67 @@ with gr.Blocks() as demo:
|
|
258 |
placeholder="ํ๋กฌํํธ๋ฅผ ์
๋ ฅํ๊ฑฐ๋ ๋น์๋๋ฉด ์๋ ํฉ์ฑ๋ฉ๋๋ค.",
|
259 |
label="ํ๋กฌํํธ (์ ํ ์ฌํญ)"
|
260 |
)
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
with gr.Row():
|
268 |
image_change_btn = gr.Button("์ด๋ฏธ์ง ๋ณ๊ฒฝ")
|
269 |
text_remove_btn = gr.Button("๊ธ์์ง์ฐ๊ธฐ")
|
|
|
|
|
|
|
|
|
|
|
270 |
submit_btn = gr.Button("์ด๋ฏธ์ง ์์ฑ", variant="primary")
|
271 |
with gr.Column():
|
272 |
output_image = gr.Image(label="์์ฑ๋ ์ด๋ฏธ์ง")
|
273 |
output_text = gr.Textbox(label="์ํ ๋ฉ์์ง")
|
274 |
prompt_display = gr.Textbox(label="์ฌ์ฉ๋ ํ๋กฌํํธ", visible=True)
|
275 |
|
|
|
276 |
image_change_btn.click(
|
277 |
-
fn=lambda: "
|
278 |
inputs=[],
|
279 |
outputs=prompt_input
|
280 |
)
|
281 |
text_remove_btn.click(
|
282 |
-
fn=lambda: "#1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
283 |
inputs=[],
|
284 |
outputs=prompt_input
|
285 |
)
|
@@ -297,8 +326,8 @@ with gr.Blocks() as demo:
|
|
297 |
1. **์๋ ํฉ์ฑ**: ์ด๋ฏธ์ง๋ง ์
๋ก๋ํ๊ณ ํ๋กฌํํธ๋ฅผ ๋น์๋๋ฉด ์๋์ผ๋ก ํฉ์ฑ๋ฉ๋๋ค.
|
298 |
2. **์ด๋ฏธ์ง ์ฐธ์กฐ**: #1, #2, #3์ผ๋ก ๊ฐ ์ด๋ฏธ์ง๋ฅผ ์ฐธ์กฐํ ์ ์์ต๋๋ค.
|
299 |
3. **์ผ๋ถ ์ด๋ฏธ์ง๋ง**: ํ์ํ ์ด๋ฏธ์ง๋ง ์
๋ก๋ํด๋ ๊ธฐ๋ฅ ์คํ์ด ๊ฐ๋ฅํฉ๋๋ค.
|
300 |
-
4. **์ ํ ์ต์
**: ์์
|
301 |
-
|
302 |
|
303 |
> **ํ**: ํ๋กฌํํธ๋ฅผ ์ง์ ์์ ํ ์๋ ์์ต๋๋ค.
|
304 |
"""
|
|
|
27 |
์
๋ ฅ๋ ํ๋กฌํํธ์ ํ๊ธ์ด ํฌํจ๋์ด ์์ผ๋ฉด Geminiโ2.0โflash ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ์์ด๋ก ๋ฒ์ญํฉ๋๋ค.
|
28 |
ํ๊ธ์ด ์์ผ๋ฉด ์๋ณธ ํ๋กฌํํธ๋ฅผ ๊ทธ๋๋ก ๋ฐํํฉ๋๋ค.
|
29 |
"""
|
|
|
30 |
if not re.search("[๊ฐ-ํฃ]", prompt):
|
31 |
return prompt
|
32 |
try:
|
|
|
66 |
"""
|
67 |
ํ๋กฌํํธ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๊ธฐ๋ฅ ๋ช
๋ น์ ํด์
|
68 |
"""
|
|
|
69 |
has_img1 = image1 is not None
|
70 |
has_img2 = image2 is not None
|
71 |
has_img3 = image3 is not None
|
72 |
|
|
|
73 |
if "#1" in prompt and not has_img1:
|
74 |
prompt = prompt.replace("#1", "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง(์์)")
|
75 |
else:
|
|
|
85 |
else:
|
86 |
prompt = prompt.replace("#3", "์ธ ๋ฒ์งธ ์ด๋ฏธ์ง")
|
87 |
|
|
|
88 |
if "1. ์ด๋ฏธ์ง ๋ณ๊ฒฝ" in prompt:
|
89 |
desc_match = re.search(r'#1์ "(.*?)"์ผ๋ก ๋ฐ๊ฟ๋ผ', prompt)
|
90 |
if desc_match:
|
|
|
105 |
prompt = "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์ธ๋ฌผ ์ผ๊ตด์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์ผ๊ตด๋ก ์์ฐ์ค๋ฝ๊ฒ ๊ต์ฒดํด์ฃผ์ธ์. ์ผ๊ตด์ ํ์ ๊ณผ ํน์ง์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ๋ฐ๋ฅด๋, ๋๋จธ์ง ๋ถ๋ถ์ ์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ์ ์งํด์ฃผ์ธ์."
|
106 |
|
107 |
elif "4. ์ท๋ฐ๊พธ๊ธฐ" in prompt:
|
108 |
+
prompt = "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์ธ๋ฌผ ์์์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์์์ผ๋ก ๋ณ๊ฒฝํด์ฃผ์ธ์. ์์์ ์คํ์ผ๊ณผ ์์์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ๋ฐ๋ฅด๋, ์ ์ฒด ๋น์จ๊ณผ ํฌ์ฆ๋ ์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ์ ์งํด์ฃผ์ธ์."
|
|
|
|
|
|
|
109 |
|
110 |
elif "5. ๋ฐฐ๊ฒฝ๋ฐ๊พธ๊ธฐ" in prompt:
|
111 |
+
prompt = "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ๋ฐฐ๊ฒฝ์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง์ ๋ฐฐ๊ฒฝ์ผ๋ก ๋ณ๊ฒฝํด์ฃผ์ธ์. ์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์ฃผ์ ํผ์ฌ์ฒด๋ ์ ์งํ๊ณ , ๋ ๋ฒ์งธ ์ด๋ฏธ์ง์ ๋ฐฐ๊ฒฝ๊ณผ ์กฐํ๋กญ๊ฒ ํฉ์ฑํด์ฃผ์ธ์."
|
112 |
|
113 |
elif "6. ์ด๋ฏธ์ง ํฉ์ฑ(์ํํฌํจ)" in prompt:
|
114 |
+
prompt = "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง(๋๋ ์ธ ๋ฒ์งธ ์ด๋ฏธ์ง)๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ํฉ์ฑํด์ฃผ์ธ์. ๋ชจ๋ ์ด๋ฏธ์ง์ ์ฃผ์ ์์๋ฅผ ํฌํจํ๊ณ , ํนํ ์ํ์ด ๋๋ณด์ด๋๋ก ์กฐํ๋กญ๊ฒ ํตํฉํด์ฃผ์ธ์."
|
|
|
|
|
|
|
115 |
|
116 |
elif "7. ์ด๋ฏธ์ง ํฉ์ฑ(์คํ์ผ์ ์ฉ)" in prompt:
|
117 |
+
prompt = "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ๋ด์ฉ์ ๋ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์คํ์ผ๋ก ๋ณ๊ฒฝํด์ฃผ์ธ์. ์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์ฃผ์ ํผ์ฌ์ฒด์ ๊ตฌ๋๋ ์ ์งํ๋, ๋ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์์ ์ ์คํ์ผ, ์์, ์ง๊ฐ์ ์ ์ฉํด์ฃผ์ธ์."
|
118 |
|
119 |
elif "์ ๋ถ์์์ผ๋ก ๋ฐ๊ฟ๋ผ" in prompt or "๋ฅผ ๋ถ์์์ผ๋ก ๋ฐ๊ฟ๋ผ" in prompt:
|
120 |
prompt = "์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง๋ฅผ ๋ถ์์ ํค์ผ๋ก ๋ณ๊ฒฝํด์ฃผ์ธ์. ์ ์ฒด์ ์ธ ์์์ ๋ถ์ ๊ณ์ด๋ก ์กฐ์ ํ๊ณ ์์ฐ์ค๋ฌ์ด ๋๋์ ์ ์งํด์ฃผ์ธ์."
|
|
|
186 |
valid_images = [img for img in images if img is not None]
|
187 |
if not valid_images:
|
188 |
return None, "์ ์ด๋ ํ๋์ ์ด๋ฏธ์ง๋ฅผ ์
๋ก๋ํด์ฃผ์ธ์."
|
189 |
+
# ํ๋กฌํํธ๊ฐ ํ๊ตญ์ด๋ผ๋ฉด ๋ฒ์ญ ํ ์ ์ฉ
|
190 |
if prompt and re.search("[๊ฐ-ํฃ]", prompt):
|
191 |
prompt = translate_prompt_to_english(prompt)
|
192 |
if not prompt or not prompt.strip():
|
|
|
248 |
placeholder="ํ๋กฌํํธ๋ฅผ ์
๋ ฅํ๊ฑฐ๋ ๋น์๋๋ฉด ์๋ ํฉ์ฑ๋ฉ๋๋ค.",
|
249 |
label="ํ๋กฌํํธ (์ ํ ์ฌํญ)"
|
250 |
)
|
251 |
+
# ๋งํฌ๋ค์ด์ผ๋ก ์ ํ ์ต์
๋ฆฌ์คํธ ํ์ (์ฌ๋ฌ ํญ๋ชฉ)
|
252 |
+
gr.Markdown(
|
253 |
+
"""
|
254 |
+
**์ ํ ์ต์
:**
|
255 |
+
|
256 |
+
1. **์ด๋ฏธ์ง ๋ณ๊ฒฝ:** `#1 ์ด๋ฏธ์ง์ [๋ค๋ฅธ ๋ชจ์ต]์ผ๋ก ๋ณ๊ฒฝํ๋ผ.`
|
257 |
+
2. **๊ธ์์ง์ฐ๊ธฐ:** `#1 ์ด๋ฏธ์ง์ [์ค๊ตญ์ด๋ฅผ ๋ชจ๋]๋ฅผ ์ ๊ฑฐํ๋ผ.`
|
258 |
+
3. **์ผ๊ตด๋ฐ๊พธ๊ธฐ:** `#1 ์ด๋ฏธ์ง์ ์ธ๋ฌผ ์ผ๊ตด์ #2 ์ด๋ฏธ์ง์ ์ผ๊ตด๋ก ๊ต์ฒดํ๋ผ.`
|
259 |
+
4. **์ท๋ฐ๊พธ๊ธฐ:** `#1 ์ด๋ฏธ์ง์ ์ธ๋ฌผ ์์์ #2 ์ด๋ฏธ์ง์ ์์์ผ๋ก ๋ณ๊ฒฝํ๋ผ.`
|
260 |
+
5. **๋ฐฐ๊ฒฝ๋ฐ๊พธ๊ธฐ:** `#1 ์ด๋ฏธ์ง์ ๋ฐฐ๊ฒฝ์ #2 ์ด๋ฏธ์ง์ ๋ฐฐ๊ฒฝ์ผ๋ก ๋ณ๊ฒฝํ๋ผ.`
|
261 |
+
6. **์ด๋ฏธ์ง ํฉ์ฑ(์ํํฌํจ):** `#1 ์ด๋ฏธ์ง์ #2 ์ด๋ฏธ์ง(๋๋ #3 ์ด๋ฏธ์ง)๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ํฉ์ฑํ๋ผ.`
|
262 |
+
7. **์ด๋ฏธ์ง ํฉ์ฑ(์คํ์ผ์ ์ฉ):** `#1 ์ด๋ฏธ์ง์ ๋ด์ฉ์ #2 ์ด๋ฏธ์ง์ ์คํ์ผ๋ก ๋ณ๊ฒฝํ๋ผ.`
|
263 |
+
"""
|
264 |
+
)
|
265 |
with gr.Row():
|
266 |
image_change_btn = gr.Button("์ด๋ฏธ์ง ๋ณ๊ฒฝ")
|
267 |
text_remove_btn = gr.Button("๊ธ์์ง์ฐ๊ธฐ")
|
268 |
+
face_swap_btn = gr.Button("์ผ๊ตด๋ฐ๊พธ๊ธฐ")
|
269 |
+
clothes_change_btn = gr.Button("์ท๋ฐ๊พธ๊ธฐ")
|
270 |
+
background_change_btn = gr.Button("๋ฐฐ๊ฒฝ๋ฐ๊พธ๊ธฐ")
|
271 |
+
composite_product_btn = gr.Button("์ด๋ฏธ์ง ํฉ์ฑ(์ํํฌํจ)")
|
272 |
+
composite_style_btn = gr.Button("์ด๋ฏธ์ง ํฉ์ฑ(์คํ์ผ์ ์ฉ)")
|
273 |
submit_btn = gr.Button("์ด๋ฏธ์ง ์์ฑ", variant="primary")
|
274 |
with gr.Column():
|
275 |
output_image = gr.Image(label="์์ฑ๋ ์ด๋ฏธ์ง")
|
276 |
output_text = gr.Textbox(label="์ํ ๋ฉ์์ง")
|
277 |
prompt_display = gr.Textbox(label="์ฌ์ฉ๋ ํ๋กฌํํธ", visible=True)
|
278 |
|
279 |
+
# ์ ํ ์ต์
๋ฒํผ ํด๋ฆญ ์ ํ๋กฌํํธ ์
๋ ฅ๋ ์
๋ฐ์ดํธ (์
๋ ฅ๊ฐ์ ํ๊ตญ์ด๋ก ์ง์ ๋จ)
|
280 |
image_change_btn.click(
|
281 |
+
fn=lambda: "#1 ์ด๋ฏธ์ง์ [๋ค๋ฅธ ๋ชจ์ต]์ผ๋ก ๋ณ๊ฒฝํ๋ผ.",
|
282 |
inputs=[],
|
283 |
outputs=prompt_input
|
284 |
)
|
285 |
text_remove_btn.click(
|
286 |
+
fn=lambda: "#1 ์ด๋ฏธ์ง์ [์ค๊ตญ์ด๋ฅผ ๋ชจ๋]๋ฅผ ์ ๊ฑฐํ๋ผ.",
|
287 |
+
inputs=[],
|
288 |
+
outputs=prompt_input
|
289 |
+
)
|
290 |
+
face_swap_btn.click(
|
291 |
+
fn=lambda: "#1 ์ด๋ฏธ์ง์ ์ธ๋ฌผ ์ผ๊ตด์ #2 ์ด๋ฏธ์ง์ ์ผ๊ตด๋ก ๊ต์ฒดํ๋ผ.",
|
292 |
+
inputs=[],
|
293 |
+
outputs=prompt_input
|
294 |
+
)
|
295 |
+
clothes_change_btn.click(
|
296 |
+
fn=lambda: "#1 ์ด๋ฏธ์ง์ ์ธ๋ฌผ ์์์ #2 ์ด๋ฏธ์ง์ ์์์ผ๋ก ๋ณ๊ฒฝํ๋ผ.",
|
297 |
+
inputs=[],
|
298 |
+
outputs=prompt_input
|
299 |
+
)
|
300 |
+
background_change_btn.click(
|
301 |
+
fn=lambda: "#1 ์ด๋ฏธ์ง์ ๋ฐฐ๊ฒฝ์ #2 ์ด๋ฏธ์ง์ ๋ฐฐ๊ฒฝ์ผ๋ก ๋ณ๊ฒฝํ๋ผ.",
|
302 |
+
inputs=[],
|
303 |
+
outputs=prompt_input
|
304 |
+
)
|
305 |
+
composite_product_btn.click(
|
306 |
+
fn=lambda: "#1 ์ด๋ฏธ์ง์ #2 ์ด๋ฏธ์ง(๋๋ #3 ์ด๋ฏธ์ง)๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ํฉ์ฑํ๋ผ.",
|
307 |
+
inputs=[],
|
308 |
+
outputs=prompt_input
|
309 |
+
)
|
310 |
+
composite_style_btn.click(
|
311 |
+
fn=lambda: "#1 ์ด๋ฏธ์ง์ ๋ด์ฉ์ #2 ์ด๋ฏธ์ง์ ์คํ์ผ๋ก ๋ณ๊ฒฝํ๋ผ.",
|
312 |
inputs=[],
|
313 |
outputs=prompt_input
|
314 |
)
|
|
|
326 |
1. **์๋ ํฉ์ฑ**: ์ด๋ฏธ์ง๋ง ์
๋ก๋ํ๊ณ ํ๋กฌํํธ๋ฅผ ๋น์๋๋ฉด ์๋์ผ๋ก ํฉ์ฑ๋ฉ๋๋ค.
|
327 |
2. **์ด๋ฏธ์ง ์ฐธ์กฐ**: #1, #2, #3์ผ๋ก ๊ฐ ์ด๋ฏธ์ง๋ฅผ ์ฐธ์กฐํ ์ ์์ต๋๋ค.
|
328 |
3. **์ผ๋ถ ์ด๋ฏธ์ง๋ง**: ํ์ํ ์ด๋ฏธ์ง๋ง ์
๋ก๋ํด๋ ๊ธฐ๋ฅ ์คํ์ด ๊ฐ๋ฅํฉ๋๋ค.
|
329 |
+
4. **์ ํ ์ต์
**: ์์ ๋งํฌ๋ค์ด ํ์์ ์ต์
์์ ์ํ๋ ํญ๋ชฉ์ ํด๋ฆญํ๋ฉด ํ๋กฌํํธ ์
๋ ฅ๋์ ํ๊ตญ์ด ๋ฌธ๊ตฌ๊ฐ ์ฑ์์ง๊ณ ,
|
330 |
+
์ดํ Geminiโ2.0โflash ๋ชจ๋ธ์ ํตํด ์์ด๋ก ๋ฒ์ญ๋์ด ์ ์ฉ๋ฉ๋๋ค.
|
331 |
|
332 |
> **ํ**: ํ๋กฌํํธ๋ฅผ ์ง์ ์์ ํ ์๋ ์์ต๋๋ค.
|
333 |
"""
|