wpbcpaz commited on
Commit
1a5ce91
·
verified ·
1 Parent(s): 78fadb6

Update app.py

Browse files

Mudado o perfil "Rápida" para usar steps: 10 (que é um valor seguro e rápido para o FLUX.1-schnell) e adicionado uma lógica de "grampo" (clamp) dentro da função gerar_imagem_robusta. Agora, antes de chamar a API, o código verifica se o modelo é o FLUX.1-schnell e, em caso afirmativo, força o número de passos a ser no máximo 16, mesmo que o perfil "Balanceada" (25) ou "Alta" (30) tenha sido selecionado

Files changed (1) hide show
  1. app.py +19 -6
app.py CHANGED
@@ -795,19 +795,19 @@ def gerar_imagem_robusta(descricao_pt, estilo_escolhido, qualidade, filtro_escol
795
  Retorna: (PIL.Image, str_mensagem_status)
796
  """
797
 
798
- # 1. Configs de Qualidade
799
  configs_qualidade = {
800
  "Rápida": {
801
  "modelos": [MODELOS_IMAGEM[0]], # Só FLUX-schnell
802
- "steps": 20
803
  },
804
  "Balanceada": {
805
  "modelos": MODELOS_IMAGEM[:2], # FLUX schnell + dev
806
- "steps": 25
807
  },
808
  "Alta": {
809
- "modelos": MODELOS_IMAGEM, # Todos os 3, em ordem
810
- "steps": 30
811
  }
812
  }
813
  config = configs_qualidade.get(qualidade, configs_qualidade["Balanceada"])
@@ -827,13 +827,26 @@ def gerar_imagem_robusta(descricao_pt, estilo_escolhido, qualidade, filtro_escol
827
 
828
  print(f"Tentando gerar imagem com {modelo_config['nome']}...")
829
 
 
 
 
 
 
 
 
 
 
 
 
 
 
830
  client = InferenceClient(api_key=HUGGINGFACE_API_KEY)
831
 
832
  imagem = client.text_to_image(
833
  prompt=prompt_final_en,
834
  model=modelo_config['id'],
835
  negative_prompt=negative_prompt,
836
- num_inference_steps=config['steps']
837
  )
838
 
839
  print(f"✅ Imagem gerada com {modelo_config['nome']}")
 
795
  Retorna: (PIL.Image, str_mensagem_status)
796
  """
797
 
798
+ # 1. Configs de Qualidade (CORRIGIDO)
799
  configs_qualidade = {
800
  "Rápida": {
801
  "modelos": [MODELOS_IMAGEM[0]], # Só FLUX-schnell
802
+ "steps": 10 # CORRIGIDO: Era 20, o máximo é 16. 10 é seguro e rápido.
803
  },
804
  "Balanceada": {
805
  "modelos": MODELOS_IMAGEM[:2], # FLUX schnell + dev
806
+ "steps": 25 # Mantém 25 (para o FLUX.1-dev)
807
  },
808
  "Alta": {
809
+ "modelos": MODELOS_IMAGEM, # Todos os 3
810
+ "steps": 30 # Mantém 30 (para SDXL e FLUX.1-dev)
811
  }
812
  }
813
  config = configs_qualidade.get(qualidade, configs_qualidade["Balanceada"])
 
827
 
828
  print(f"Tentando gerar imagem com {modelo_config['nome']}...")
829
 
830
+ # --- INÍCIO DA CORREÇÃO ---
831
+ # Pega o 'steps' do perfil de qualidade
832
+ steps_para_usar = config['steps']
833
+
834
+ # FLUX.1-schnell tem um limite MÁXIMO de 16 steps.
835
+ # Se este modelo for tentado, devemos forçar os steps para um valor seguro.
836
+ if modelo_config['id'] == "black-forest-labs/FLUX.1-schnell":
837
+ # Se o perfil for "Rápida", ele já é 10.
838
+ # Se for "Balanceada" (25) ou "Alta" (30), reduzimos para 16 (limite máx).
839
+ steps_para_usar = min(config['steps'], 16)
840
+ print(f"Ajustando steps para {steps_para_usar} para o modelo FLUX.1-schnell.")
841
+ # --- FIM DA CORREÇÃO ---
842
+
843
  client = InferenceClient(api_key=HUGGINGFACE_API_KEY)
844
 
845
  imagem = client.text_to_image(
846
  prompt=prompt_final_en,
847
  model=modelo_config['id'],
848
  negative_prompt=negative_prompt,
849
+ num_inference_steps=steps_para_usar # CORRIGIDO
850
  )
851
 
852
  print(f"✅ Imagem gerada com {modelo_config['nome']}")