from fastapi import FastAPI from fastapi.responses import StreamingResponse from transformers import AutoTokenizer, VitsModel import torch import soundfile as sf import io app = FastAPI() # تحميل موديل MMS-TTS العربي من Meta tokenizer = AutoTokenizer.from_pretrained("facebook/mms-tts-ara") model = VitsModel.from_pretrained("facebook/mms-tts-ara") @app.post("/tts") async def tts_endpoint(text: str): """ تستقبل نص عربي وترجع ملف صوت WAV """ inputs = tokenizer(text, return_tensors="pt") with torch.no_grad(): output = model(**inputs).waveform # (1, num_samples) audio = output.squeeze().cpu().numpy() buffer = io.BytesIO() sf.write(buffer, audio, 16000, format="WAV") buffer.seek(0) return StreamingResponse(buffer, media_type="audio/wav") # مهم جداً: تشغيل السيرفر على البورت 7860 عشان Hugging Face Spaces if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=7860)