快速开始
五分钟在一台装有 Docker 的服务器上跑起来。
1. 获取代码与配置
bash
git clone https://github.com/trageeker/assemblyai-hub.git
cd assemblyai-hub
cp .env.example .env编辑 .env,至少填写:
ini
SECRET_KEY=一段足够长的随机字符串 # 用于加密上游 Key,设置后不要再改
ADMIN_PASSWORD=控制台密码
POSTGRES_PASSWORD=数据库密码生成随机字符串可以用 openssl rand -hex 32。
2. 启动
bash
docker compose up -d默认监听 18080 端口(HUB_PORT 可改)。检查是否正常:
bash
curl http://localhost:18080/healthz
# {"ok":true,"version":"3.4.0"}3. 添加上游账号并生成 Key
- 打开
http://<服务器>:18080/admin,用户名admin,密码为ADMIN_PASSWORD。 - 「上游账号」中添加你的 AssemblyAI API Key,点「测试」确认可用。
- 「API Key」中生成一个 Hub Key,复制保存(形如
hub-xxxx)。
4. 调用
bash
HUB=http://<服务器>:18080
KEY=hub-xxxx
# 上传本地文件
curl -s -X POST $HUB/v2/upload -H "Authorization: $KEY" --data-binary @meeting.mp3
# => {"upload_url": "https://cdn.assemblyai.com/upload/..."}
# 提交转写
curl -s -X POST $HUB/v2/transcript -H "Authorization: $KEY" -H "Content-Type: application/json" \
-d '{"audio_url": "<upload_url>", "speaker_labels": true, "language_detection": true}'
# 查询结果
curl -s $HUB/v2/transcript/<id> -H "Authorization: $KEY"或者用官方 Python SDK:
python
import assemblyai as aai
aai.settings.api_key = "hub-xxxx"
aai.settings.base_url = "http://<服务器>:18080"
print(aai.Transcriber().transcribe("meeting.mp3").text)