batuto_art5 / app.py
ivanoctaviogaitansantos's picture
Create app.py
472e748 verified
raw
history blame
2.01 kB
import gradio as gr
from PIL import Image
from io import BytesIO
import requests
from diffusers import StableDiffusionPipeline
import torch
def load_models():
# Carga el modelo Stable Diffusion en CPU
pipe_sd = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float32)
pipe_sd = pipe_sd.to("cpu")
# URLs ejemplo para simular DALL路E mini y Free Image Generation
url_dalle_mini = "https://huggingface.co/spaces/dalle-mini/dalle-mini/resolve/main/sample_image.jpg"
url_free_img_gen = "https://huggingface.co/spaces/aiyouthalliance/Free-Image-Generation/resolve/main/sample_image.jpg"
return pipe_sd, url_dalle_mini, url_free_img_gen
pipe_sd, url_dalle_mini, url_free_img_gen = load_models()
def generate_image_stable_diffusion(prompt):
image = pipe_sd(prompt, height=768, width=432).images[0] # Formato 9:16
return image
def generate_image_dalle_mini(prompt):
response = requests.get(url_dalle_mini)
image = Image.open(BytesIO(response.content))
return image.resize((432, 768))
def generate_image_free_img_gen(prompt):
response = requests.get(url_free_img_gen)
image = Image.open(BytesIO(response.content))
return image.resize((432, 768))
def generate_all_images(prompt):
img_sd = generate_image_stable_diffusion(prompt)
img_dalle = generate_image_dalle_mini(prompt)
img_free = generate_image_free_img_gen(prompt)
return img_sd, img_dalle, img_free
with gr.Blocks() as demo:
gr.Markdown("# BATUTO-art")
prompt = gr.Textbox(label="Introduce tu prompt", lines=1)
with gr.Row():
img_sd = gr.Image(label="Stable Diffusion", interactive=True)
img_dalle = gr.Image(label="DALL路E mini", interactive=True)
img_free = gr.Image(label="Free Image Generation", interactive=True)
btn = gr.Button("Generar im谩genes")
btn.click(fn=generate_all_images, inputs=prompt, outputs=[img_sd, img_dalle, img_free])
if __name__ == "__main__":
demo.launch()