eder0782 commited on
Commit
d48e497
·
verified ·
1 Parent(s): 8d658c4
Files changed (1) hide show
  1. app.py +20 -19
app.py CHANGED
@@ -1,39 +1,40 @@
1
  import os
2
  import torch
3
  import gradio as gr
4
- from diffusers import FluxPipeline
5
  from huggingface_hub import login
6
 
7
- # Autenticar com token (definido nos "Secrets")
8
  login(os.environ["HF_TOKEN"])
9
 
10
- # Carrega a pipeline com bfloat16 (mais leve que float16, melhor para CPU/GPU sem erro)
11
- pipe = FluxPipeline.from_pretrained(
12
- "black-forest-labs/FLUX.1-schnell",
13
- torch_dtype=torch.bfloat16
 
14
  )
15
 
16
- # Reduz uso de VRAM (tira partes da memória GPU e joga para CPU, útil para HF Spaces com limitação)
17
- pipe.enable_model_cpu_offload()
 
18
 
19
- # Função principal para gerar imagem
20
  def gerar_imagem(prompt):
21
- imagem = pipe(
22
  prompt,
23
- guidance_scale=0.0,
24
- num_inference_steps=4,
25
- max_sequence_length=256,
26
- generator=torch.Generator("cpu").manual_seed(0)
27
  ).images[0]
28
- return imagem
29
 
30
  # Interface Gradio
31
  demo = gr.Interface(
32
  fn=gerar_imagem,
33
  inputs=gr.Textbox(label="Prompt"),
34
- outputs=gr.Image(label="Imagem gerada"),
35
- title="FLUX.1 Schnell - Gerador de Imagens",
36
- description="Modelo de geração de imagem por texto desenvolvido pela Black Forest Labs"
37
  )
38
 
39
- demo.launch()
 
 
1
  import os
2
  import torch
3
  import gradio as gr
4
+ from diffusers import StableDiffusion3Pipeline
5
  from huggingface_hub import login
6
 
7
+ # Login via token secreto nos "Settings > Secrets"
8
  login(os.environ["HF_TOKEN"])
9
 
10
+ # Carregar pipeline com bfloat16 (mais leve, compatível com CPU/GPU Hugging Face)
11
+ pipe = StableDiffusion3Pipeline.from_pretrained(
12
+ "stabilityai/stable-diffusion-3.5-medium",
13
+ torch_dtype=torch.bfloat16,
14
+ variant="bf16"
15
  )
16
 
17
+ # Envia para GPU se disponível
18
+ device = "cuda" if torch.cuda.is_available() else "cpu"
19
+ pipe = pipe.to(device)
20
 
21
+ # Função para gerar imagem
22
  def gerar_imagem(prompt):
23
+ image = pipe(
24
  prompt,
25
+ num_inference_steps=30,
26
+ guidance_scale=4.5
 
 
27
  ).images[0]
28
+ return image
29
 
30
  # Interface Gradio
31
  demo = gr.Interface(
32
  fn=gerar_imagem,
33
  inputs=gr.Textbox(label="Prompt"),
34
+ outputs=gr.Image(label="Imagem Gerada"),
35
+ title="Stable Diffusion 3.5 Medium",
36
+ description="Geração de imagens com o modelo SD 3.5 da StabilityAI"
37
  )
38
 
39
+ # Lançar com compartilhamento público
40
+ demo.launch(share=True)