@@ -53,7 +53,7 @@ pub(crate) async fn audio_speech_handler(req: Request<Body>) -> Response<Body> {
5353 }
5454 } ;
5555
56- let file_obj = match llama_core:: audio:: create_speech ( speech_request) . await {
56+ let audio_buffer = match llama_core:: audio:: create_speech ( speech_request) . await {
5757 Ok ( obj) => obj,
5858 Err ( e) => {
5959 let err_msg = format ! ( "Failed to transcribe the audio. {}" , e) ;
@@ -65,26 +65,14 @@ pub(crate) async fn audio_speech_handler(req: Request<Body>) -> Response<Body> {
6565 }
6666 } ;
6767
68- // serialize the file object
69- let s = match serde_json:: to_string ( & file_obj) {
70- Ok ( s) => s,
71- Err ( e) => {
72- let err_msg = format ! ( "Failed to serialize the file object. {}" , e) ;
73-
74- // log
75- error ! ( target: "stdout" , "{}" , & err_msg) ;
76-
77- return error:: internal_server_error ( err_msg) ;
78- }
79- } ;
80-
8168 // return response
8269 let result = Response :: builder ( )
8370 . header ( "Access-Control-Allow-Origin" , "*" )
8471 . header ( "Access-Control-Allow-Methods" , "*" )
8572 . header ( "Access-Control-Allow-Headers" , "*" )
86- . header ( "Content-Type" , "application/json" )
87- . body ( Body :: from ( s) ) ;
73+ . header ( "Content-Type" , "audio/wav" )
74+ . header ( "Content-Disposition" , "attachment; filename=audio.wav" )
75+ . body ( Body :: from ( audio_buffer) ) ;
8876
8977 let res = match result {
9078 Ok ( response) => response,
0 commit comments