「あの会議、何が決まったんだっけ?」──参加者として出席した会議やウェビナーで、こんな経験はありませんか?
Google Meetの録画・文字起こし機能は主催者(ホスト)にしか使えません。Zoomも同様に、録画権限は主催者が管理しています。つまり、自分がホストでない会議では、議事録を残す手段がほとんどないのです。
この課題を解決するために、Chrome拡張「MeetScribe」を開発しました。
なぜ作ったのか?
自動化は不可能だった
最初に検討したのは、Google Meetの録画機能をAPIで制御する方法でした。しかし調査の結果、以下のことが判明しました。
- Google Meetには録画/文字起こしを制御するAPIが存在しない
- DOM操作による自動化も、Google Meetの難読化されたHTML構造のため不安定で実用に耐えない
- 並行してGoogle Meetを起動する方式も、制御手段がなく断念
つまり、Google Meet側のアプローチでは根本的に解決できないという結論に至りました。
発想の転換:タブの音声を直接キャプチャする
そこで発想を変えました。会議ツール側のAPIに頼るのではなく、Chromeのタブ音声を直接キャプチャしてしまう方式です。
この方式なら、Google Meet・Zoom・Microsoft Teams(ブラウザ版)のすべてに対応でき、主催者の権限も一切不要です。
MeetScribeの仕組み
MeetScribeの処理フローは以下の通りです。
- 録音開始:拡張アイコンをクリック → ワンクリックで録音スタート
- タブ音声キャプチャ:chrome.tabCapture APIでタブの音声を取得(録音中も会議の音声はそのまま聞こえます)
- 録音停止 → AI処理:停止ボタンを押すと、Gemini APIが自動で処理を開始
- Phase1:文字起こし:音声データ → 話者区別+タイムスタンプ付きの文字起こし
- Phase2:要約生成:文字起こしテキスト → 構造化された議事録(概要・議論ポイント・決定事項・アクションアイテム)
- 結果表示:Markdown形式でワンクリックコピー → Google ドキュメントやDriveに保存可能
なぜ2フェーズに分けるのか?
文字起こしと要約を別々のAPIリクエストにしているのは、コスト最適化のためです。Gemini APIの料金は、音声トークン($0.70/1Mトークン)がテキストトークン($0.10/1Mトークン)の7倍です。音声から直接要約を生成すると、要約のやり直しにも音声トークンのコストがかかります。2フェーズにすることで、要約の再生成はテキストトークンのみで済みます。
コスト:1分あたり約0.2円
Gemini 2.0 Flash APIの料金に基づく試算です(2026年2月時点、1USD=150円換算)。
- 1分あたり:約0.2円
- 1時間の会議:約12円
- 月20回利用:約240円/月
既存の議事録サービスが月額数千円〜なのに対して、圧倒的な低コストで運用できます。
技術スタック
- Chrome Extension Manifest V3(最新の拡張フォーマット)
- TypeScript + Webpack(型安全なビルド環境)
- chrome.tabCapture API + MediaRecorder + AudioContext(音声キャプチャ+パススルー再生)
- Gemini 2.0 Flash API(文字起こし+要約の2フェーズ処理)
対応サービス
- Google Meet
- Zoom(ブラウザ版)
- Microsoft Teams(ブラウザ版)
- その他、ブラウザで音声が再生されるすべてのWebサービス
デスクトップアプリ版には対応していませんが、ブラウザ版であればどのサービスでも動作します。
開発リポジトリ
MeetScribeはオープンソースで公開しています。
GitHub:https://github.com/tsubasagit/MeetScribe
まとめ
MeetScribeは「自分が主催していない会議でも、議事録を残したい」というシンプルな課題から生まれたChrome拡張です。Google Meetの録画APIが存在しないという制約を、タブ音声の直接キャプチャで突破し、Gemini APIの2フェーズ処理でコスト最適化を実現しました。
ワンクリックで録音開始、停止後に自動で文字起こし+要約が生成される手軽さで、月額約240円。Google Workspaceと組み合わせて、会議の記録をシームレスに管理できます。



