ElvisTsang commited on
Commit
60897a4
Β·
verified Β·
1 Parent(s): 0e9676a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +46 -44
app.py CHANGED
@@ -1,45 +1,47 @@
1
- import streamlit as st
2
- from transformers import pipeline
3
-
4
- def img2text(url):
5
- image_to_text_model = pipeline("image-to-text", model="Salesforce/blip-image-captioning-base")
6
- text = image_to_text_model(url)[0]["generated_text"]
7
- return text
8
-
9
- def text2story(text):
10
- story_text = pipeline("text-generation", model="meta-llama/Meta-Llama-3-8B")
11
- story_text = pipeline("Create a story of maximum 100 words based upon {text}")
12
- return story_text
13
-
14
- def text2audio(story_text):
15
- audio_data = pipeline("text-to-speech", model="ElvisTsang/facebook-mms-tts-eng")
16
- return audio_data
17
-
18
- st.set_page_config(page_title="Once Upon A Time - Storytelling Application", page_icon="πŸ“–πŸ°πŸ¦„πŸ§™")
19
- st.header("Create a story of yours with an image!")
20
- uploaded_file = st.file_uploader("Upload an image of your story!")
21
-
22
- if uploaded_file is not None:
23
- print(uploaded_file)
24
- bytes_data = uploaded_file.getvalue()
25
- with open(uploaded_file.name, "wb") as file:
26
- file.write(bytes_data)
27
- st.image(uploaded_file, caption="Uploaded Image", use_column_width=True)
28
-
29
- st.text('Processing img2text...')
30
- scenario = img2text(uploaded_file.name)
31
- st.write(scenario)
32
-
33
- st.text('Generating a story...')
34
- story = text2story(scenario)
35
- st.write(story)
36
-
37
- st.text('Generating audio data...')
38
- audio_data =text2audio(story)
39
-
40
- if st.button("Story Time!"):
41
- st.audio(audio_data['audio'],
42
- format="audio/wav",
43
- start_time=0,
44
- sample_rate = audio_data['sampling_rate'])
 
 
45
  st.audio(audio_data)
 
1
+ import streamlit as st
2
+ from transformers import pipeline
3
+
4
+ def img2text(url):
5
+ image_to_text_model = pipeline("image-to-text", model="Salesforce/blip-image-captioning-base")
6
+ text = image_to_text_model(url)[0]["generated_text"]
7
+ return text
8
+
9
+ def text2story(text):
10
+ story_generator = pipeline("text-generation", model="meta-llama/Meta-Llama-3-8B")
11
+ prompt = f"Create a story of maximum 100 words based upon {text}"
12
+ generated = story_generator(prompt, max_length=100)
13
+ story_text = generated[0]['generated_text']
14
+ return story_text
15
+
16
+ def text2audio(story_text):
17
+ audio_data = pipeline("text-to-speech", model="ElvisTsang/facebook-mms-tts-eng")
18
+ return audio_data
19
+
20
+ st.set_page_config(page_title="Once Upon A Time - Storytelling Application", page_icon="πŸ“–πŸ°πŸ¦„πŸ§™")
21
+ st.header("Create a story of yours with an image!")
22
+ uploaded_file = st.file_uploader("Upload an image of your story!")
23
+
24
+ if uploaded_file is not None:
25
+ print(uploaded_file)
26
+ bytes_data = uploaded_file.getvalue()
27
+ with open(uploaded_file.name, "wb") as file:
28
+ file.write(bytes_data)
29
+ st.image(uploaded_file, caption="Uploaded Image", use_column_width=True)
30
+
31
+ st.text('Processing img2text...')
32
+ scenario = img2text(uploaded_file.name)
33
+ st.write(scenario)
34
+
35
+ st.text('Generating a story...')
36
+ story = text2story(scenario)
37
+ st.write(story)
38
+
39
+ st.text('Generating audio data...')
40
+ audio_data =text2audio(story)
41
+
42
+ if st.button("Story Time!"):
43
+ st.audio(audio_data['audio'],
44
+ format="audio/wav",
45
+ start_time=0,
46
+ sample_rate = audio_data['sampling_rate'])
47
  st.audio(audio_data)