text_to_image / app.py
Arshad Mangi
Create app.py
8219a52 verified
import gradio as gr
from diffusers import StableDiffusionPipeline
import torch
import os
# Retrieve Hugging Face API key from environment variables (Hugging Face Secrets)
hf_token = os.getenv("HF_TOKEN")
# Load the Stable Diffusion model in CPU mode
pipe = StableDiffusionPipeline.from_pretrained(
"stabilityai/stable-diffusion-2",
torch_dtype=torch.float32, # Ensure compatibility with CPU
use_auth_token=hf_token
)
# Force model to run on CPU
pipe.to("cpu")
# Optimize performance for CPU execution
pipe.enable_attention_slicing()
# Define image generation function
def generate_image(prompt):
try:
image = pipe(prompt).images[0]
return image
except Exception as e:
return f"Error: {str(e)}"
# Gradio Interface
iface = gr.Interface(
fn=generate_image,
inputs=gr.Textbox(label="Enter your prompt"),
outputs=gr.Image(label="Generated Image"),
title="Stable Diffusion (CPU Optimized)",
description="Generate AI-generated images using Stable Diffusion on CPU. No GPU required!"
)
if __name__ == "__main__":
iface.launch(share=True)