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つの話者システムの利点:AssemblyAIのspeaker_labelsが音声をセグメント化し、botの参加者メタデータが声の背後にある実際の名前を提供するため、両者を結合できます。
この組み合わせの理由
- ミーティングを意識したコンテキスト:AssemblyAIは、ラップトップのマイクで再録音したものではなく、ソースでクリーンに録音されたミーティング音声を処理します。
- あなたのモデルと請求:使用量はAssemblyAIアカウントで管理されます。Meeting BaaSは、すべてのプランでBring-your-own-key文字起こしに対して録画1時間あたり0.05 tokenを追加し、さらに標準の録画レートとして1時間あたり1 tokenが加算されます。
- Botごとの選択:リクエストごとにプロバイダーを切り替えられます。英語の営業通話にはAssemblyAIを使用し、それ以外には組み込みのGladia(100以上の言語)をデフォルトとして使用できます。