Spaces:
Sleeping
Sleeping
Upload app.py
Browse files
app.py
CHANGED
|
@@ -102,7 +102,7 @@ async def upload_and_tts(
|
|
| 102 |
@app.post("/tts")
|
| 103 |
async def dynamic_tts(
|
| 104 |
text: str = Form(...),
|
| 105 |
-
character_name: str = Form("
|
| 106 |
prompt_text: str = Form(None),
|
| 107 |
prompt_lang: str = Form("zh"),
|
| 108 |
use_default_ref: bool = Form(True)
|
|
@@ -111,9 +111,13 @@ async def dynamic_tts(
|
|
| 111 |
通用 TTS 接口,支持切换已加载的角色
|
| 112 |
"""
|
| 113 |
try:
|
| 114 |
-
#
|
| 115 |
-
|
| 116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 117 |
|
| 118 |
# 允许通过 API 动态覆盖当前参考文本(不换音频文件)
|
| 119 |
final_text = prompt_text if prompt_text else ref_info["text"]
|
|
@@ -128,5 +132,9 @@ async def dynamic_tts(
|
|
| 128 |
print(f"❌ Error: {e}")
|
| 129 |
raise HTTPException(status_code=500, detail=str(e))
|
| 130 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 131 |
if __name__ == "__main__":
|
| 132 |
uvicorn.run(app, host="0.0.0.0", port=7860)
|
|
|
|
| 102 |
@app.post("/tts")
|
| 103 |
async def dynamic_tts(
|
| 104 |
text: str = Form(...),
|
| 105 |
+
character_name: str = Form("Base"),
|
| 106 |
prompt_text: str = Form(None),
|
| 107 |
prompt_lang: str = Form("zh"),
|
| 108 |
use_default_ref: bool = Form(True)
|
|
|
|
| 111 |
通用 TTS 接口,支持切换已加载的角色
|
| 112 |
"""
|
| 113 |
try:
|
| 114 |
+
# 优先使用指定的角色,如果没有则尝试用 Base,如果都没有则报错
|
| 115 |
+
ref_info = REF_CACHE.get(character_name)
|
| 116 |
+
if not ref_info:
|
| 117 |
+
ref_info = REF_CACHE.get("Base")
|
| 118 |
+
|
| 119 |
+
if not ref_info:
|
| 120 |
+
raise HTTPException(status_code=404, detail=f"Character {character_name} not loaded and no Base model available.")
|
| 121 |
|
| 122 |
# 允许通过 API 动态覆盖当前参考文本(不换音频文件)
|
| 123 |
final_text = prompt_text if prompt_text else ref_info["text"]
|
|
|
|
| 132 |
print(f"❌ Error: {e}")
|
| 133 |
raise HTTPException(status_code=500, detail=str(e))
|
| 134 |
|
| 135 |
+
@app.get("/health")
|
| 136 |
+
async def health():
|
| 137 |
+
return {"status": "ok", "models": list(REF_CACHE.keys())}
|
| 138 |
+
|
| 139 |
if __name__ == "__main__":
|
| 140 |
uvicorn.run(app, host="0.0.0.0", port=7860)
|