| import gradio as gr |
| import torch |
| from diffusers import AutoPipelineForImage2Image |
| from diffusers.utils import make_image_grid |
| from PIL import Image |
|
|
| |
| pipeline = AutoPipelineForImage2Image.from_pretrained( |
| "stabilityai/stable-diffusion-xl-refiner-1.0", |
| torch_dtype=torch.float16, |
| variant="fp16", |
| use_safetensors=True |
| ) |
|
|
| |
| pipeline.enable_model_cpu_offload() |
|
|
| |
| def generate_image(prompt, init_image, strength): |
| result_image = pipeline(prompt, image=init_image, strength=strength).images[0] |
| |
| |
| grid_image = make_image_grid([init_image, result_image], rows=1, cols=2) |
| return grid_image |
|
|
| |
| gr.Interface( |
| fn=generate_image, |
| inputs=[ |
| gr.Textbox(lines=1, label="Prompt", placeholder="Enter the image description prompt"), |
| gr.Image(type="pil", label="Upload Initial Image"), |
| gr.Slider(0.0, 1.0, value=0.5, label="Strength"), |
| ], |
| outputs=gr.Image(label="Image Comparison"), |
| title="Stable Diffusion XL Refiner - Image to Image", |
| description="Upload an initial image and provide a text prompt to generate a new image using the Stable Diffusion XL Refiner model.", |
| ).launch() |