Spaces:
Sleeping
Sleeping
| #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) | |