将音视频文件转为文字
千问AI平台提供多个模型系列用于录音文件转写:Qwen-Audio-3.x-ASR-Flash 支持热词、Prompt 上下文和说话人分离,Fun-ASR 支持高精度多语言转写与歌曲识别,Qwen-ASR 具备增强的语义理解能力,Qwen-Omni 支持基于提示词的上下文感知转写。
适用模型: 支持上下文增强功能,可将对话历史传入 ASR 模型,显著提升专有词汇的转写准确率。详细的使用方法和效果示例,请参见下方。
使用场景: 适用于将 ASR 与大语言模型结合的场景。将历史对话上下文(LLM 的回复和此前的识别结果)传入 ASR 模型,可显著提升对人名、地名、产品术语等专有名词的转写准确率——比传统热词更灵活。
用法: 通过
实现上述效果,可在上下文中加入以下任一内容:
除上下文增强外,录音文件转写还支持以下能力。热词的创建与使用方法请参见提升识别准确率。
录音文件转写支持长音频异步转写,适用于会议记录、访谈整理、通话回放等场景。
限制说明:
说话人分离可自动识别音频中的不同说话人,并在转写结果中为每个句子标注说话人标签,适用于多人会议、访谈录音等场景。
Qwen-Audio-3.1-ASR-Flash 使用
不同 SDK 暴露上述字段的命名习惯不同(如字典 key、对象属性、方法等),完整字段对照请参见API 参考。
敏感词过滤可对识别结果中的敏感词执行替换或移除,适用于客服质检、内容合规、字幕审核等场景。
支持范围:Qwen-Audio-3.x-ASR-Flash-Filetrans、Fun-ASR。
默认行为:未传入
Qwen3-ASR-Flash-Filetrans 与 Qwen3-ASR-Flash 固定开启情感识别,无需额外配置。识别结果中会附带说话人的情绪标签,取值为 7 类细粒度情绪:
录音文件转写支持在结果中输出时间戳,便于字幕生成、关键词高亮、音视频剪辑等场景。各模型的默认行为和控制方式不同:
时间戳单位均为毫秒,分两个层级返回:
将录音文件转写应用于生产环境时,以下实践有助于提升识别效果和系统稳定性。
有关模型可用性、支持语言和功能对比,请参见语音识别模型。
核心特性
- 多语言识别:支持中文(含多种方言)、英语、日语、韩语、德语、法语、俄语等 30 多种语言。
- 格式兼容:支持任意采样率,兼容 aac、wav、mp3 等主流音视频格式。
- 长音频转写:支持单个时长不超过 12 小时、体积不超过 2 GB 的音频文件异步转写。启用说话人分离时,建议音频时长不超过 2 小时。
- 歌曲识别:可转写带背景音乐(BGM)的完整歌曲,仅 fun-asr 与 fun-asr-2025-11-07 支持。
- 可配置功能:说话人分离、敏感词过滤、句子/词语级时间戳、热词增强、上下文增强。
前提条件
- 已获取 API Key并将其配置到环境变量。
- 如果通过 DashScope SDK 调用,需安装最新版 SDK。
快速开始
- Qwen-Audio-3.x-ASR-Flash-Filetrans/Fun-ASR
- Qwen-ASR
- Qwen-Omni
支持的模型:
- Qwen-Audio-3.1-ASR-Flash-Filetrans:qwen-audio-3.1-asr-flash-filetrans
- Qwen-Audio-3.0-ASR-Flash-Filetrans:qwen-audio-3.0-asr-flash-filetrans
- Qwen-Audio-3.1-ASR-Flash:qwen-audio-3.1-asr-flash
- Qwen-Audio-3.0-ASR-Flash:qwen-audio-3.0-asr-flash
- Fun-ASR:fun-asr(稳定版,当前等同 fun-asr-2025-11-07)、fun-asr-2025-11-07(快照版)、fun-asr-2025-08-25(快照版)、fun-asr-mtl(稳定版,当前等同 fun-asr-mtl-2025-08-25)、fun-asr-mtl-2025-08-25(快照版)
- Fun-ASR-Flash:fun-asr-flash-2026-06-15
- fun-asr 和 fun-asr-2025-11-07:普通话、粤语、吴语、闽南语、客家话、赣语、湘语、晋语、英语、日语、韩语、越南语、泰语、印尼语、马来语、菲律宾语、印地语、阿拉伯语、法语、德语、西班牙语、葡萄牙语、俄语、意大利语、荷兰语、瑞典语、丹麦语、芬兰语、挪威语、希腊语、波兰语、捷克语、匈牙利语、罗马尼亚语、保加利亚语、克罗地亚语、斯洛伐克语。同时支持中原、西南、冀鲁、江淮、兰银、胶辽、东北、北京、港台等地区的普通话口音。
- fun-asr-2025-08-25:普通话和英语。
- fun-asr-mtl 和 fun-asr-mtl-2025-08-25:普通话、粤语、英语、日语、韩语、越南语、泰语、印尼语、马来语、菲律宾语、印地语、阿拉伯语、法语、德语、西班牙语、葡萄牙语、俄语、意大利语、荷兰语、瑞典语、丹麦语、芬兰语、挪威语、希腊语、波兰语、捷克语、匈牙利语、罗马尼亚语、保加利亚语、克罗地亚语和斯洛伐克语。
- fun-asr-flash-2026-06-15:同 fun-asr-2025-11-07。
发起首次调用
获取 API Key 并将其设置为环境变量。如需使用 SDK,请先安装 SDK。由于音视频文件通常较大,文件传输和语音识别可能需要较长时间。录音文件识别 API 采用异步调用方式提交任务。识别完成后,需要通过查询接口获取识别结果。异步提交并同步等待
提交任务后阻塞等待,直到任务完成。完整的识别结果以 JSON 格式输出到控制台。结果包含转写文本以及文本在音视频文件中的起止时间(单位为毫秒)。
完整的识别结果以 JSON 格式输出到控制台。结果包含转写文本以及文本在音视频文件中的起止时间(单位为毫秒)。
第一条结果第二条结果
异步提交并轮询查询
提交任务后通过轮询获取结果,而非阻塞等待。RESTful API
使用任意 HTTP 库提交任务并轮询获取结果。以下 Python 示例演示了完整流程:同步调用(Qwen-Audio-3.x-ASR-Flash/Fun-ASR-Flash)
Qwen-Audio-3.x-ASR-Flash/Fun-ASR-Flash 系列模型支持对最长 5 分钟的音频文件进行同步调用,结果可以以流式或非流式方式返回。Qwen-Audio-3.x-ASR-Flash/Fun-ASR-Flash 系列模型通过 DashScope 同步调用接口(multimodal-generation 端点)返回的响应结构与标准 DashScope 多模态接口格式不同,实际返回结构为:其中
output.output.sentence.text 和顶层 output.text 为识别文本字段,无 choices 字段,请据此解析响应。上下文增强
适用模型: 支持上下文增强功能,可将对话历史传入 ASR 模型,显著提升专有词汇的转写准确率。详细的使用方法和效果示例,请参见下方。
使用场景: 适用于将 ASR 与大语言模型结合的场景。将历史对话上下文(LLM 的回复和此前的识别结果)传入 ASR 模型,可显著提升对人名、地名、产品术语等专有名词的转写准确率——比传统热词更灵活。
用法: 通过 input.messages 传入对话历史。使用 assistant 角色表示 LLM 此前的回复,使用 user 角色配合 input_text 类型表示此前的识别结果。上下文需成对出现在当前音频消息之前。
支持的文本类型包括(但不限于):
- 各种分隔符格式的热词列表(例如:热词 1、热词 2、热词 3、热词 4)
- 任意长度与格式的文本段落或篇章
- 混合内容:词表与段落的任意组合
- 无关或无意义文本(包括乱码)。模型对无关内容容忍度较高,识别质量很少因此下降。
| 不使用上下文增强 | 使用上下文增强 |
|---|---|
| 未使用上下文增强时,部分投行公司名称识别有误,例如 "Bird Rock" 正确应为 "Bulge Bracket"。 识别结果:"投行圈内部的那些黑话,你了解哪些?首先,外资九大投行,Bird Rock,BB ……" | 使用上下文增强,对投行公司名称识别正确。 识别结果:"投行圈内部的那些黑话,你了解哪些?首先,外资九大投行,Bulge Bracket,BB ……" |
- 词表:
- 词表 1:
- 词表 2:
- 词表 3:
- 自然语言:
- 有干扰的自然语言:部分文本与识别内容无关,例如下面示例里的人名。
进阶功能
除上下文增强外,录音文件转写还支持以下能力。热词的创建与使用方法请参见提升识别准确率。
长音频文件处理
录音文件转写支持长音频异步转写,适用于会议记录、访谈整理、通话回放等场景。
限制说明:
- Qwen-Audio-3.x-ASR-Flash-Filetrans/Fun-ASR/Qwen3-ASR-Flash-Filetrans:单个音频文件大小不超过 2 GB,时长不超过 12 小时。
- Qwen-Audio-3.1-ASR-Flash:单个音频文件大小不超过 2 GB,时长不超过 5 分钟。
- Qwen-Audio-3.0-ASR-Flash/Fun-ASR-Flash/Qwen3-ASR-Flash:单个音频文件大小不超过 10 MB,时长不超过 5 分钟。更长的音频请使用 Qwen-Audio-3.1-ASR-Flash-Filetrans、Fun-ASR 或 Qwen3-ASR-Flash-Filetrans。
- 启用说话人分离时:建议音频时长不超过 2 小时,否则可能导致识别失败或超时。详见说话人分离。
- 提交转写任务,获取
task_id。 - 轮询查询任务状态(或使用 SDK 的等待方法阻塞等待)。
- 任务完成后从返回的 URL 下载识别结果 JSON。
说话人分离
说话人分离可自动识别音频中的不同说话人,并在转写结果中为每个句子标注说话人标签,适用于多人会议、访谈录音等场景。
Qwen-Audio-3.1-ASR-Flash 使用 speaker_diarization_enabled 开启说话人分离。
支持范围:Qwen-Audio-3.x-ASR-Flash-Filetrans、Qwen-Audio-3.1-ASR-Flash、Fun-ASR。
启用方式:在请求参数中设置 diarization_enabled 为 true。识别结果中每个句子会包含 speaker_id 字段,标识不同说话人。
返回结构示例(节选):
启用说话人分离时,建议音频时长不超过 2 小时,否则可能导致识别失败或超时(未启用时的时长限制详见长音频文件处理)。说话人分离仅支持单声道音频。
敏感词过滤
敏感词过滤可对识别结果中的敏感词执行替换或移除,适用于客服质检、内容合规、字幕审核等场景。
支持范围:Qwen-Audio-3.x-ASR-Flash-Filetrans、Fun-ASR。
默认行为:未传入 special_word_filter 参数时,系统启用内置敏感词表,匹配的词语会被替换为等长的 *。
自定义配置:special_word_filter 是 JSON 对象,包含三个子字段:
filter_with_signed.word_list:字符串数组,列出需要被替换为等长*的敏感词。例如["测试"],「帮我测试一下」会变成「帮我**一下」。filter_with_empty.word_list:字符串数组,列出需要从结果中完全移除的敏感词。例如["开始"],「比赛这就要开始了吗」会变成「比赛这就要了吗」。system_reserved_filter:布尔值,默认true。是否同时启用系统预置敏感词表(与自定义词表叠加生效)。
录音文件转写与实时语音识别的默认行为不同:实时识别未传入
special_word_filter 时不做过滤(system_reserved_filter 默认为 false)。情感识别
Qwen3-ASR-Flash-Filetrans 与 Qwen3-ASR-Flash 固定开启情感识别,无需额外配置。识别结果中会附带说话人的情绪标签,取值为 7 类细粒度情绪:surprised(惊讶)、neutral(平静)、happy(愉快)、sad(悲伤)、disgusted(厌恶)、angry(愤怒)、fearful(恐惧)。
字段路径(因接口而异):
- OpenAI 兼容接口(Qwen3-ASR-Flash):
choices[].delta.annotations[].emotion(流式输出)或choices[].message.annotations[].emotion(非流式)。 - DashScope 同步调用接口(Qwen3-ASR-Flash):
output.choices[].message.annotations[].emotion。 - DashScope 异步任务接口(Qwen3-ASR-Flash-Filetrans):
transcripts[].sentences[].emotion,与时间戳等字段并列在每个句子对象中。
Qwen-Audio-3.x-ASR-Flash-Filetrans、Qwen-Audio-3.x-ASR-Flash、Fun-ASR、Fun-ASR-Flash 暂不支持情感识别。如需在实时识别中使用情感识别,请参见实时语音识别。
获取时间戳
录音文件转写支持在结果中输出时间戳,便于字幕生成、关键词高亮、音视频剪辑等场景。各模型的默认行为和控制方式不同:
- Qwen-Audio-3.x-ASR-Flash-Filetrans/Qwen-Audio-3.x-ASR-Flash/Fun-ASR/Fun-ASR-Flash:时间戳固定开启,不可关闭。
- Qwen3-ASR-Flash-Filetrans:仅 DashScope 异步调用方式支持时间戳,固定开启。可通过请求参数
enable_words控制时间戳级别:设为false(默认)返回句级时间戳,设为true返回字级时间戳。字级时间戳仅支持中文、英语、日语、韩语、德语、法语、西班牙语、意大利语、葡萄牙语、俄语,其他语种可能无法保证准确性。
Qwen3-ASR-Flash 通过 OpenAI 兼容接口调用时,输出形态为
chat.completion,不返回时间戳字段。如需时间戳,请使用 Qwen3-ASR-Flash-Filetrans(异步任务接口)。- 句级:
sentences[].begin_time与sentences[].end_time,标识每个句子在音频中的起止时刻。 - 字级:
sentences[].words[]数组,每个元素包含begin_time、end_time与text(该字/词文本)。
音频内时间戳是毫秒整数(如
100),与任务级 end_time(任务完成时间,字符串日期如 "2024-09-12 15:11:40.903")不是同一字段,请勿混淆。应用于生产环境
将录音文件转写应用于生产环境时,以下实践有助于提升识别效果和系统稳定性。
- 文件托管:将音频文件上传至 OSS 等对象存储服务,通过 URL 方式调用,避免使用本地文件上传(本地文件调用上限 100 QPS,不支持扩容)。
- 异步轮询:长音频转写采用异步模式,任务查询接口默认 20 QPS。建议设置合理的轮询间隔(如 2~5 秒),避免频繁查询触发限流。轮询策略与批量任务管理请参见异步任务管理。
- 错误处理:实现完善的重试机制;网络超时或服务端临时错误(5xx)按指数退避策略重试。
- 降噪处理:噪声较大的音频建议先用 FFmpeg 等工具预处理后再提交识别。
- 模型选择:根据音频时长选择合适的模型。5 分钟以内的短音频使用 Qwen3-ASR-Flash,超过 5 分钟的长音频使用 Qwen-Audio-3.1-ASR-Flash-Filetrans、Fun-ASR 或 Qwen3-ASR-Flash-Filetrans。
API 参考
- Qwen-Audio-3.x-ASR-Flash-Filetrans/Fun-ASR
- Qwen-ASR
- Qwen-Omni
常见问题
- Qwen-Audio-3.x-ASR-Flash-Filetrans/Fun-ASR
- Qwen-ASR
- Qwen-Omni
如何提高识别准确率?
您应综合考虑所有相关因素并采取相应措施。主要影响因素包括:- 音质:录音设备质量、采样率和环境噪声会影响音频清晰度。高质量的音频是准确识别的基础。
- 说话人特征:音高、语速、口音和方言的差异会增加识别难度,尤其是罕见方言或浓重口音。
- 语言和词汇:中英混合、专业术语或俚语会增加识别难度。您可以配置热词来优化这些场景的识别效果。
- 上下文理解:缺乏上下文可能导致语义歧义,特别是在需要上下文才能正确识别的场景中。
- 提升音频质量:使用高性能麦克风和支持推荐采样率的设备。减少环境噪声和回声。
- 适应说话人特征:对于涉及浓重口音或多方言的场景,选择支持相应方言的模型。
- 配置热词:为专业术语、专有名词等特定词汇设置热词。详情请参见自定义热词。
- 保留上下文:避免将音频切分为过短的片段。