0notexist0 commited on
Commit
a30239d
Β·
verified Β·
1 Parent(s): 94875e9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -6
app.py CHANGED
@@ -8,13 +8,20 @@ client = InferenceClient(token=API_TOKEN)
8
 
9
  def recupera_modelli_reali():
10
  api = HfApi()
11
- modelli = api.list_models(
12
  pipeline_tag="text-to-speech",
13
  sort="downloads",
14
- # ❌ direction=-1 <-- rimosso, non esiste più
15
- limit=30
16
  )
17
- return [m.id for m in modelli]
 
 
 
 
 
 
 
 
18
 
19
  LISTA_MODELLI_DINAMICA = recupera_modelli_reali()
20
 
@@ -29,7 +36,7 @@ def genera_audio(testo, model_id):
29
  except Exception as e:
30
  err = str(e)
31
  if "loading" in err.lower():
32
- return "⏳ Modello in caricamento, riprova tra 20s", None
33
  elif "401" in err or "unauthorized" in err.lower():
34
  return "❌ Token non valido β€” controlla il secret 'htoken'", None
35
  else:
@@ -37,7 +44,7 @@ def genera_audio(testo, model_id):
37
 
38
  with gr.Blocks(theme=gr.themes.Soft()) as interfaccia:
39
  gr.Markdown("# πŸŽ™οΈ Browser Modelli Hugging Face TTS")
40
- gr.Markdown(f"βœ… Lista popolata live da Hugging Face β€” **{len(LISTA_MODELLI_DINAMICA)} modelli trovati**")
41
 
42
  with gr.Row():
43
  testo_input = gr.Textbox(label="Testo", placeholder="Scrivi qualcosa...", value="Hello, this is a test.")
 
8
 
9
  def recupera_modelli_reali():
10
  api = HfApi()
11
+ tutti = api.list_models(
12
  pipeline_tag="text-to-speech",
13
  sort="downloads",
14
+ limit=100 # Ne prendiamo tanti per poi filtrare
 
15
  )
16
+
17
+ # βœ… Teniamo solo quelli con Inference API attiva (warm = pronto, cold = si carica)
18
+ disponibili = [
19
+ m.id for m in tutti
20
+ if getattr(m, "inference", None) in ("warm", "cold")
21
+ ]
22
+
23
+ print(f"Modelli totali: {len(list(tutti))}, con Inference API: {len(disponibili)}")
24
+ return disponibili if disponibili else ["suno/bark-small"]
25
 
26
  LISTA_MODELLI_DINAMICA = recupera_modelli_reali()
27
 
 
36
  except Exception as e:
37
  err = str(e)
38
  if "loading" in err.lower():
39
+ return "⏳ Modello in caricamento (cold start), riprova tra 20s", None
40
  elif "401" in err or "unauthorized" in err.lower():
41
  return "❌ Token non valido β€” controlla il secret 'htoken'", None
42
  else:
 
44
 
45
  with gr.Blocks(theme=gr.themes.Soft()) as interfaccia:
46
  gr.Markdown("# πŸŽ™οΈ Browser Modelli Hugging Face TTS")
47
+ gr.Markdown(f"βœ… **{len(LISTA_MODELLI_DINAMICA)} modelli** con Inference API attiva")
48
 
49
  with gr.Row():
50
  testo_input = gr.Textbox(label="Testo", placeholder="Scrivi qualcosa...", value="Hello, this is a test.")