AssemblyAIを使ったミーティングの録画と文字起こし方法
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は自己キー方式の文字起こし(Proプラン以上)に対して録音1時間あたり0.05 tokenを追加し、さらに標準の録音レート1 token/時間が適用されます。
- bot単位の選択: リクエストごとにプロバイダを切り替えられます — 英語の営業通話にはAssemblyAIを、それ以外には内蔵のGladia(100以上の言語)をご利用いただけます。