4242
4343# Import the TTSFM package
4444try :
45- from ttsfm import AudioFormat , TTSClient , TTSException , Voice
45+ from ttsfm import AudioFormat , TTSClient , Voice
4646 from ttsfm .audio import combine_audio_chunks
4747 from ttsfm .exceptions import (
4848 APIException ,
4949 AudioProcessingException ,
5050 NetworkException ,
5151 ValidationException ,
5252 )
53- from ttsfm .models import get_supported_format
5453 from ttsfm .utils import split_text_by_length
5554except ImportError :
5655 # Fallback for development when package is not installed
5756 import sys
5857
5958 sys .path .insert (0 , os .path .join (os .path .dirname (__file__ ), ".." ))
60- from ttsfm import AudioFormat , TTSClient , TTSException , Voice
59+ from ttsfm import AudioFormat , TTSClient , Voice
6160 from ttsfm .audio import combine_audio_chunks
6261 from ttsfm .exceptions import APIException , NetworkException , ValidationException
63- from ttsfm .models import get_supported_format
6462 from ttsfm .utils import split_text_by_length
6563
6664# Load environment variables
@@ -486,10 +484,6 @@ def validate_text():
486484 return jsonify ({"error" : "Text validation failed" }), 500
487485
488486
489-
490-
491-
492-
493487@app .route ("/api/status" , methods = ["GET" ])
494488def get_status ():
495489 """Get service status."""
@@ -503,7 +497,7 @@ def get_status():
503497 {
504498 "status" : "online" ,
505499 "tts_service" : "openai.fm (free)" ,
506- "package_version" : "3.4.0a3 " ,
500+ "package_version" : "3.4.0a4 " ,
507501 "timestamp" : datetime .now ().isoformat (),
508502 }
509503 )
@@ -527,7 +521,7 @@ def get_status():
527521def health_check ():
528522 """Simple health check endpoint."""
529523 return jsonify (
530- {"status" : "healthy" , "package_version" : "3.4.0a3 " , "timestamp" : datetime .now ().isoformat ()}
524+ {"status" : "healthy" , "package_version" : "3.4.0a4 " , "timestamp" : datetime .now ().isoformat ()}
531525 )
532526
533527
@@ -694,15 +688,12 @@ def openai_speech():
694688 400 ,
695689 )
696690
697- effective_format = get_supported_format (format_enum )
698-
699691 logger .info (
700692 "OpenAI API: Generating speech: text='%s...', voice=%s, "
701- "requested_format=%s (effective=%s) , auto_combine=%s, speed=%s" ,
693+ "requested_format=%s, auto_combine=%s, speed=%s" ,
702694 input_text [:50 ],
703695 voice ,
704696 response_format ,
705- effective_format .value ,
706697 auto_combine ,
707698 speed ,
708699 )
@@ -715,14 +706,14 @@ def openai_speech():
715706 logger .info (
716707 "Long text detected (%s chars); auto-combining with format %s" ,
717708 len (input_text ),
718- effective_format .value ,
709+ format_enum .value ,
719710 )
720711
721712 # Generate speech chunks
722713 responses = client .generate_speech_long_text (
723714 text = input_text ,
724715 voice = voice_enum ,
725- response_format = effective_format ,
716+ response_format = format_enum ,
726717 instructions = instructions ,
727718 max_length = max_length ,
728719 preserve_words = True ,
@@ -778,13 +769,14 @@ def openai_speech():
778769 "X-Auto-Combine" : "true" ,
779770 "X-Powered-By" : "TTSFM-OpenAI-Compatible" ,
780771 "X-Requested-Format" : format_enum .value ,
781- "X-Effective-Format" : effective_format .value ,
782772 }
783773
784774 # Add speed metadata if available (from first response)
785775 if responses and responses [0 ].metadata and "requested_speed" in responses [0 ].metadata :
786776 headers ["X-Requested-Speed" ] = str (responses [0 ].metadata ["requested_speed" ])
787- headers ["X-Speed-Applied" ] = str (responses [0 ].metadata .get ("speed_applied" , False )).lower ()
777+ headers ["X-Speed-Applied" ] = str (
778+ responses [0 ].metadata .get ("speed_applied" , False )
779+ ).lower ()
788780
789781 return Response (
790782 stream_with_context (_chunk_bytes (combined_audio )),
@@ -834,13 +826,14 @@ def openai_speech():
834826 "X-Auto-Combine" : str (auto_combine ).lower (),
835827 "X-Powered-By" : "TTSFM-OpenAI-Compatible" ,
836828 "X-Requested-Format" : format_enum .value ,
837- "X-Effective-Format" : effective_format .value ,
838829 }
839830
840831 # Add speed metadata if available
841832 if response .metadata and "requested_speed" in response .metadata :
842833 headers ["X-Requested-Speed" ] = str (response .metadata ["requested_speed" ])
843- headers ["X-Speed-Applied" ] = str (response .metadata .get ("speed_applied" , False )).lower ()
834+ headers ["X-Speed-Applied" ] = str (
835+ response .metadata .get ("speed_applied" , False )
836+ ).lower ()
844837
845838 return Response (
846839 stream_with_context (_chunk_bytes (response .audio_data )),
0 commit comments