sd-text2image / app.py
stephenebert's picture
Update app.py
1f276eb verified
import gradio as gr
from diffusers import StableDiffusionPipeline
import torch, os
device = "mps" if torch.backends.mps.is_available() else "cpu"
pipe = StableDiffusionPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5",
safety_checker=None
).to(device)
def generate(prompt, steps, guidance, seed):
gen = None if seed == 0 else torch.manual_seed(int(seed))
result = pipe(prompt,
num_inference_steps=int(steps),
guidance_scale=float(guidance),
generator=gen)
return result.images
with gr.Blocks() as demo:
gr.Markdown("# Stable Diffusion Text→Image Generation Demo")
prompt = gr.Textbox(label="Prompt", value="A serene forest at dawn")
steps = gr.Slider(1, 100, value=30, label="Inference Steps")
cfg = gr.Slider(1, 15, value=7.5, label="Guidance Scale")
seed = gr.Number(value=0, label="Random Seed (0 = random)")
btn = gr.Button("Generate")
gallery = gr.Gallery(label="Generated Images", columns=1, height="auto")
btn.click(generate, [prompt, steps, cfg, seed], gallery)
if __name__ == "__main__":
demo.launch()