fix: json, text reponse format

This commit is contained in:
2023-11-15 16:02:05 +08:00
parent 144f95cf37
commit bb52b0c44e

View File

@@ -58,8 +58,12 @@ def generate_tsv(result: dict[str, list[Any]]):
def generate_srt(result: dict[str, list[Any]]):
srt = ""
for i, segment in enumerate(result["segments"], start=1):
start_time = format_timestamp(segment["start"])
end_time = format_timestamp(segment["end"])
start_time = format_timestamp(
segment["start"], decimal_marker=",", always_include_hours=True
)
end_time = format_timestamp(
segment["end"], decimal_marker=",", always_include_hours=True
)
text = segment["text"]
srt += f"{i}\n{start_time} --> {end_time}\n{text}\n\n"
return srt
@@ -234,13 +238,16 @@ async def transcription(
)
if response_format == "json":
return Response(content=result, media_type="application/json")
return result
elif response_format == "text":
return Response(content='\n'.join(s['text'] for s in result['segments']), media_type="plain/text")
return Response(
content="\n".join(s["text"] for s in result["segments"]),
media_type="plain/text",
)
elif response_format == "tsv":
return Response(content=generate_tsv(result), media_type='plain_text')
return Response(content=generate_tsv(result), media_type="plain_text")
elif response_format == "srt":
return Response(content=generate_srt(result), media_type='plain_text')
return Response(content=generate_srt(result), media_type="plain_text")
elif response_format == "vtt":
return generate_vtt(result)