Grok录音转文字怎么用?Transcribe 2.0、时间戳与专有名词核对
通过 Grok Speech to Text API 转写录音,设置语言与术语,检查时间戳、数字…
文章目录
会议录音转文字后,最值得核对的是产品名、金额和责任人,而不是标点是否漂亮。Grok Speech to Text支持文件转写、词级时间戳和说话人区分。本教程用一段已获准处理的测试录音,建立从请求到回听核查的流程;示例按官方文档编写,没有替你执行付费请求。
第一步:确认模型和输入文件
需要可用的xAI API账户、密钥与额度,普通聊天会员不自动包含API。本例固定使用grok-voice-transcribe-2.0。官方更新记录说明旧的1.0在2026年10月2日退役,旧名称请求会被路由到2.0;维护代码时应明确记录实际模型,避免仍把结果称作1.0输出。
先取一段短录音,确认可正常播放、语言和声道清楚。保存MP3或其他文档列明的格式。不要仅修改后缀来转换音频编码,也不要把真实会议直接拿来反复试参数。先用允许上传的样本验证链路,再处理完整材料。
第二步:按顺序构造转写请求
安装requests,把密钥设置在本机环境变量XAI_API_KEY。以下例子使用普通话,要求数字格式化并启用说话人标签。multipart表单中的选项字段必须放在file之前;requests的data与files组合会先写入普通字段,再附文件。
import os, requests
with open("meeting.mp3", "rb") as audio:
response = requests.post(
"https://api.x.ai/v1/stt",
headers={"Authorization": "Bearer " + os.environ["XAI_API_KEY"]},
data=[("model", "grok-voice-transcribe-2.0"),
("language", "zh"), ("format", "true"),
("diarize", "true"), ("keyterm", "项目澄明")],
files={"file": ("meeting.mp3", audio, "audio/mpeg")},
timeout=120)
response.raise_for_status()
result = response.json()
print(result["text"])
print("Duration:", result.get("duration"))
for word in result.get("words", []):
print(word.get("start"), word.get("end"),
word.get("speaker"), word.get("text"))
第三步:检查识别与格式化的差别
language可用于在歧义时偏向指定语言,format则将支持语言中的口头数字等转换为书写形式;使用格式化时也要传语言。示例的“项目澄明”只是术语占位,应换成录音里实际出现的名称。keyterm用于偏置识别,不保证每次都完全正确。
输出的text用于阅读,words里的start和end帮助定位回听。diarize产生的是说话人编号,不会自动证明编号对应某位同事。多声道独立转写和同一声道内的说话人区分也不是同一能力,应按原录音结构选择。
第四步:回听三类高风险片段
先核对人名与产品名,再核对金额、日期和数量,最后检查“可以”“不可以”“预计”等会改变含义的词。借助时间戳回听原音频,不要仅让另一个模型读转写稿来证明准确。数字格式化之后,也要留意单位与小数是否被改错。
请只根据已人工核对的转写整理待办:事项、原话、时间位置、责任人是否明确、截止日期是否明确。说话人编号不等于真实身份;没有明确承诺就写待确认,不从讨论语气推断已批准。
第五步:排查失败与漏转写
鉴权错误先检查密钥和账户;400错误检查字段、文件格式及顺序。音频有一段没有文字时,先回听是否声音过低或噪声过大,再考虑VAD阈值。官方说明降低阈值可保留较弱语音,但也可能把背景噪声转成文字,不能盲目降到零。
长文件或复杂声道增加定位难度,应先用短样本确定参数。每次改设置保留样本、参数与核对结果,避免只挑最好的一次宣称模型准确率。交付转写时标明人工核对范围,并把还无法确认的名字或数字留在待确认清单中。
官方资料
资料核对日期:2026年10月19日。
本文地址:https://www.163264.com/17386
