项目介绍
AssemblyAI Hub 是部署在你自己服务器上的 AssemblyAI 网关。它把多个 AssemblyAI 账号收进一个账号池,对外只发放 Hub 自己的 API Key(形如 hub-xxxx),客户端像调用官方 API 一样调用 Hub。
适合谁
- 团队里多个应用、多台机器共用几个 AssemblyAI 账号,不想把上游 Key 散发出去。
- 需要按应用发放、停用、统计 Key 的用量。
- 希望某个账号限流或欠费时自动切到别的账号,业务不中断。
- 需要一个可视化后台:上传音视频转写、查看结果、导出字幕、做摘要或翻译。
- 服务器访问 AssemblyAI 不稳定,需要为账号指定代理出口。
主要功能
| 功能 | 说明 |
|---|---|
| 官方兼容接口 | /v2/*、/v3/token、/v3/ws、/llm-gateway/v1/*、/sync/v1/*、/dictation/v1/*,请求参数原样透传 |
| 账号池 | 权重 + 并发上限选号,429 冷却、鉴权错误停用,失败自动换号(最多 MAX_RETRY_ACCOUNTS 个) |
| 资源绑定 | 上传文件和转写任务记住创建它的账号,后续查询、删除、字幕、语音理解都走同一账号 |
| 回调转发 | 支持官方 webhook_url 和自定义鉴权头,由 Hub 统一接收再转发 |
| 实时转写 | 直连模式(发临时 token)和中继模式(WebSocket 经 Hub 转发)两种 |
| 区域 | 账号可设 us / eu,请求可用 X-Hub-Region 头指定区域 |
| 控制台 | 概览、上传转写、任务、上游账号、对外 Key、网络代理、用量、配置与接入 |
| AI 处理 | 翻译、说话人识别(AssemblyAI 语音理解);摘要、待办、分章节、问答(LLM 网关或自定义 OpenAI 兼容接口) |
| 上传压缩 | 控制台上传时可先用 ffmpeg 转成 16 kHz Opus,减小发往 AssemblyAI 的体积 |
| 网络代理 | 订阅与节点导入、测速、按账号绑定,镜像内置 sing-box |
技术栈
- Python 3.12、FastAPI、SQLAlchemy(异步)、PostgreSQL 16
- 无 Redis、无消息队列:后台轮询在进程内运行
- 镜像内置 ffmpeg 9.0.2(压缩)与 sing-box 1.14.4(代理协议)
- 镜像同时提供
linux/amd64与linux/arm64
使用须知
- 请使用你本人拥有、付费或获授权的 AssemblyAI 账号。批量注册免费账号做池子违反 AssemblyAI 的服务条款。
- 控制台里的用量是 Hub 按请求自行估算的,实际账单以 AssemblyAI 后台为准。
- AssemblyAI 没有公开的余额接口,Hub 无法显示账号余额。