录音转文字 API 怎么接?文件上传、时间戳与说话人
录音转文字,要把真实音频交给支持转写的端点,再按用途选择文字、时间戳和说话人信息。这三种输出并非每个模型都同时提供;收到一段通顺文字,也不能证明录音完整、数字无误或说话人对应正确。本文处理已经录好的文件,不实现实时通话;官方资料核对日期为 2026 年 10 月 24 日,没有上传录音或调用真实 API。
先定输出用途,再选接口能力
| 要完成的任务 | 需要的输出 | 应另外检查 |
|---|---|---|
| 整理口述内容 | 原语种转写文字 | 漏字、否定词、数字及专有名词 |
| 做字幕或跳转回听 | 文字加时间范围 | 词级还是段级、时间单位与原音频对齐 |
| 整理多人会议 | 文字、片段与说话人标签 | 换人、抢话处的归属,标签与真实身份的映射 |
OpenAI 当前把 gpt-transcribe 作为新文件转写入口;词级时间戳、字幕格式和说话人功能仍列在旧模型兼容示例中。相关旧模型已标弃用,不能只替换模型名就假设所有字段保留。选型时检查所需能力与迁移条件。官方转写路线、弃用说明
上传的是音频字节,不是本地路径
以 OpenAI 的 POST /v1/audio/transcriptions 为例,请求使用表单文件上传。file 是文件对象,需要足够识别格式的元数据;建议提供带扩展名的文件名和合适的内容类型。把 meeting.wav 当普通字符串发送,并不等于上传了录音。转写接口参数
先核对以下最小信息,再增加其他选项:
| 项目 | 应准备的内容 |
|---|---|
| 服务与端点 | 当前服务明确支持的音频转写入口,鉴权按该服务配置 |
| 模型 | 支持所需输出的实际模型标识 |
| 文件 | 可播放的音频字节、真实格式、文件大小与录音时长 |
| 返回格式 | 当前模型接受的格式,以及应用实际要读取的字段 |
OpenAI 当前文件指南列出 25 MB 上限,支持 MP3、WAV 等格式;这是该官方接口的限制,不是云岚API容量承诺。超过限制时可考虑压缩或切片,但应保留原文件,并避免在句子中间生硬切断。文件与长录音说明
别把图片或 PDF 的字段照搬到音频接口。不同服务的输入方式也不同:Mistral 的文件转写允许 file、file_url、file_id 三选一,其中上传文件需满足其音频用途要求;这不代表任意转写接口都接受 URL 或文件 ID。Mistral 文件输入
语言提示、时间戳与说话人,分别设置
对于 gpt-transcribe,预期输入语言使用 languages,不能与旧的单数 language 同时发送。keywords 用于相关术语提示,不是要求模型把词强行写进结果;返回的语言列表为空,也不应自行填成中文。语言与术语字段
时间戳要查清颗粒度与返回格式。例如按 Mistral 当前文件转写指南,在数组参数 timestamp_granularities 中选择 segment,可取得以秒计的段级起止时间;该指南说明此流程不提供词级时间戳。加 diarize=true 才请求说话人标签,并且依赖段级时间戳。不能将这套参数原样套给 OpenAI。时间戳说明、说话人设置
说话人标签用于区分片段归属。若结果只有 speaker_1,应用不应无依据地改成某个人名;需要回听或核对已有映射。分成多个文件处理时,也要验证标签是否对应同一人,不能只凭编号相同就合并。
长录音切片后,怎样找回原时间?
给每片保留原录音编号、版本、起止位置和是否有重叠。统一时间单位后,若片段时间以切片开头为零,原录音位置可按“切片起点+片内时间”换算。
假设算例:切片从原录音第 60 秒开始,片内一句话从 2.4 秒开始,对应原录音 62.4 秒。这只演示坐标换算,不是模型时间戳精度测试。若还删过静音、变速或重新拼接,就要另外保存编辑映射,不能继续只加一个偏移。
重叠切片可能带来重复文字;不要仅按句子相似就删掉重复项,录音中也可能真的重复说了一遍。回听交界处后再决定保留范围,并保留原始结果与修改记录。
用原音频抽查,别只看文字是否通顺
下载录音转写检查与验收资料。包内是发送前清单、时间映射、逐段检查表与空白 CSV,没有音频、请求程序或预填成绩。
请求前先人工标注少量代表片段:清晰讲话、数字或缩写、多人交接、噪声或重叠说话。保存自己的预期记录,不把整段标准答案塞进提示词。收到结果后分别检查:
- 文本是否漏掉否定词、单位或数字,是否加入录音没有的话。
- 时间范围能否定位到同一句原话;缺少时间戳记“未返回”,不补成零。
- 换人处的标签是否正确;听不清或归属不明时保留待核。
- 抽查覆盖了哪些位置,哪些未检查;少量片段通过不能写成全文准确。
如后续需要摘要或固定字段,保留原转写再做结构与事实检查。录音里有人提到“计划付款”,不能在整理后变成“已付款”。费用按原 usage 与实际账单核对,不能把转写字数直接套成普通聊天输入费用。账单核对方法
常见问题
中文夹英文,要先把录音翻译成一种语言吗?
不必预先这样处理。先选支持原录音语言组合的转写路线,再按其字段提供语言提示。转写原话与翻译成另一语言是两项任务;分别记录结果,避免把翻译意译当作逐字稿。OpenAI 转写与翻译路线
已经返回 speaker 标签,就知道谁在说话了吗?
不一定。它首先是分段归属信息;姓名映射需要另有依据。多人抢话、说话人切换和分文件后的编号都应抽查,不能把标签当身份认证。
开启 stream,就是实时麦克风转写吗?
不是。已录好文件也能流式返回文字;实时采集需要相应实时接口。接收 SSE 的通用分帧可参考流式接收教程,但音频事件及结束条件仍按所用接口处理。官方两种流程
云岚API的文字模型都能转写录音吗?
不能这样推断。已有账号先在控制台确认音频端点、模型与输出选项;尚未接入可先看地址与协议说明。本文没有验证任何云岚API渠道的转写支持、准确率或说话人效果。
