ImageProcessor / app.py
wahab5763's picture
Update app.py
8f57030 verified
import streamlit as st
import cloudinary
import cloudinary.uploader
from cloudinary.utils import cloudinary_url
import time # Import time for simulating progress
# Cloudinary Configuration
cloudinary.config(
cloud_name='detwd9o8x', # Replace with your Cloudinary cloud name
api_key='439456689456765', # Replace with your API key
api_secret='tk4Ho9pJzTaTbtIcJli6JlXQkCA', # Replace with your API secret
secure=True
)
# Streamlit App
st.title("Generative Background Replacement with Cloudinary")
st.write("Upload an image to transform the background using Cloudinary's generative AI.")
# Image Upload
uploaded_file = st.file_uploader("Upload an image", type=["jpg", "png", "jpeg"])
# Prompt Input and Automatic Transformation on Enter
if uploaded_file:
st.success("Image uploaded successfully!")
# Prompt Input appears only after successful upload
prompt = st.text_input("Enter a background replacement prompt", value="", key="prompt")
if prompt:
# Save uploaded image to Cloudinary
with st.spinner("Uploading image to Cloudinary..."):
response = cloudinary.uploader.upload(uploaded_file, folder="streamlit_app")
public_id = response["public_id"]
# Apply Generative Background Replace Transformation
st.spinner("Applying background replacement...")
progress_bar = st.progress(0) # Initialize progress bar
for i in range(100):
time.sleep(0.05) # Simulate a long-running process
progress_bar.progress(i + 1) # Update progress bar
# Once the progress is complete, perform the transformation
transformed_url, options = cloudinary_url(
public_id,
effect=f"gen_background_replace:prompt_{prompt}"
)
st.success("Transformation complete!")
# Display Original and Transformed Images Side-by-Side
col1, col2 = st.columns(2)
with col1:
st.image(uploaded_file, caption="Original Image - Before", use_column_width=True)
with col2:
st.image(transformed_url, caption="Transformed Image - After", use_column_width=True)
# Provide a Download Link
st.write(f"[Download Transformed Image]({transformed_url})")