macadeliccc's picture
test
61f8100
raw
history blame
No virus
1.5 kB
import spaces
from diffusers import StableDiffusionXLPipeline
from pydantic import BaseModel
from PIL import Image
import gradio as gr
import torch
import uuid
import io
import os
# Load your model
pipe = StableDiffusionXLPipeline.from_pretrained(
"segmind/SSD-1B",
torch_dtype=torch.float16,
use_safetensors=True,
variant="fp16"
)
pipe.to("cuda:0")
@spaces.GPU # Apply the GPU decorator
def generate_and_save_image(prompt, negative_prompt=''):
# Generate image using the provided prompts
image = pipe(prompt=prompt, negative_prompt=negative_prompt).images[0]
# Generate a unique UUID for the filename
unique_id = str(uuid.uuid4())
image_path = f"generated_images/{unique_id}.png"
# Save generated image locally
os.makedirs('generated_images', exist_ok=True)
image.save(image_path, format='JPG')
# Return the path of the saved image to display in Gradio interface
return image_path
# Define the Gradio interface
iface = gr.Interface(
fn=generate_and_save_image,
inputs=[
gr.Textbox(label="Enter prompt", placeholder="Type your prompt here..."),
gr.Textbox(label="Enter negative prompt (optional)", placeholder="Type your negative prompt here...")
],
outputs=gr.Image(type="filepath", label="Generated Image"),
title="Image Generation with Stable Diffusion XL",
description="Enter a prompt and (optionally) a negative prompt to generate an image."
)
# Launch the Gradio app
iface.launch()