somali-tts-proxy / main.py
HusseinBashir's picture
Upload main.py
27bc436 verified
raw
history blame
876 Bytes
# Save this as main.py
from fastapi import FastAPI, Request
from fastapi.responses import JSONResponse
from gradio_client import Client
import uvicorn
app = FastAPI()
client = Client("HusseinBashir/Somali_tts") #
@app.post("/somali-tts/")
async def somali_tts(request: Request):
data = await request.json()
text = data.get("text")
if not text:
return JSONResponse(content={"error": "No text provided"}, status_code=400)
try:
# Call your Hugging Face Space via gradio_client
audio_url = client.predict(text, api_name="/predict")
return JSONResponse(content={"audio_url": audio_url})
except Exception as e:
return JSONResponse(content={"error": str(e)}, status_code=500)
# For local testing
if __name__ == "__main__":
uvicorn.run("main:app", host="0.0.0.0", port=7860, reload=True)