from fastapi import FastAPI from fastapi.responses import FileResponse from TTS.api import TTS import uuid import os app = FastAPI() # تحميل موديل XTTS tts = TTS( model_name="tts_models/multilingual/multi-dataset/xtts_v2", progress_bar=False, gpu=False ) OUTPUT_DIR = "outputs" os.makedirs(OUTPUT_DIR, exist_ok=True) @app.get("/") def home(): return { "message": "Saudi Arabic TTS is running 🎙️🇸🇦", "usage": "/tts?text=هلا+والله" } @app.get("/tts") def text_to_speech(text: str): filename = f"{uuid.uuid4()}.wav" filepath = os.path.join(OUTPUT_DIR, filename) tts.tts_to_file( text=text, file_path=filepath, language="ar" ) return FileResponse( filepath, media_type="audio/wav", filename="saudi_tts.wav" )