import gradio as gr from kokoro_onnx import Kokoro import soundfile as sf from huggingface_hub import hf_hub_download import os # Download oficial e seguro (Método recomendado em 2026) print("Baixando arquivos do modelo via HF Hub...") model_path = hf_hub_download(repo_id="hexgrad/Kokoro-82M", filename="kokoro-v0_19.onnx") voices_path = hf_hub_download(repo_id="hexgrad/Kokoro-82M", filename="voices.bin") # Inicializa o modelo usando os caminhos locais seguros model = Kokoro(model_path, voices_path) def narrar_biblia(json_input): # O JSON recebido deve ser: {"texto": "O conteúdo aqui"} texto = json_input.get("texto", "") if not texto: return None # 'am_michael' é uma voz masculina profunda e solene, ideal para a Bíblia # speed 0.9 deixa a fala mais pausada e épica samples, sample_rate = model.create(texto, voice="am_michael", speed=0.9) output_path = "narracao.wav" sf.write(output_path, samples, sample_rate) return output_path # Configuração da Interface e Endpoint da API demo = gr.Interface( fn=narrar_biblia, inputs=gr.JSON(label="Entrada JSON"), outputs=gr.Audio(label="Áudio Gerado"), api_name="predict" ) if __name__ == "__main__": demo.launch()