ciyidogan commited on
Commit
b72fa83
·
verified ·
1 Parent(s): ae9f986

Update admin_routes.py

Browse files
Files changed (1) hide show
  1. admin_routes.py +54 -0
admin_routes.py CHANGED
@@ -783,6 +783,60 @@ async def get_activity_log(
783
  # Return most recent entries
784
  return logs[-limit:]
785
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
786
  # ===================== Helper Functions =====================
787
  async def notify_llm_startup(project, version):
788
  """Notify LLM provider about project startup"""
 
783
  # Return most recent entries
784
  return logs[-limit:]
785
 
786
+ # ===================== TTS Endpoints =====================
787
+ class TTSRequest(BaseModel):
788
+ text: str
789
+ voice_id: Optional[str] = None
790
+ language: Optional[str] = "tr-TR"
791
+
792
+ @router.post("/tts/generate")
793
+ async def generate_tts(
794
+ request: TTSRequest,
795
+ username: str = Depends(verify_token)
796
+ ):
797
+ """Generate TTS audio from text"""
798
+ cfg = ConfigProvider.get()
799
+
800
+ # Check if TTS is enabled
801
+ tts_engine = getattr(cfg.global_config, 'tts_engine', 'no_tts')
802
+ if tts_engine == 'no_tts':
803
+ # Return empty response for no TTS
804
+ return {
805
+ "audio_url": None,
806
+ "audio_base64": None,
807
+ "message": "TTS is disabled"
808
+ }
809
+
810
+ log(f"🎤 TTS request: '{request.text[:50]}...' with engine: {tts_engine}")
811
+
812
+ # For now, return mock response
813
+ # TODO: Implement actual TTS integration (ElevenLabs, Blaze, etc.)
814
+ return {
815
+ "audio_url": None,
816
+ "audio_base64": None,
817
+ "message": f"TTS would generate audio for: {request.text[:50]}..."
818
+ }
819
+
820
+ @router.get("/tts/voices")
821
+ async def get_tts_voices(username: str = Depends(verify_token)):
822
+ """Get available TTS voices"""
823
+ cfg = ConfigProvider.get()
824
+
825
+ tts_engine = getattr(cfg.global_config, 'tts_engine', 'no_tts')
826
+ if tts_engine == 'no_tts':
827
+ return {"voices": []}
828
+
829
+ # TODO: Implement actual voice list based on TTS engine
830
+ # For now return mock voices
831
+ return {
832
+ "voices": [
833
+ {"id": "voice_1", "name": "Türkçe Erkek", "language": "tr-TR"},
834
+ {"id": "voice_2", "name": "Türkçe Kadın", "language": "tr-TR"},
835
+ {"id": "voice_3", "name": "English Male", "language": "en-US"},
836
+ {"id": "voice_4", "name": "English Female", "language": "en-US"}
837
+ ]
838
+ }
839
+
840
  # ===================== Helper Functions =====================
841
  async def notify_llm_startup(project, version):
842
  """Notify LLM provider about project startup"""