fix: json, text reponse format
This commit is contained in:
@@ -58,8 +58,12 @@ def generate_tsv(result: dict[str, list[Any]]):
|
|||||||
def generate_srt(result: dict[str, list[Any]]):
|
def generate_srt(result: dict[str, list[Any]]):
|
||||||
srt = ""
|
srt = ""
|
||||||
for i, segment in enumerate(result["segments"], start=1):
|
for i, segment in enumerate(result["segments"], start=1):
|
||||||
start_time = format_timestamp(segment["start"])
|
start_time = format_timestamp(
|
||||||
end_time = format_timestamp(segment["end"])
|
segment["start"], decimal_marker=",", always_include_hours=True
|
||||||
|
)
|
||||||
|
end_time = format_timestamp(
|
||||||
|
segment["end"], decimal_marker=",", always_include_hours=True
|
||||||
|
)
|
||||||
text = segment["text"]
|
text = segment["text"]
|
||||||
srt += f"{i}\n{start_time} --> {end_time}\n{text}\n\n"
|
srt += f"{i}\n{start_time} --> {end_time}\n{text}\n\n"
|
||||||
return srt
|
return srt
|
||||||
@@ -234,13 +238,16 @@ async def transcription(
|
|||||||
)
|
)
|
||||||
|
|
||||||
if response_format == "json":
|
if response_format == "json":
|
||||||
return Response(content=result, media_type="application/json")
|
return result
|
||||||
elif response_format == "text":
|
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":
|
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":
|
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":
|
elif response_format == "vtt":
|
||||||
return generate_vtt(result)
|
return generate_vtt(result)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user