File size: 1,764 Bytes
dc76f07 ef28848 dc76f07 b7cb5df ef28848 dc76f07 ef28848 dc76f07 ef28848 dc76f07 6e69930 dc76f07 ef28848 dc76f07 d4a61b9 04bc31d 6e69930 dc76f07 a62dfdf dc76f07 d169a3c 04bc31d 116f3d3 6e69930 04bc31d a62dfdf 04bc31d ef28848 |
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 52 53 54 55 56 57 |
# Import Part
import streamlit as st
import time
from PIL import Image
from transformers import pipeline
# Function Part
def generate_image_caption(image_path):
img2caption = pipeline("image-to-text", model="Salesforce/blip-image-captioning-large")
result = img2caption(image_path)
return result[0]['generated_text']
def text2story(text):
text2story = pipeline("text-generation", model="pranavpsv/genre-story-generator-v2")
generated_story = text2story(text)
return generated_story[0]['generated_text']
# Main Part
# App title
st.title("Assignment")
# Write some text
st.write("Welcome to a demo app showcasting basic streamlit component")
# file upload
uploaded_image = st.file_uploader("Upload an image", type=['jpg','jpeg','png'], accept_multiple_files=False, key="file_uploader")
# uploaded_audio = st.file_uploader("Upload an audio file", type = ['mp3','mov','egg'])
if uploaded_image is not None:
with st.spinner("Loading image..."):
time.sleep(1) # Simulate a delay
image = Image.open(uploaded_image)
# st.image(image, caption='Uploaded Image', use_column_width=True)
# Generate caption
caption = generate_image_caption(image)
st.write("Generated Caption:", caption)
# Generate story
if st.button("Generate Story"):
with st.spinner("Generating story..."):
generated_story = text2story(caption)
st.write("Generated Story:", generated_story)
# #Play audio with apinner:
# if uploaded_audio is not None:
# with st.spinner("Loading audio..."):
# time.sleep(1)
# st.audo(uploaded_audio)
# # Button interaction:
# if st.button("Click Me"):
# st.write("you clicked the button!")
|