Spaces:
Sleeping
Sleeping
File size: 1,833 Bytes
61d3424 | 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 | #streamlit_image_selector.py
import streamlit as st
from bing_image_search import search_bing_images
from generate_guide import generate_photo_guide
# β
μ΄μ λ¨κ³μμ μ μ₯ν caption λΆλ¬μ€κΈ° (μμΌλ©΄ κΈ°λ³Έκ°)
user_caption = st.session_state.get("caption", "shadow couple heart pose")
st.title("μ μ¬ν κ°μ± μ¬μ§μ μ νν΄μ£ΌμΈμ")
st.markdown(f"**BLIP λͺ¨λΈμ΄ μμ±ν μ€λͺ
:** {user_caption}")
if st.button("μ μ¬ μ΄λ―Έμ§ κ²μ"):
with st.spinner("μ΄λ―Έμ§λ₯Ό λΆλ¬μ€λ μ€..."):
image_urls = search_bing_images(user_caption)
if not image_urls:
st.error("β μ΄λ―Έμ§λ₯Ό μ°Ύμ μ μμ΅λλ€.")
else:
cols = st.columns(3)
selections = []
st.subheader("μνλ μ€νμΌμ μ¬μ§μ μ ννμΈμ (1κ° μ΄μ)")
for i, url in enumerate(image_urls):
with cols[i % 3]:
st.image(url, use_column_width=True)
if st.checkbox(f"μ ν #{i+1}", key=f"chk_{i}"):
selections.append(url)
st.markdown("---")
if st.button("μ ν μλ£"):
if not selections:
st.warning("1κ° μ΄μ μ νν΄μ£ΌμΈμ!")
else:
st.session_state.selected_images = selections
st.success(f"β
{len(selections)}μ₯ μ νλ¨!")
# π μ νλ μ΄λ―Έμ§ νμΈ
st.write("μ νλ μ΄λ―Έμ§ URL:")
for url in selections:
st.write(url)
# π μ°μΆ κ°μ΄λ μμ±
with st.spinner("μ°μΆ κ°μ΄λλ₯Ό μμ±νλ μ€..."):
guide = generate_photo_guide(user_caption, selections)
st.markdown("## πΈ μ°μΆ κ°μ΄λ")
st.write(guide)
|