DSnake333's picture
Update app.py
ace8835 verified
import streamlit as st
from diffusers import StableDiffusionPipeline, DPMSolverMultistepScheduler, AutoencoderKL
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
model_id = "sam749/Photon-v1"
vae = AutoencoderKL.from_pretrained("stabilityai/sd-vae-ft-mse", torch_dtype=torch.float16 if device == "cuda" else torch.float32).to(device)
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16 if device == "cuda" else torch.float32)
pipe.vae = vae
pipe.to(device)
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
st.title("Text-to-Image Generator")
prompt = st.text_input("Enter the prompt for the image:")
negative_prompt = "cartoon, painting, illustration, (worst quality, low quality, normal quality:2)"
cfg_scale = 5.5
width = 512
height = 768
num_inference_steps = 24
if st.button("Generate Image"):
with st.spinner("Generating..."):
# Generate image with the given parameters
generator = torch.Generator(device)
image = pipe(prompt, negative_prompt=negative_prompt, num_inference_steps=num_inference_steps,
guidance_scale=cfg_scale, width=width, height=height, generator=generator).images[0]
# Display the generated image
st.image(image, caption="Generated Image", use_column_width=True)
image.save("generated_image.png")