iespsurmreqmer commited on
Commit
3736fe7
·
1 Parent(s): 5774bbe
Files changed (1) hide show
  1. app4.py +30 -24
app4.py CHANGED
@@ -1,39 +1,45 @@
1
  import os
2
- import gradio as gr
3
  from huggingface_hub import InferenceClient
 
4
  from dotenv import load_dotenv
5
 
6
- # Cargar variables de entorno
7
  load_dotenv()
 
8
 
9
- TOKEN = os.getenv("TOKEN")
10
- if TOKEN is None:
11
  raise ValueError("❌ No se encontró la variable HF_TOKEN en el .env")
12
 
13
- # Inicializar cliente de inferencia con Fal-AI
14
- client = InferenceClient(provider="fal-ai", api_key=TOKEN)
 
 
 
 
 
 
 
 
15
 
16
- def generar_audio(texto):
17
- if not texto.strip():
18
- return None
19
  # Llamada a la API
20
- audio_bytes = client.text_to_speech(texto, model="hexgrad/Kokoro-82M")
21
-
22
- # Guardar temporalmente para que Gradio lo reproduzca
23
- filename = "voz_generada.wav"
24
- with open(filename, "wb") as f:
25
- f.write(audio_bytes)
26
- return filename
 
27
 
28
  # Interfaz Gradio
29
  with gr.Blocks() as demo:
30
- gr.Markdown("# 🗣️ Texto a Voz con Kokoro-82M")
31
- gr.Markdown("Escribe un texto y escucha el audio generado usando Inference Provider Fal-AI.")
32
-
33
- texto = gr.Textbox(label="Escribe tu texto aquí", lines=4)
34
- boton = gr.Button("Generar Audio")
35
- audio_output = gr.Audio(label="Resultado", type="filepath")
36
-
37
- boton.click(fn=generar_audio, inputs=texto, outputs=audio_output)
38
 
39
  demo.launch()
 
1
  import os
 
2
  from huggingface_hub import InferenceClient
3
+ import gradio as gr
4
  from dotenv import load_dotenv
5
 
6
+ # Cargar variables del .env
7
  load_dotenv()
8
+ HF_TOKEN = os.getenv("HF_TOKEN")
9
 
10
+ if HF_TOKEN is None:
 
11
  raise ValueError("❌ No se encontró la variable HF_TOKEN en el .env")
12
 
13
+ # Inicializar cliente de inferencia HF
14
+ client = InferenceClient(provider="hf-inference", api_key=HF_TOKEN)
15
+
16
+ def clasificar_imagen(imagen):
17
+ if imagen is None:
18
+ return "Sube una imagen para clasificar."
19
+
20
+ # Guardar temporalmente la imagen para enviarla al cliente
21
+ temp_path = "temp_image.jpg"
22
+ imagen.save(temp_path)
23
 
 
 
 
24
  # Llamada a la API
25
+ output = client.image_classification(temp_path, model="google/vit-base-patch16-224")
26
+
27
+ # Retornar la clasificación más probable
28
+ if isinstance(output, list) and len(output) > 0:
29
+ resultado = "\n".join([f"{item['label']}: {item['score']:.2f}" for item in output])
30
+ else:
31
+ resultado = "No se pudo clasificar la imagen."
32
+ return resultado
33
 
34
  # Interfaz Gradio
35
  with gr.Blocks() as demo:
36
+ gr.Markdown("# 🖼️ Clasificador de Imágenes con ViT")
37
+ gr.Markdown("Sube una imagen y el modelo ViT-base de Google la clasificará usando HF Inference API gratuita.")
38
+
39
+ img_input = gr.Image(type="pil", label="Sube tu imagen aquí")
40
+ boton = gr.Button("Clasificar Imagen")
41
+ salida = gr.Textbox(label="Resultados")
42
+
43
+ boton.click(fn=clasificar_imagen, inputs=img_input, outputs=salida)
44
 
45
  demo.launch()