Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from diffusers import DiffusionPipeline | |
| from PIL import Image | |
| import numpy as np | |
| from tqdm.auto import tqdm | |
| # Descargar el modelo | |
| pipeline = DiffusionPipeline.from_pretrained("sd-community/sdxl-flash") | |
| # Función para generar imágenes a partir de texto con barra de progreso | |
| def generate_image_from_text(prompt, num_steps=4): | |
| # Inicializar la barra de progreso | |
| progress_bar = tqdm(total=num_steps, desc="Generando imagen", unit="step") | |
| # Generar imágenes | |
| for step in range(num_steps): | |
| images = pipeline(prompt, num_inference_steps=step+1) | |
| progress_bar.update(1) | |
| progress_bar.close() | |
| return images[0] | |
| # Función para generar imágenes a partir de una imagen con barra de progreso | |
| def generate_image_from_image(image, prompt, num_steps=4): | |
| # Convertir la imagen a formato aceptable por el modelo (numpy array) | |
| image = np.array(image) | |
| # Inicializar la barra de progreso | |
| progress_bar = tqdm(total=num_steps, desc="Generando imagen", unit="step") | |
| # Generar imágenes | |
| for step in range(num_steps): | |
| images = pipeline(prompt, image=image, num_inference_steps=step+1) | |
| progress_bar.update(1) | |
| progress_bar.close() | |
| return images[0] | |
| # Definir la interfaz de Gradio | |
| text_to_image_interface = gr.Interface( | |
| fn=generate_image_from_text, | |
| inputs=["text", "number"], | |
| outputs="image", | |
| title="Texto a Imagen", | |
| description="Genera una imagen a partir de un texto con un número de pasos." | |
| ) | |
| image_to_image_interface = gr.Interface( | |
| fn=generate_image_from_image, | |
| inputs=["image", "text", "number"], | |
| outputs="image", | |
| title="Imagen a Imagen", | |
| description="Genera una imagen a partir de una imagen y un texto con un número de pasos." | |
| ) | |
| # Ejecutar las interfaces de Gradio | |
| gr.Interface([text_to_image_interface, image_to_image_interface], layout="tabs").launch() | |