import streamlit as st from transformers import pipeline # Load Hugging Face pipelines text_generator = pipeline("text-generation") text_to_speech = pipeline("text-to-speech") text_to_image = pipeline("text2image") # Streamlit app st.title("Children's Storytelling App") # Input prompt for story story_prompt = st.text_area("Write the beginning of your story:") # Generate story button if st.button("Generate Story"): if story_prompt: # Generate text generated_story = text_generator(story_prompt, max_length=100, num_return_sequences=1) st.write("Here's your story:") st.write(generated_story[0]["generated_text"]) else: st.warning("Please enter a story prompt.") # Text-to-speech button if st.button("Text to Speech"): if story_prompt: # Convert text to speech st.audio(text_to_speech(story_prompt)[0]["audio"], format="audio/wav") else: st.warning("Please enter a story prompt.") # Text-to-text button if st.button("Text to Text"): if story_prompt: # Convert text to a different text transformed_text = text_to_image(story_prompt)[0]["generated_text"] st.write("Transformed text:") st.write(transformed_text) else: st.warning("Please enter a story prompt.") # Text-to-image st.sidebar.title("Text to Image") image_prompt = st.sidebar.text_area("Enter text for image:") if st.sidebar.button("Generate Image"): if image_prompt: # Convert text to image image = text_to_image(image_prompt)[0]["image"] st.sidebar.image(image, caption="Generated Image", use_column_width=True) else: st.sidebar.warning("Please enter text for the image.")