在火山引擎平台上,借助 ASR 语音识别接口,可以快速将会议录音、访谈音频或课程视频转换为带时间戳的文字稿与字幕内容。完整流程并不复杂:首先获取 API 密钥,并确保媒体文件可通过公网访问且总时长不超过 3 小时;然后调用 asr-subtitles 接口提交识别任务,同时正确传递 video_url 和 language 等关键参数;接着根据返回的 task_id 持续轮询任务状态,直到 status 变为 success;最后解析 result.segments 字段,生成标准 SRT 字幕文件。

如果你想在火山引擎上把一段会议录音、课程视频或培训内容自动转成带时间戳的文字稿,其实无需自行训练模型,也不用额外部署语音服务,只要调用官方 ASR 接口提交任务并轮询识别结果,就能高效完成音视频转文字与字幕生成。
准备API密钥和媒体文件
登录火山引擎控制台 → 进入「访问密钥」页面 → 创建新的访问密钥,复制 【API Key】 并妥善保管;该密钥具备调用 ASR 接口的权限,一旦泄露,可能导致接口被他人滥用并带来账户风险。
同时确认待识别的音频或视频文件已经上传到公网可访问的地址,例如对象存储 TOS、点播 VOD 或任意 HTTPS 服务器,并保证文件格式在官方支持范围内:mp4/mov/flv/ts/mkv(视频)或 mp3/wav/m4a(音频)。
注意:媒体文件时长不能超过 3 小时,否则在提交 ASR 识别任务时会直接失败,并返回 400 错误。
调用ASR接口提交识别任务
可使用 curl 或 Python requests 向以下接口地址发起 POST 请求:
https://mediakit.cn-beijing.volces.com/api/v1/tools/asr-subtitles
请求 Header 中必须包含:Authorization: Bearer {Your_API_Key};Body 参数中至少提供 【video_url 或 audio_url 二选一】,通常更推荐优先传 video_url,因为即使是纯音频封装成 MP4 文件也能保持良好兼容性。
如果已经明确语种,建议务必显式传入 "language": "cmn-Hans-CN",否则系统自动探测时,可能会把粤语等内容误识别为英文,从而明显影响语音转文字的准确率和最终字幕质量。
轮询任务状态直到完成
第一步:任务提交成功后,响应体中会返回 {"task_id": "xxx"},请先记录该任务 ID。
第二步:按照固定时间间隔(建议每 3 秒一次)通过 GET 请求查询接口:https://mediakit.cn-beijing.volces.com/api/v1/tools/asr-subtitles/{task_id}。
第三步:持续轮询任务结果,直到响应中的 "status" 字段变为 "success",这时 "result" 下返回的就是完整的字幕识别 JSON 数据。
注意:如果状态显示为 "failed",可查看 "error_message" 字段获取具体报错原因,常见问题包括 URL 无法访问、文件格式不受支持,或者 API 密钥缺少调用权限。
解析并导出字幕文本
从 "result" 中提取 "segments" 数组,每个分段通常都包含 "start_time"、"end_time" 和 "text" 等字段。
随后可使用 Python 按段拼接为标准 SRT 字幕格式:序号 → 时间轴 → 文本内容 → 空行,例如:
1
00:00:01,200 --> 00:00:04,500
大家好,欢迎参加本次技术分享
这一步实际上非常直接,只需将生成好的字符串写入 .srt 文件,即可完成字幕导出,后续可用于视频剪辑、课程字幕制作或会议纪要整理。
