Spaces:
Sleeping
Sleeping
import os | |
import torch | |
import gradio as gr | |
from diffusers import StableDiffusion3Pipeline | |
from huggingface_hub import login | |
# Login via token secreto nos "Settings > Secrets" | |
login(os.environ["HF_TOKEN"]) | |
# Carregar pipeline com bfloat16 (mais leve, compatível com CPU/GPU Hugging Face) | |
pipe = StableDiffusion3Pipeline.from_pretrained( | |
"stabilityai/stable-diffusion-3.5-medium", | |
torch_dtype=torch.bfloat16, | |
variant="bf16" | |
) | |
# Envia para GPU se disponível | |
device = "cuda" if torch.cuda.is_available() else "cpu" | |
pipe = pipe.to(device) | |
# Função para gerar imagem | |
def gerar_imagem(prompt): | |
image = pipe( | |
prompt, | |
num_inference_steps=30, | |
guidance_scale=4.5 | |
).images[0] | |
return image | |
# Interface Gradio | |
demo = gr.Interface( | |
fn=gerar_imagem, | |
inputs=gr.Textbox(label="Prompt"), | |
outputs=gr.Image(label="Imagem Gerada"), | |
title="Stable Diffusion 3.5 Medium", | |
description="Geração de imagens com o modelo SD 3.5 da StabilityAI" | |
) | |
# Lançar com compartilhamento público | |
demo.launch(share=True) | |