GoGma commited on
Commit
bdd0a16
·
verified ·
1 Parent(s): 83303ae

Update generation.py

Browse files
Files changed (1) hide show
  1. generation.py +12 -18
generation.py CHANGED
@@ -2,50 +2,44 @@ import os
2
  import random
3
  from datetime import datetime
4
  from typing import Optional
5
-
6
  from huggingface_hub import InferenceClient
7
 
8
  # Directorio donde se guardan las imágenes generadas
9
  OUTPUT_DIR = "generated_images"
10
  os.makedirs(OUTPUT_DIR, exist_ok=True)
11
 
12
- # Cliente de inferencia (igual que en Sofia Rivera)
 
13
  client = InferenceClient()
14
 
15
  def generate_image_from_prompt(
16
  prompt: str,
17
  negative_prompt: str = "",
18
- model_name: str = "black-forest-labs/FLUX.1-dev",
19
  seed: Optional[int] = None,
20
  ) -> tuple[Optional[str], str]:
21
- """
22
- Genera una imagen usando Hugging Face InferenceClient.text_to_image
23
- y la guarda en OUTPUT_DIR.
24
-
25
- Devuelve (image_path, status_message).
26
- Si hay error, image_path = None y status_message contiene el error.
27
- """
28
  try:
29
  if seed is None:
30
  seed = random.randint(0, 2_147_483_647)
31
-
 
32
  image = client.text_to_image(
33
  prompt=prompt,
34
- negative_prompt=negative_prompt,
35
  model=model_name,
36
- guidance_scale=7.5,
37
- num_inference_steps=50,
 
38
  )
39
 
40
  timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
41
  filename = f"sofia_{timestamp}_{seed}.png"
42
  file_path = os.path.join(OUTPUT_DIR, filename)
43
-
44
  image.save(file_path)
45
-
46
- status = f"✅ Imagen generada y guardada: {filename}\nModelo: {model_name}\nSeed: {seed}"
47
  return file_path, status
48
 
49
  except Exception as e:
50
  error_msg = f"❌ Error al generar imagen: {str(e)}"
51
- return None, error_msg
 
2
  import random
3
  from datetime import datetime
4
  from typing import Optional
 
5
  from huggingface_hub import InferenceClient
6
 
7
  # Directorio donde se guardan las imágenes generadas
8
  OUTPUT_DIR = "generated_images"
9
  os.makedirs(OUTPUT_DIR, exist_ok=True)
10
 
11
+ # Cliente de inferencia
12
+ # Si tienes un Token de HF en tus Secrets, lo detectará automáticamente
13
  client = InferenceClient()
14
 
15
  def generate_image_from_prompt(
16
  prompt: str,
17
  negative_prompt: str = "",
18
+ model_name: str = "black-forest-labs/FLUX.1-schnell", # CAMBIADO A VERSIÓN GRATUITA
19
  seed: Optional[int] = None,
20
  ) -> tuple[Optional[str], str]:
 
 
 
 
 
 
 
21
  try:
22
  if seed is None:
23
  seed = random.randint(0, 2_147_483_647)
24
+
25
+ # Parámetros optimizados para el modelo gratuito FLUX Schnell
26
  image = client.text_to_image(
27
  prompt=prompt,
 
28
  model=model_name,
29
+ seed=seed,
30
+ num_inference_steps=4, # Schnell solo necesita 4 pasos (es muy rápido)
31
+ # guidance_scale se omite en Schnell para evitar errores de API gratuita
32
  )
33
 
34
  timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
35
  filename = f"sofia_{timestamp}_{seed}.png"
36
  file_path = os.path.join(OUTPUT_DIR, filename)
37
+
38
  image.save(file_path)
39
+
40
+ status = f"✅ ¡Sofía está lista!\nModelo: {model_name}\nSeed: {seed}"
41
  return file_path, status
42
 
43
  except Exception as e:
44
  error_msg = f"❌ Error al generar imagen: {str(e)}"
45
+ return None, error_msg