Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import torch | |
| from diffusers import StableDiffusionPipeline, StableDiffusionImg2ImgPipeline | |
| from PIL import Image | |
| import requests | |
| from io import BytesIO | |
| # Set up the Stable Diffusion pipeline for text to image | |
| text_to_image_pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16) | |
| text_to_image_pipe = text_to_image_pipe.to("cuda") | |
| # Set up the Stable Diffusion pipeline for image to image | |
| image_to_image_pipe = StableDiffusionImg2ImgPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16) | |
| device = "cuda" | |
| image_to_image_pipe = image_to_image_pipe.to(device) | |
| def text_to_image(prompt): | |
| image = text_to_image_pipe(prompt).images[0] | |
| image = Image.fromarray(image) | |
| return image | |
| def image_to_image(file, prompt): | |
| response = requests.get(file) | |
| init_image = Image.open(BytesIO(response.content)).convert("RGB") | |
| init_image = init_image.resize((768, 512)) | |
| images = image_to_image_pipe(prompt=prompt, image=init_image, strength=0.75, guidance_scale=7.5).images | |
| return images[0] | |
| # Create the Gradio interface | |
| image_to_image_interface = gr.inputs.Image(label="Input Image") | |
| text_prompt_interface = gr.inputs.Textbox(label="Text Prompt") | |
| io_choice = gr.dropdown(["Text to Image", "Image to Image"], label="Choose Input Type") | |
| outputs = [] | |
| if io_choice.lower() == "text to image": | |
| outputs.append(gr.outputs.Image(label="Generated Image")) | |
| interface = gr.Interface(fn=text_to_image, inputs=text_prompt_interface, outputs=outputs) | |
| else: | |
| outputs.append(gr.outputs.Image(label="Generated Image")) | |
| interface = gr.Interface(fn=image_to_image, inputs=[image_to_image_interface, text_prompt_interface], outputs=outputs) | |
| # Launch the interface | |
| interface.launch() | |