from diffusers import StableDiffusionPipeline, DiffusionPipeline import torch import random from datetime import datetime from flask import Flask, render_template_string, send_file import io from PIL import Image resolution = (768, 1024) # Risoluzione dell'immagine (width, height) num_steps = 20 guidance_scale = 7.5 neg_prompt = "blurry" model_id = "stablediffusionapi/duchaiten-real3d-nsfw-xl" pipe = DiffusionPipeline.from_pretrained(model_id) # Imposta il dispositivo su GPU se disponibile device = "cuda" if torch.cuda.is_available() else "cpu" pipe = pipe.to(device) app = Flask(__name__) # Funzione per generare un'immagine def generate_image(prompt, seed, steps, neg_prompt): generator = torch.manual_seed(seed) image = pipe(prompt, height=resolution[1], width=resolution[0], num_inference_steps=steps, guidance_scale=guidance_scale, generator=generator, negative_prompt=neg_prompt).images[0] return image @app.route('/') def home(): # Genera un'immagine prompt = "A beautiful landscape" seed = random.randint(1, 1000000) image = generate_image(prompt, seed, num_steps, neg_prompt) # Salva l'immagine in un buffer img_io = io.BytesIO() image.save(img_io, 'JPEG', quality=70) img_io.seek(0) # Genera la pagina HTML html = """