sd_2_inpainting / app.py
thekarthikeyansekar's picture
Update app.py
15c7675 verified
raw
history blame contribute delete
No virus
1.79 kB
import streamlit as st
from PIL import Image
import torch
from diffusers import AutoPipelineForInpainting
from diffusers.utils import load_image
pipe = AutoPipelineForInpainting.from_pretrained("diffusers/stable-diffusion-xl-1.0-inpainting-0.1", torch_dtype=torch.float16, variant="fp16")
generator = torch.Generator().manual_seed(0)
def main():
st.title("Image and Text Preview App")
# Upload images
st.sidebar.subheader("Upload Images")
uploaded_image1 = st.sidebarfile_uploader("Upload Image", type=["jpg", "jpeg", "png"])
uploaded_image2 = st.sidebarfile_uploader("Upload Mask", type=["jpg", "jpeg", "png"])
# Input text
st.subheader("Text Prompts")
prompt = st.text_input("Text prompt", "")
negative_prompt = st.text_input("Negative prompt", "")
guidance_scale = st.text_input("Guidance scale", 7.5)
steps = st.text_input("Steps", 20)
strength = st.text_input("Strength", 1)
btn_submit = st.button("Generate")
if btn_submit:
init_image = Image.open(uploaded_image1).convert("RGB")
st.image(init_image, caption="Uploaded Image", use_column_width=True)
mask_image = Image.open(uploaded_image2).convert("RGB")
st.image(mask_image, caption="Uploaded Mask", use_column_width=True)
output = pipe(prompt = prompt,
negative_prompt=negative_prompt,
image=init_image,
mask_image=mask_image,
guidance_scale=int(guidance_scale),
num_inference_steps=int(steps),
strength=strength,
generator=generator)
st.text("Generated Image:")
st.image(output.images[0])
if __name__ == "__main__":
main()