Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import torch | |
| from diffusers import StableDiffusion3Pipeline | |
| # Check if CUDA is available and set the device accordingly | |
| device = "cuda" if torch.cuda.is_available() else "cpu" | |
| # Load the Stable Diffusion 3.5 Large model | |
| model_id = "stabilityai/stable-diffusion-3.5-large" | |
| pipe = StableDiffusion3Pipeline.from_pretrained(model_id, torch_dtype=torch.float16) | |
| pipe.to(device) | |
| # Define the image generation function | |
| def generate_image(prompt, negative_prompt, width, height, guidance_scale, num_inference_steps, seed): | |
| generator = torch.manual_seed(seed) if seed else None | |
| image = pipe( | |
| prompt=prompt, | |
| negative_prompt=negative_prompt, | |
| width=width, | |
| height=height, | |
| guidance_scale=guidance_scale, | |
| num_inference_steps=num_inference_steps, | |
| generator=generator | |
| ).images[0] | |
| return image | |
| # Set up the Gradio interface | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# Stable Diffusion 3.5 Large Image Generator") | |
| with gr.Row(): | |
| with gr.Column(): | |
| prompt = gr.Textbox(label="Prompt", placeholder="Enter your prompt here") | |
| negative_prompt = gr.Textbox(label="Negative Prompt", placeholder="Enter negative prompt here") | |
| width = gr.Slider(label="Width", minimum=512, maximum=1024, step=64, value=512) | |
| height = gr.Slider(label="Height", minimum=512, maximum=1024, step=64, value=512) | |
| guidance_scale = gr.Slider(label="Guidance Scale", minimum=0.0, maximum=20.0, step=0.5, value=7.5) | |
| num_inference_steps = gr.Slider(label="Inference Steps", minimum=1, maximum=100, step=1, value=50) | |
| seed = gr.Number(label="Seed", value=42, precision=0) | |
| generate_button = gr.Button("Generate Image") | |
| with gr.Column(): | |
| output_image = gr.Image(label="Generated Image") | |
| generate_button.click( | |
| fn=generate_image, | |
| inputs=[prompt, negative_prompt, width, height, guidance_scale, num_inference_steps, seed], | |
| outputs=output_image | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() | |