Spaces:
Sleeping
Sleeping
import streamlit as st | |
from diffusers import StableDiffusionPipeline | |
import torch | |
# Load the model | |
def load_pipeline(): | |
model_name = "runwayml/stable-diffusion-v1-5" # Replace with the desired Stable Diffusion model | |
pipeline = StableDiffusionPipeline.from_pretrained( | |
model_name, | |
torch_dtype=torch.float16, | |
use_auth_token=True # Use Hugging Face token if required for the model | |
) | |
pipeline = pipeline.to("cuda" if torch.cuda.is_available() else "cpu") | |
return pipeline | |
pipeline = load_pipeline() | |
# App title | |
st.title("🎨 Open Source Text-to-Image Generator") | |
st.write("Generate images from text prompts using Stable Diffusion.") | |
# Input prompt | |
prompt = st.text_input("Enter your prompt:", placeholder="A futuristic cityscape at sunset") | |
# Image generation button | |
if st.button("Generate Image"): | |
if prompt: | |
with st.spinner("Generating image..."): | |
try: | |
# Generate image | |
result = pipeline(prompt, num_inference_steps=50, guidance_scale=7.5) | |
image = result.images[0] | |
# Display the image | |
st.image(image, caption="Generated Image", use_column_width=True) | |
except Exception as e: | |
st.error(f"An error occurred: {e}") | |
else: | |
st.warning("Please enter a prompt to generate an image.") | |
# Sidebar configuration | |
st.sidebar.title("Settings") | |
st.sidebar.write("Customize your generation:") | |
guidance_scale = st.sidebar.slider("Guidance Scale", 5.0, 15.0, 7.5) | |
num_inference_steps = st.sidebar.slider("Inference Steps", 10, 100, 50) | |
# Clear cache button | |
if st.sidebar.button("Clear Cache"): | |
st.cache_resource.clear() | |
st.success("Cache cleared!") | |