|
import streamlit as st |
|
from transformers import pipeline |
|
|
|
|
|
text_generator = pipeline("text-generation") |
|
text_to_speech = pipeline("text-to-speech") |
|
text_to_image = pipeline("text2image") |
|
|
|
|
|
st.title("Children's Storytelling App") |
|
|
|
|
|
story_prompt = st.text_area("Write the beginning of your story:") |
|
|
|
|
|
if st.button("Generate Story"): |
|
if story_prompt: |
|
|
|
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.") |
|
|
|
|
|
if st.button("Text to Speech"): |
|
if story_prompt: |
|
|
|
st.audio(text_to_speech(story_prompt)[0]["audio"], format="audio/wav") |
|
else: |
|
st.warning("Please enter a story prompt.") |
|
|
|
|
|
if st.button("Text to Text"): |
|
if story_prompt: |
|
|
|
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.") |
|
|
|
|
|
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: |
|
|
|
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.") |
|
|