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!") | |