Spaces:
Sleeping
Sleeping
| 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() | |