Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| from text_generation import generate_text_content | |
| from image_generation import generate_images | |
| from tts_generation import generate_tts | |
| from file_utils import package_content | |
| st.set_page_config(page_title="AI Content Creator Studio", layout="wide") | |
| st.title("๐จ AI Content Creator Studio") | |
| st.write("Generate complete content packages (text, images, audio) from your ideas.") | |
| # Sidebar settings | |
| st.sidebar.header("โ๏ธ Content Settings") | |
| topic = st.sidebar.text_input("Enter your content idea/topic", "Write a motivational quote about AI.") | |
| content_format = st.sidebar.selectbox( | |
| "Choose Content Format", | |
| ["Blog Post", "Short Video Script", "Instagram Carousel", "LinkedIn Post", "YouTube Short"] | |
| ) | |
| tone = st.sidebar.selectbox("Select Tone", ["Professional", "Casual", "Funny", "Inspirational", "Educational"]) | |
| audience = st.sidebar.text_input("Target Audience (optional)", "") | |
| # Session state for generated content | |
| if "generated_content" not in st.session_state: | |
| st.session_state.generated_content = None | |
| if "generated_images" not in st.session_state: | |
| st.session_state.generated_images = [] | |
| if "generated_audio" not in st.session_state: | |
| st.session_state.generated_audio = None | |
| # Generate button | |
| if st.sidebar.button("๐ Generate Content"): | |
| st.info("โณ Generating content... please wait.") | |
| try: | |
| st.session_state.generated_content = generate_text_content(topic, content_format, tone, audience) | |
| except Exception as e: | |
| st.session_state.generated_content = f"โ ๏ธ Failed to generate text: {str(e)}" | |
| try: | |
| st.session_state.generated_images = generate_images(topic, num_images=3) | |
| except Exception as e: | |
| st.session_state.generated_images = [] | |
| st.warning(f"โ ๏ธ Image generation failed: {str(e)}") | |
| try: | |
| st.session_state.generated_audio = generate_tts(st.session_state.generated_content) | |
| except Exception as e: | |
| st.session_state.generated_audio = None | |
| st.warning(f"โ ๏ธ TTS generation failed: {str(e)}") | |
| # Display results | |
| if st.session_state.generated_content: | |
| st.subheader("๐ Generated Content") | |
| st.write(st.session_state.generated_content) | |
| if st.session_state.generated_images: | |
| st.subheader("๐ผ๏ธ Generated Images") | |
| cols = st.columns(len(st.session_state.generated_images)) | |
| for idx, img in enumerate(st.session_state.generated_images): | |
| with cols[idx]: | |
| st.image(img, caption=f"Image {idx+1}") | |
| if st.session_state.generated_audio: | |
| st.subheader("๐ Generated Audio") | |
| st.audio(st.session_state.generated_audio, format="audio/wav") | |
| # Download packaged content | |
| if st.session_state.generated_content: | |
| if st.button("๐ฆ Download Full Package"): | |
| zip_file = package_content( | |
| st.session_state.generated_content, | |
| st.session_state.generated_images, | |
| st.session_state.generated_audio | |
| ) | |
| with open(zip_file, "rb") as f: | |
| st.download_button( | |
| label="โฌ๏ธ Download Content Package", | |
| data=f, | |
| file_name="content_package.zip", | |
| mime="application/zip" | |
| ) | |