ZoomやGoogle Meet、Microsoft Teamsのミーティングをまとめてレコーダーとして使用: botがユーザーに代わってミーティングを録音してくれ、AssemblyAIが話者ラベルと言語検出で文字起こしを行い、webhookでAssemblyAIネイティブのJSONを受け取ることができます。

AssemblyAIは、生テキスト以上のものを求めるチームに人気です。文字起こしに加えて、話者ラベル、言語検出、音声インテリジェンスを提供します。AssemblyAIが対応していないのは、ミーティングへの参加です。そのAPIはaudio_urlから始まるため、誰かが音声を用意する必要があります。
その役割を果たすのがミーティング botです。このガイドでは両者を連携させます。botがミーティングを録音し、AssemblyAIがあなたのアカウントで処理を行い、webhookがAssemblyAIネイティブの出力を受け取ります。
AssemblyAIのpipelineはそのままです — botはZoom、Google Meet、Microsoft Teamsの音声ソースになるだけです。
ステップ1: APIキーを取得する
- AssemblyAI: AssemblyAI dashboardからAPI keyを取得してください(すでに使用中の
ASSEMBLYAI_API_KEYです)。 - Meeting BaaS: auth.meetingbaas.comからセルフサービスでサインアップ — 最初の8時間の録画は無料です。
ステップ2: AssemblyAIを設定してbotを送信する
curl -X POST "https://api.meetingbaas.com/v2/bots" \
-H "Content-Type: application/json" \
-H "x-meeting-baas-api-key: $API_KEY" \
-d '{
"meeting_url": "https://us02web.zoom.us/j/1234567890",
"bot_name": "AssemblyAI Bot",
"transcription_config": {
"provider": "assemblyai",
"api_key": "'"$ASSEMBLYAI_API_KEY"'",
"custom_params": {
"speaker_labels": true,
"language_detection": true
}
}
}'custom_paramsはオプションをそのままAssemblyAIに転送します。speaker_labelsは話者ごとにトランスクリプトを分割し、language_detectionは主要言語を自動的に検出します。残りのAssemblyAIのrequestパラメータも同様に透過的に渡されます。

ステップ3:AssemblyAIネイティブ出力を受信する
あなたのwebhookは、AssemblyAIのresponse構造を反映した文字起こし成果物を受信します。これには、話者ラベル付きの発話、単語レベルのタイムスタンプ、検出された言語が含まれ、録画、参加者リスト、話者タイムラインが標準のMeeting BaaS形式で提供されます。2つの話者システム、1つのメリット:AssemblyAIのspeaker_labelsが音声をセグメント化し、botの参加者メタデータによって音声の背後にある実際の名前を取得できるため、両者を紐付けることができます。
この組み合わせの理由
- ミーティングを意識したコンテキスト:AssemblyAIは、ラップトップのマイクによる再録音ではなく、ソースでキャプチャされたクリーンなミーティング音声を処理します。
- あなたのモデルと請求:使用量はあなたのAssemblyAIアカウントで管理されます。Meeting BaaSはブリング・ユア・オウン・キーの文字起こし(Proプラン以上)に録画1時間あたり0.05 tokenを追加し、さらに標準の1時間あたり1 tokenの録画レートが適用されます。
- botごとの選択:requestごとにプロバイダーを切り替えられます。英語の営業コールにはAssemblyAIを使用し、その他すべてには組み込みのGladiaデフォルト(100以上の言語)を使用できます。