import os from fastapi import FastAPI, Form, HTTPException from fastapi.responses import HTMLResponse, FileResponse from huggingface_hub import InferenceClient app = FastAPI() # হাগিংফেস ক্লায়েন্ট ইনিশিয়ালাইজ করা # স্পেসের Secrets থেকে টোকেন থাকলে নেবে, না থাকলে ফ্রি টিয়ারে কাজ করবে HF_TOKEN = os.getenv("HF_TOKEN", "") client = InferenceClient(token=HF_TOKEN if HF_TOKEN else None) # আপনি চাইলে Kokoro বা Facebook এর যেকোনো মডেল এখানে দিতে পারেন MODEL_ID = "facebook/mms-tts-eng" @app.get("/", response_class=HTMLResponse) def index(): return """ Raybil Voice AI Engine

🎙️ Raybil Voice AI Engine

""" @app.post("/generate") def generate_voice(text: str = Form(...)): try: # ক্লায়েন্ট অটোমেটিকলি সঠিক এন্ডপয়েন্ট এবং নেটওয়ার্ক পাথ হ্যান্ডেল করবে audio_bytes = client.text_to_speech(text, model=MODEL_ID) output_path = "output.wav" with open(output_path, "wb") as f: f.write(audio_bytes) return FileResponse(output_path, media_type="audio/wav", filename="voice.wav") except Exception as e: raise HTTPException(status_code=500, detail=f"AI Engine Error: {str(e)}") if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=7860)