transcribe_audio
Transcribe a Bilibili video's audio with a local ASR backend when no usable subtitles exist, returning transcript data that matches the standard transcript structure for downstream use.
Instructions
没有字幕时的第三条路:下载音轨 → 本地 ASR 自建转写。
什么时候用
get_transcript返回transcript: null(无字幕)或字幕是
ai_subtitle且错误多到不能作为依据
⚠️ 判「有没有字幕」必须带登录态:未登录时 B站返回空字幕列表, 看起来像"没字幕"(实测 6 个视频 + 195 个分P 全部返回空列表)。
转写引擎是使用者自备的(模型体积大,不进仓库)。
两种接法:
① pip install faster-whisper(首次会下模型,large-v3 约 3 GB)
② 设 BIG_ASR_CMD 指向你已有的转写命令(含 {audio} {out} 占位符)
两个都没有时,本工具返回 status="no_backend" + 完整安装指引,
并明确告诉你要把「该视频无可用字幕」记成结论里的缺口——
不静默失败(静默失败会让 Agent 误以为"这视频没讲")。
返回结构与 get_transcript 一致(data_source="asr"),可直接接进后续流程。
⚠️ 本地 ASR 同样会误转,处理标准与 AI 字幕完全一致(数字/术语要标注
"建议回原片核对"),并在引用时注明 engine(转写模型)。
page:多 P 视频转写第几部分(默认 1)。这个参数以前是假的—— 签名里收了 page 但实现里写死读 P1。现在按 page 取对应的 cid, 音轨缓存也按分P分目录(否则 P2 会复用 P1 的音轨,静默返回 P1 的转写)。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bvid | Yes | ||
| page | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |