Spaces:
Running
on
Zero
Running
on
Zero
import gradio as gr | |
import numpy as np | |
import random | |
from diffusers import DiffusionPipeline | |
from diffusers import StableDiffusionXLPipeline, DPMSolverSinglestepScheduler | |
import torch | |
pipe = StableDiffusionXLPipeline.from_pretrained("sd-community/sdxl-flash", torch_dtype=torch.float16, variant="fp16").to("cuda") | |
pipe.scheduler = DPMSolverSinglestepScheduler.from_config(pipe.scheduler.config, timestep_spacing="trailing") | |
def generate_image(prompt, negative_prompt): | |
# Run the diffusion model to generate an image | |
output = pipe(prompt, negative_prompt, num_inference_steps=7, guidance_scale=3.5) | |
return output.images[0] | |
prompt = gr.Textbox(label = "Prompt", info = "Describe the subject, the background and the style of image", placeholder = "Describe what you want to see", lines = 2) | |
negative_prompt = gr.Textbox(label = "Negative prompt", placeholder = "Describe what you do NOT want to see", value = "Ugly, malformed, noise, blur, watermark") | |
gr_interface = gr.Interface( | |
fn=generate_image, | |
inputs=[prompt, negative_prompt], | |
outputs="image", | |
title="Real-time Image Generation with Diffusion", | |
description="Enter a prompt to generate an image", | |
theme="soft" | |
) | |
# Launch the Gradio app | |
gr_interface.launch() |