Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -1165,9 +1165,7 @@ def generate_image(prompt: str):
|
|
1165 |
if len(clean_prompt) < 3:
|
1166 |
return None, None
|
1167 |
|
1168 |
-
#
|
1169 |
-
st.write(f"Connecting to image API at {IMAGE_API_URL}...")
|
1170 |
-
|
1171 |
try:
|
1172 |
res = Client(IMAGE_API_URL).predict(
|
1173 |
prompt = clean_prompt,
|
@@ -1178,25 +1176,41 @@ def generate_image(prompt: str):
|
|
1178 |
seed = 3,
|
1179 |
do_img2img = False,
|
1180 |
api_name = "/generate_image",
|
1181 |
-
timeout = 30
|
1182 |
)
|
1183 |
except Exception as api_err:
|
1184 |
-
st.error(f"
|
1185 |
-
logging.error(f"
|
1186 |
return None, None
|
1187 |
|
1188 |
if not res:
|
1189 |
-
|
1190 |
-
logging.warning("Empty response from image API")
|
1191 |
return None, None
|
1192 |
-
|
1193 |
-
# Debug the response
|
1194 |
-
st.write(f"API Response type: {type(res)}")
|
1195 |
-
logging.info(f"Image API response: {res}")
|
1196 |
-
|
1197 |
raw = res[0] if isinstance(res, list) else res
|
1198 |
-
|
1199 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1200 |
|
1201 |
# βββββββββββββββββββββββββββββ Kaggle API βββββββββββββββββββββββββββββ
|
1202 |
@st.cache_resource
|
|
|
1165 |
if len(clean_prompt) < 3:
|
1166 |
return None, None
|
1167 |
|
1168 |
+
# μ¬κΈ°μ API νΈμΆ μλ
|
|
|
|
|
1169 |
try:
|
1170 |
res = Client(IMAGE_API_URL).predict(
|
1171 |
prompt = clean_prompt,
|
|
|
1176 |
seed = 3,
|
1177 |
do_img2img = False,
|
1178 |
api_name = "/generate_image",
|
1179 |
+
timeout = 30
|
1180 |
)
|
1181 |
except Exception as api_err:
|
1182 |
+
st.error(f"μ΄λ―Έμ§ API μ°κ²° μ€ν¨: {api_err}")
|
1183 |
+
logging.error(f"μ΄λ―Έμ§ API μ°κ²° μ€λ₯: {api_err}")
|
1184 |
return None, None
|
1185 |
|
1186 |
if not res:
|
1187 |
+
logging.warning("μ΄λ―Έμ§ APIκ° λΉ μλ΅μ λ°νν¨")
|
|
|
1188 |
return None, None
|
1189 |
+
|
|
|
|
|
|
|
|
|
1190 |
raw = res[0] if isinstance(res, list) else res
|
1191 |
+
|
1192 |
+
# μ΄λ―Έμ§ λ°μ΄ν° μ²λ¦¬ (base64 μΈ κ²½μ°)
|
1193 |
+
if isinstance(raw, str) and raw.startswith("data:image"):
|
1194 |
+
raw = raw.split(",", 1)[1]
|
1195 |
+
try:
|
1196 |
+
import base64
|
1197 |
+
img_bytes = base64.b64decode(raw)
|
1198 |
+
return img_bytes, clean_prompt
|
1199 |
+
except Exception as e:
|
1200 |
+
logging.error(f"base64 λμ½λ© μ€ν¨: {e}")
|
1201 |
+
return None, None
|
1202 |
+
|
1203 |
+
# URLμΈ κ²½μ°
|
1204 |
+
elif isinstance(raw, str) and raw.startswith("http"):
|
1205 |
+
return raw, clean_prompt
|
1206 |
+
|
1207 |
+
# λ°μ΄λ리 λ°μ΄ν°μΈ κ²½μ°
|
1208 |
+
else:
|
1209 |
+
return raw, clean_prompt
|
1210 |
+
|
1211 |
+
except Exception as e:
|
1212 |
+
logging.error(f"μ΄λ―Έμ§ μμ± μ€λ₯: {e}", exc_info=True)
|
1213 |
+
return None, None
|
1214 |
|
1215 |
# βββββββββββββββββββββββββββββ Kaggle API βββββββββββββββββββββββββββββ
|
1216 |
@st.cache_resource
|