Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,45 +1,42 @@
|
|
| 1 |
-
from fastapi import FastAPI, Form
|
| 2 |
-
from fastapi.middleware.cors import CORSMiddleware
|
| 3 |
-
from translator import standard_translator, smart_auto_translator
|
| 4 |
-
from utils import source_tts_handler, target_tts_handler
|
| 5 |
-
|
| 6 |
-
app = FastAPI(title="
|
| 7 |
-
|
| 8 |
-
app.add_middleware(
|
| 9 |
-
CORSMiddleware,
|
| 10 |
-
allow_origins=["*"],
|
| 11 |
-
allow_credentials=True,
|
| 12 |
-
allow_methods=["*"],
|
| 13 |
-
allow_headers=["*"],
|
| 14 |
-
)
|
| 15 |
-
|
| 16 |
-
@app.get("/")
|
| 17 |
-
async def root():
|
| 18 |
-
return {"status": "ok", "message": "Backend running
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
b64_audio = await target_tts_handler(translated_text, target_lang)
|
| 43 |
-
if not b64_audio:
|
| 44 |
-
return {"error": "Could not generate audio"}
|
| 45 |
return {"audio_base64": b64_audio}
|
|
|
|
| 1 |
+
from fastapi import FastAPI, Form
|
| 2 |
+
from fastapi.middleware.cors import CORSMiddleware
|
| 3 |
+
from translator import standard_translator, smart_auto_translator
|
| 4 |
+
from utils import source_tts_handler, target_tts_handler
|
| 5 |
+
|
| 6 |
+
app = FastAPI(title="Cortex Translator", version="2.0")
|
| 7 |
+
|
| 8 |
+
app.add_middleware(
|
| 9 |
+
CORSMiddleware,
|
| 10 |
+
allow_origins=["*"],
|
| 11 |
+
allow_credentials=True,
|
| 12 |
+
allow_methods=["*"],
|
| 13 |
+
allow_headers=["*"],
|
| 14 |
+
)
|
| 15 |
+
|
| 16 |
+
@app.get("/")
|
| 17 |
+
async def root():
|
| 18 |
+
return {"status": "ok", "message": "Backend running"}
|
| 19 |
+
|
| 20 |
+
@app.post("/translate/manual")
|
| 21 |
+
async def manual_translate(text: str = Form(...), src_lang: str = Form(...), tgt_lang: str = Form(...)):
|
| 22 |
+
translated = standard_translator(text, src_lang, tgt_lang)
|
| 23 |
+
return {"mode": "manual", "source_text": text, "translated_text": translated}
|
| 24 |
+
|
| 25 |
+
@app.post("/translate/auto")
|
| 26 |
+
async def auto_translate(text: str = Form(...), target_lang: str = Form(...)):
|
| 27 |
+
result = smart_auto_translator(text, target_lang)
|
| 28 |
+
return result
|
| 29 |
+
|
| 30 |
+
@app.post("/tts/source")
|
| 31 |
+
async def source_tts(text: str = Form(...)):
|
| 32 |
+
b64_audio = await source_tts_handler(text)
|
| 33 |
+
if not b64_audio:
|
| 34 |
+
return {"error": "Could not generate audio"}
|
| 35 |
+
return {"audio_base64": b64_audio}
|
| 36 |
+
|
| 37 |
+
@app.post("/tts/target")
|
| 38 |
+
async def target_tts(translated_text: str = Form(...), target_lang: str = Form(...)):
|
| 39 |
+
b64_audio = await target_tts_handler(translated_text, target_lang)
|
| 40 |
+
if not b64_audio:
|
| 41 |
+
return {"error": "Could not generate audio"}
|
|
|
|
|
|
|
|
|
|
| 42 |
return {"audio_base64": b64_audio}
|