用途:把音频或视频文件转写成文本,适用于会议、访谈、讲座、播客等场景,可选标注“谁说了什么”。
主要能力:默认模型为 gemini-flash-latest,能较好处理多人交叉对话和困难段落,支持词汇表和说话人标签;MODEL=gemini-3.5-transcribe 切换为 Google 专用语音转文字模型,更便宜并提供词级时间戳,但会静默跳过多人录音中的困难段落,只建议用于清晰的单人音频。语言自动检测,TRANSCRIBE_LANG 可给出提示。
用法:命令为 node .claude/skills/file-transcribe/transcribe.mjs <input-file> [output.txt](用 npx skills add 安装时路径为 .agents/skills/file-transcribe/)。第一个参数是必填的音视频文件,第二个是输出路径,默认 transcript.txt。常用环境变量:TRANSCRIBE_LANG 语言提示;STYLE 取 smart(默认,加标点、去口语填充)或 verbatim;SPEAKERS=1 输出“Speaker N:”分段;TIMESTAMPS=1 在每段前加 [hh:mm:ss],配合 gemini-3.5-transcribe 还会生成 <output>.words.json;VOCAB 用逗号分隔需正确拼写的名称或术语(在 gemini-3.5-transcribe 上不能与 SPEAKERS/TIMESTAMPS 同用);CHUNK_SECONDS 控制长录音切分点,默认 1800,上限 3600;BATCH 控制并行分块请求数,默认 2。
流程与限制:先用 ffmpeg 转为单声道 16 kHz MP3,超长录音分块发送到代理的 /v1/audio/transcriptions,按顺序拼接并加上分块偏移,最后清理临时文件。说话人标签按分块独立,长录音中各块的“Speaker 1”不保证是同一人,需要一致时请让录音落在单个分块内。分块若出现 finish_reason 警告说明被输出上限截断,应降低 CHUNK_SECONDS。需安装 ffmpeg;在 Studio 容器内使用托管的 SERVER_URL 与 KB_ID,独立使用则需 GEMINI_API_KEY。