bilibili-asr

n8n community node for Bilibili (Bcut) Automatic Speech Recognition API

Package Information

Downloads: 76 weekly / 76 monthly
Latest Version: 0.1.1
Author: WEIFENG2333

Documentation

n8n-nodes-bilibili-asr

npm version

一个 n8n 社区节点,封装了 B站必剪(Bcut)语音识别 API,可将音频文件自动转录为字幕文本。

无需 API Key,使用 B 站公开的匿名接口,开箱即用。


功能特性

功能 说明
🎙️ 完整 ASR 流程 上传音频 → 创建任务 → 等待结果,一键完成
🔍 查询任务结果 通过已有 task_id 查询识别进度与结果
📄 多种输出格式 JSON(带时间戳)/ SRT 字幕 / 纯文本 TXT
🔗 二进制字段接入 直接接收上游节点的音频二进制数据
📦 无额外依赖 仅使用 Node.js 内置模块,不引入第三方 HTTP 库

支持的音频格式: MP3、WAV、FLAC、M4A


安装

方式一:n8n 界面安装(推荐)

  1. 打开 n8n,进入 Settings → Community Nodes
  2. 点击 Install a community node
  3. 输入包名:n8n-nodes-bilibili-asr
  4. 点击 Install,重启 n8n 后即可在节点面板中找到 Bilibili ASR

方式二:命令行安装

# 在 n8n 的自定义节点目录中安装
npm install n8n-nodes-bilibili-asr

使用方法

操作一:完整 ASR 流程(Run ASR)

典型工作流:

Read Binary File  →  Bilibili ASR (runAsr)  →  Write File
参数 说明
音频来源 Binary Field(接收上游二进制数据)或 Base64 字符串
二进制字段名 上游节点输出的二进制属性名,默认 data
音频格式 mp3 / wav / flac / m4a
输出格式 json / srt / txt
最大轮询次数 等待识别完成的超时秒数,默认 300

JSON 格式输出示例:

{
  "task_id": "xxxxxxxx",
  "total_segments": 3,
  "segments": [
    { "index": 1, "start_time": 0, "end_time": 1200, "text": "大家好" },
    { "index": 2, "start_time": 1300, "end_time": 2500, "text": "欢迎使用" }
  ],
  "srt": "1\n00:00:00,000 --> 00:00:01,200\n大家好\n\n...",
  "txt": "大家好\n欢迎使用"
}

SRT / TXT 格式时,结果同时以字符串字段和二进制文件(可直接下载保存)形式输出。

操作二:查询任务结果(Query Result)

适合异步场景:先获取 task_id,稍后再查询。

参数 说明
任务 ID 之前由 Run ASR 返回的 task_id

输出字段含 state(0-5)和 state_description(中文说明)。


API 说明

本节点调用以下 B站必剪公开接口:

接口 方法 说明
/resource/create POST 申请分片上传
upload_urls[i] PUT 上传音频分片到 OSS
/resource/create/complete POST 提交上传
/task POST 创建 ASR 任务
/task/result GET 查询识别结果

Base URL: https://member.bilibili.com/x/bcut/rubick-interface


开发者指南

# 克隆并安装依赖
git clone <repo>
cd n8n-nodes-bilibili-asr
npm install

# 构建
npm run build

# 开发模式(watch)
npm run dev

# 发布到 npm
npm publish

致谢

本节点的 API 封装逻辑来源于 AsrTools 项目,感谢原作者的开源贡献。

License

MIT

Discussion