Image.to.prompt / app.py
marwanto606's picture
Update app.py
f2efccd verified
raw
history blame contribute delete
1.69 kB
import streamlit as st
import os
from PIL import Image
import google.generativeai as genai
# Konfigurasi API Gemini
secret_key = os.getenv("SECRET_KEY")
genai.configure(api_key=secret_key)
# Fungsi untuk menghasilkan prompt dari gambar
def get_gemini_response(image):
model = genai.GenerativeModel('gemini-2.0-flash')
input = '''You are a prompt generator. You will get an image.
Your work is to write a prompt such that an image generator model would create most identical picture
as the image given to you'''
response = model.generate_content([input, image])
return response.text
# Konfigurasi halaman
st.set_page_config(page_title="Prompt Generation from Image", layout="wide")
st.title("🖼️ Prompt Generator from Image")
# Dua kolom layout
col1, col2 = st.columns(2)
with col1:
st.markdown("### 📤 Upload Your Image")
uploaded_file = st.file_uploader(
"Drag and drop or click to upload an image...",
type=["jpg", "jpeg", "png", "webp"],
label_visibility="collapsed"
)
if uploaded_file is not None:
image = Image.open(uploaded_file)
st.image(image, caption="Uploaded Image", use_column_width=True)
else:
image = None
with col2:
st.markdown("### 🎯 Generated Prompt")
if uploaded_file is not None:
if st.button("✨ Generate Prompt"):
with st.spinner("Generating prompt..."):
prompt = get_gemini_response(image)
st.code(prompt, language="markdown")
st.success("Prompt generated. Use the copy button on the top-right of the code box.")
else:
st.info("Please upload an image to generate a prompt.")