01产品概述
会意通开放平台面向开发者与企业,把「音频 → 分说话人转写 → AI 智能纪要」的能力以 REST API 形式开放。 你只需上传一个音频文件,我们完成转写、说话人分离与纪要生成,你按任务轮询取回结构化结果。
- 文件转写:mp3 / m4a / wav 等常见格式,单文件最大 500MB(约数小时会议)。
- 说话人分离:自动区分「谁在什么时候说了什么」,返回行级
{speaker, text, startMs, endMs}。 - AI 智能纪要:转写完成后自动生成摘要 / 纪要 / 待办(与会意通 App 同引擎)。
- 异步任务模型:上传即返回任务 ID,长音频转写不阻塞、不怕超时断线。
02快速开始
1. 获取 API Key
由组织管理员或负责人登录会意通 App,在「设置 → 开放平台」创建 API Key(每个账号最多 5 个有效 Key); 该入口仅组织管理员/负责人可见。明文 Key 仅创建时展示一次,请妥善保管;泄露可随时吊销重建。
2. 上传音频创建任务
curl -X POST "https://voice.cmtok.com/api/sdk/transcriptions" \
-H "Authorization: Bearer sk-你的APIKey" \
-F "audio=@meeting.m4a" \
-F "title=季度复盘会"
返回任务标识:
{
"meetingId": "9f1c……",
"transcribeStatus": "pending"
}
3. 轮询任务结果
curl "https://voice.cmtok.com/api/sdk/transcriptions/9f1c……" \
-H "Authorization: Bearer sk-你的APIKey"
transcribeStatus 依次流转 pending → processing → done(失败为 error,
error 字段携带原因)。建议 5~10 秒间隔轮询;53 分钟音频实测转写约 30 分钟,并随时长相应增长。
转写完成后 transcript 即为分说话人的行级结果,summaryStatus 指示纪要生成进度。
4. Python 轮询示例
import requests, time
BASE = "https://voice.cmtok.com/api"
H = {"Authorization": "Bearer sk-你的APIKey"}
r = requests.post(f"{BASE}/sdk/transcriptions", headers=H,
files={"audio": open("meeting.m4a", "rb")}, data={"title": "季度复盘会"}).json()
while True:
t = requests.get(f"{BASE}/sdk/transcriptions/{r['meetingId']}", headers=H).json()
if t["transcribeStatus"] in ("done", "error"):
break
time.sleep(8)
for line in t["transcript"]:
print(line["speaker"], line["text"])
03API 参考
API 基地址:https://voice.cmtok.com/api。所有接口返回 JSON;日期均为 ISO 8601(东八区)。
鉴权
开放接口使用 API Key 鉴权:请求头携带 Authorization: Bearer sk-...。
Key 与创建它的账号绑定,任务产物归属于该账号(在会意通 App 中同一会议可见、可继续编辑与分享)。
请求频率限制按 Key 所属账号计。
创建转写任务
POST /sdk/transcriptions(multipart/form-data)
| 参数 | 类型 | 说明 |
|---|---|---|
audio | file 必填 | 音频文件,≤500MB,mimetype 须为 audio/* |
title | string | 会议标题,≤128 字符,缺省「开放平台转写」 |
sourcePlatform | string | 来源平台标记 android / ios / web,缺省 web |
成功返回(201):{ "meetingId": string, "transcribeStatus": "pending" }。
查询任务结果
GET /sdk/transcriptions/:meetingId
| 字段 | 说明 |
|---|---|
transcribeStatus | pending / processing / done / error |
error | 失败原因(终态 error 时非空) |
transcript | 行级结果 {speaker, text, startMs, endMs} 数组 |
durationSec / speakersCount | 音频时长(秒)/ 检出的说话人数 |
summaryStatus | AI 纪要生成状态 |
API Key 管理
Key 管理接口需使用账号登录态(与会意通 App 同一套 JWT),路径前缀 /sdk/keys:
| 接口 | 说明 |
|---|---|
POST /sdk/keys body {"name":"生产环境"} | 创建 Key;明文 apiKey 仅此一次返回 |
GET /sdk/keys | 列出我的 Key(只含前缀 sk-xxxx···、最近使用时间) |
DELETE /sdk/keys/:id | 吊销 Key(立即失效,不可恢复) |
04频率与容量限制
| 项 | 限制 |
|---|---|
| 创建转写任务 | 10 次 / 分钟 / 账号 |
| 查询任务结果 | 60 次 / 分钟 / 账号 |
| 创建 API Key | 5 次 / 分钟 / 账号 |
| 单文件大小 | 500MB |
| 有效 API Key 数 | 5 个 / 账号 |
需要更高配额或私有化部署,请通过页脚方式联系我们。
05错误码
| HTTP | code | 说明 |
|---|---|---|
| 401 | SDK_KEY_INVALID | API Key 无效或已吊销 |
| 404 | SDK_TASK_NOT_FOUND | 任务不存在或不属于当前 Key 账号 |
| 404 | SDK_KEY_NOT_FOUND | API Key 不存在(管理接口) |
| 404 | SDK_KEY_LIMIT | 有效 Key 达到上限(管理接口) |
| 429 | — | 触发频率限制 |
| 400 | BAD_REQUEST | 参数错误(缺少 audio / 非音频文件等) |
06联系我们
接入过程中的任何问题,欢迎通过会意通 App「设置 → 意见反馈」提交, 或在官网首页留下你的联系方式。企业定制、私有化部署与更高配额需求请联系商务。