-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
44 lines (34 loc) · 1.26 KB
/
app.py
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
import streamlit as st
import google.generativeai as genai
import google.ai.generativelanguage as glm
from PIL import Image
API_KEY = ''
genai.configure(api_key=API_KEY)
st.set_page_config(page_title="Generate Blog",
page_icon="📸",
layout="centered",
initial_sidebar_state='collapsed')
st.header("Generate Blog From Image")
uploaded_file = st.file_uploader("Choose an Image file", accept_multiple_files=False, type=['jpg', 'png'])
if uploaded_file is not None:
image = Image.open(uploaded_file)
st.image(image, caption='Uploaded Image', use_column_width=True)
bytes_data = uploaded_file.getvalue()
generate = st.button("Generate!")
if generate:
model = genai.GenerativeModel('gemini-pro-vision')
response = model.generate_content(
glm.Content(
parts = [
glm.Part(text="Write a short, engaging blog post based on this picture."),
glm.Part(
inline_data=glm.Blob(
mime_type='image/jpeg',
data=bytes_data
)
),
],
),
stream=True)
response.resolve()
st.write(response.text)