直接调用火山引擎asr服务可5分钟内获取结构化文本;需开通服务、获取access key和resource id;支持异步提交音频(url或文件)并轮询结果,或通过websocket进行流式识别。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在项目中快速接入高准确率的语音转文字能力,直接调用火山引擎ASR服务是最省时的选择——不用训练模型、不搭GPU集群,只需提交音频链接或流式上传,5分钟内就能拿到结构化文本结果。
开通服务与获取凭证
登录火山引擎控制台 → 进入「智能语音」服务页 → 点击「立即开通」语音识别(ASR)服务。企业实名认证为必选项,个人开发者可跳过资质审核但单日调用量受限。
开通后进入「Access Key管理」页面,创建一对 【X-Api-Access-Key】 和 【X-Api-App-Key】,这两个密钥后续将用于所有API请求签名,切勿硬编码在前端代码中。
在「语音识别」→「应用管理」中新建应用,选择「录音文件识别标准版」或「大模型录音文件识别」,记下分配的 【X-Api-Resource-Id】 值,例如 volc.bigasr.auc,不同服务类型该值不同,填错会导致403拒绝访问。
提交音频任务(异步方式)
方法一:使用Python提交MP3远程链接
准备一个公网可访问的音频URL(如OSS、七牛云、GitHub Raw链接),确保格式为mp3/wav/flac,时长不超过6小时;调用 submit 接口时必须携带 X-Api-Request-Id 头,建议用uuid4生成唯一ID,否则重试时可能被判定为重复任务。
方法二:本地文件直传(适合小文件)
构造 multipart/form-data 请求,将音频文件作为 file 字段上传,注意 audio.format 参数需与实际格式严格一致(如wav不能写成wave),否则返回错误码 40000003。
轮询识别状态并获取结果
第一步:用上一步返回的 task_id 调用 status 查询接口
请求地址:https://openspeech.bytedance.com/api/v3/auc/bigmodel/status
每2秒轮询一次,直到响应头中 X-Api-Status-Code 为 20000000 且 body 中 status 字段变为 success。
第二步:状态就绪后,立即调用 result 接口拉取最终文本
请求地址:https://openspeech.bytedance.com/api/v3/auc/bigmodel/result
响应体为标准JSON,核心字段在 result.text 中;若开启 show_utterances,还会返回带时间戳的分句片段数组,可用于生成字幕或高亮关键语句。
流式语音识别(实时场景)
适用会议系统、语音助手等低延迟需求,需建立 WebSocket 连接。
连接地址:wss://ai-gateway.vei.volces.com/v1/realtime?model=bigmodel
必须在首次连接后立即发送 transcription_session.update 事件,否则服务端不会响应后续音频帧;该事件中 session.sample_rate 必须设为 16000,否则识别准确率断崖式下降。
音频数据以 base64 编码的 PCM 16-bit 小端格式分块推送,每块建议 200ms 长度(即3200字节),过短会增加建连开销,过长导致首字延迟升高。
服务端通过 conversation.item.input_audio_transcription.result 推送中间结果,用 conversation.item.input_audio_transcription.completed 标识本轮结束,此时 text 字段为最终确定文本,可安全存入数据库或触发下游逻辑。











