rickthenpc / app.py
ferrymangmi's picture
fix: force png output
62239ae verified
raw
history blame
1.66 kB
import gradio as gr
from PIL import Image
import torch
from diffusers import StableDiffusionPipeline
# Charger le pipeline de diffusion depuis Hugging Face
model_name = "Yaquv/rickthenpc"
device = "cuda" if torch.cuda.is_available() else "cpu"
try:
pipe = StableDiffusionPipeline.from_pretrained(model_name)
pipe = pipe.to(device)
except Exception as e:
print(f"Erreur lors du chargement du modèle : {e}")
pipe = None
# Fonction de génération et de post-traitement
def generate_image(prompt):
"""
Génère une image à partir du prompt en utilisant le modèle Hugging Face.
"""
if pipe is None:
raise ValueError("The model couldn't be loaded.")
try:
# Générer l'image
result = pipe(prompt)
# Vérifier que le résultat contient des images
if not hasattr(result, 'images') or len(result.images) == 0:
raise ValueError("The model couldn't generate an image.")
image = result.images[0]
# S'assurer que l'image est au format PIL.Image
if not isinstance(image, Image.Image):
image = Image.fromarray(image)
return image
except Exception as e:
# Lever une exception pour que Gradio puisse la gérer
raise ValueError(f"Erreur lors de la génération : {str(e)}")
# Interface Gradio
iface = gr.Interface(
fn=generate_image,
inputs=gr.Textbox(label="Prompt"),
outputs=gr.Image(label="Generated Image"),
title="Rick Generator",
description="Enter a prompt to generate an image with the Rick Generator model."
)
# Lancer l'application
if __name__ == "__main__":
iface.launch()