关于Azure Create Transcription API支持VTT输出格式的问询
解决方案:Azure批量转录直接获取VTT/SRT字幕格式
针对你遇到的Azure语音服务Create Transcription API无法直接指定输出字幕格式的问题,有两个实用的解决方法:
1. 直接获取批量转录生成的原生VTT文件
批量转录完成后,Azure后台会自动生成JSON、VTT、SRT等多种格式的输出文件,只需通过特定接口获取:
- 调用
GET https://<你的服务区域>.cris.ai/api/speechtotext/v3.1/transcriptions/<转录任务ID>/files接口,列出该转录任务的所有输出文件 - 在返回的文件列表中,找到
kind为Transcription且properties.format为WebVtt(对应VTT格式,Subrip对应SRT格式)的条目,使用其links.contentUrl直接下载目标格式文件
2. 用语音SDK直接转换转录结果为VTT
如果需要在脚本中集成格式转换逻辑,可以使用Azure语音SDK的内置方法,无需自行编写JSON转VTT的代码:
from azure.core.credentials import AzureKeyCredential from azure.ai.speech import SpeechConfig from azure.ai.speech.transcription import BatchTranscriptionClient # 初始化客户端 speech_config = SpeechConfig(subscription="你的订阅密钥", region="你的服务区域") client = BatchTranscriptionClient(speech_config) # 获取已完成的转录任务 transcription = client.get_transcription("你的转录任务ID") # 导出为WebVTT格式并保存到文件 with open("output.vtt", "w", encoding="utf-8") as vtt_file: vtt_file.write(transcription.to_webvtt())
补充说明:Create Transcription API的请求参数里确实没有设置输出格式的选项,因为批量转录的多格式输出是后台自动生成的,无需在创建任务时指定,你只需在任务完成后通过上述方式获取对应格式的文件即可。
内容的提问来源于stack exchange,提问作者successfully_failed
相关产品推荐
相关产品推荐

