meetbot.dev

01 · meeting bot api

今日可用

会议机器人, API。

$0.30/hr flat. Per-speaker audio, captions, chat — to your bucket. POST a Google Meet, Microsoft Teams, or Zoom URL; get clean recordings back via signed webhook.

概述

为何存在。

这是我们今天出货的东西。一个 REST endpoint,接收会议 URL 并返回 job id。它背后:Bun + Drizzle 的 orchestrator 在 Docker 容器中 dispatch 一个 Puppeteer 驱动的 Chrome bot,bot 作为常规来宾参加会议,通过 WebRTC SSRC mapping 捕获按说话者音频,抓取字幕 (或在存在的地方读取 Meet 数据通道),并把所有内容上传到您创建账户时指定的 S3 兼容 bucket。

当主持人离开、bot 被踢出或会议结束时,您会收到一个签名的 webhook,里面带 manifest 路径。没有专有容器格式。没有“登录我们的门户下载”。文件住在您的 bucket、按您的保留策略、在您的 KMS 密钥下。我们按会议分钟计费,而不是按会议——一通 17 分钟的电话是 8.5 分。

Anti-bot 是其他人都不谈的东西。我们运行一个轮换的 Workspace bot 账号池来通过 Google 2026 年 4 月的双队列 admit 屏。每次重试通过 Trigger.dev 任务配置中的层级升级使用更隐身的 Chrome 指纹——没有自定义重试循环、没有围绕 fetch 的脆弱 for-loop。Bot 容器单一目的且短暂。

您能拿回什么

合约, 明确说明。

item

audio.{speaker}.webm

每个参会者一条 Opus 轨道。WebRTC SSRC 索引,从会议名册中标注名字。无混音。

item

tab.video.webm

通过 x11grab 的 VP9 tab 捕获。观众会看到的内容,包括共享屏幕。可配置码率。

item

captions.jsonl

换行分隔的 JSON,每行一个最终化发言,带 speakerId + start/end ms。

item

chat.jsonl

进入的会议聊天消息,带发送者归属和时间戳。Meet/Teams/Zoom 形状一致。

item

manifest.json

每个文件的索引加上参会者名册、会议元数据、退出时的 sub-code,以及每个 artifact 的内容哈希。

item

POST {your-hook}

manifest 上传时的签名 webhook (对 body 的 HMAC-SHA256)。非 2xx 时通过队列以指数退避重试。