📋 機能設計書 v2.0

Zoom Memo Automation システム - Transcript API対応版

1. システム概要 v2.0

Zoom Memo Automation v2.0は、Zoom Transcript APIを活用して、文字起こし処理を大幅に効率化した次世代システムです。

🎯 v2.0 革新的変更点

  • Zoom Transcript API統合: Zoom自動生成の高精度文字起こしデータ(VTT形式)を直接取得
  • 処理時間90%削減: 5-10分 → 30秒-1分へ短縮
  • コスト80%削減: Gemini文字起こし処理が不要に
  • 17分制限撤廃: Gemini処理制限を回避、60分会議も完全対応
  • 精度向上: Zoom自動生成の高精度文字起こしを活用
【v2.0 アーキテクチャ構造】

📋 monitor-recordings-production.js (本番エントリーポイント)
  ↓
📥 ZoomRecordingService - 組織全体録画データ取得・処理
  ↓
📝 TranscriptService - Zoom VTTトランスクリプト取得・解析 [NEW]
  ↓ (トランスクリプトあり)      ↓ (フォールバック)
🤖 AIService - 要約生成のみ [MODIFIED]   🎵 AudioSummaryService
  ↓
💾 VideoStorageService - Google Drive保存・共有リンク
  ↓
📄 DocumentStorageService - 文字起こし・要約保存
  ↓
💬 SlackService - 構造化投稿

2. 新規コア機能(v2.0)

T001: TranscriptService(文字起こし取得部品)

説明: Zoom Recording APIから自動生成された文字起こしデータ(VTT形式)を取得・解析する新規サービス

実装場所: 1.src/services/transcriptService.js(新規作成)

状態: 🆕 設計完了・実装待ち

主要メソッド

メソッド名 機能 戻り値
downloadTranscript(recording) 録画データからVTTファイルを取得 VTTコンテンツ or null
parseVTT(vttContent) VTT形式を解析してテキスト抽出 {fullText, speakers, timestamps}
hasTranscript(recording) トランスクリプト有無判定 boolean
extractSpeakers(vttContent) 発言者情報の抽出 Array<Speaker>

VTTファイル処理仕様

項目 仕様
取得形式 WebVTT(Web Video Text Tracks)形式
文字コード UTF-8
タイムスタンプ HH:MM:SS.mmm形式を保持・除去可能
スピーカー識別 話者名を抽出して構造化
エラーハンドリング VTT解析失敗時は音声処理へフォールバック

A001: AIService拡張(要約専用モード)

説明: 文字起こし済みテキストから要約のみを生成する高速処理モード

実装場所: 1.src/services/aiService.js(既存拡張)

状態: 🆕 設計完了・実装待ち

新規メソッド

メソッド名 機能 処理時間
generateSummaryFromText(text) テキストから8項目要約生成 10-30秒
getSummaryOnlyModel() 要約専用軽量モデル選択 即座
optimizeSummaryPrompt(text) 要約用プロンプト最適化 即座

3. 更新されるコア機能(v2.0)

P001: ZoomRecordingService(拡張)

説明: Transcript API対応を追加した録画処理サービス

実装場所: 1.src/services/zoomRecordingService.js

状態: ⚡ 設計完了・更新待ち

v2.0 処理フロー変更

  1. 録画データ取得: recording_filesからTRANSCRIPTファイルを優先検索
  2. Transcript処理: VTTファイルがあれば高速パス実行
  3. フォールバック: VTTなしの場合は従来の音声処理
  4. 統合処理: 両パスの結果を統一フォーマットで返却

更新メソッド

メソッド名 変更内容 影響範囲
processRecording() Transcript優先処理を追加
extractRecordingFiles() TRANSCRIPTファイル種別追加
selectProcessingPath() 処理パス選択ロジック(新規) 新規

P002: AudioSummaryService(縮小)

説明: フォールバック専用として維持される音声処理サービス

実装場所: 1.src/services/audioSummaryService.js

状態: ⚠️ フォールバック専用へ移行

⚠️ 重要: v2.0では主要処理パスから除外され、以下の場合のみ使用:
  • 古い録画でTranscriptが利用不可
  • Zoom設定で文字起こしが無効
  • VTTファイル取得/解析エラー時

4. パフォーマンス比較

測定項目 v1.0(音声処理) v2.0(Transcript API) 改善率
30分会議の処理時間 5-10分 30秒-1分 90%削減
60分会議の処理時間 17分で途切れ 1-2分(完全対応)
Gemini API使用量 音声+要約 要約のみ 80%削減
処理成功率 85%(タイムアウトあり) 99% 14%向上
文字起こし精度 Gemini依存 Zoom高精度 向上

5. 移行計画

📅 段階的移行スケジュール

1

Stage 1: 並行実装(現在)

TranscriptServiceを新規実装し、既存処理と並行動作可能な状態を構築

  • transcriptService.js新規作成
  • aiService.jsに要約専用メソッド追加
  • 設定フラグで切替可能に
2

Stage 2: A/Bテスト(1週間)

10%のトラフィックで新処理を検証、段階的に増加

  • メトリクス収集(処理時間、成功率)
  • エラー率モニタリング
  • コスト削減効果測定
3

Stage 3: 完全移行(2週間後)

Transcript APIを主要処理パスとして確立

  • 音声処理をフォールバック専用化
  • 不要コードの段階的削除
  • ドキュメント最終更新

6. リスク管理

想定リスクと対策

リスク 影響度 対策
Transcriptが利用不可 音声処理へ自動フォールバック
VTT解析エラー エラーハンドリングとフォールバック
文字コード問題 UTF-8強制、文字コード検出
API仕様変更 バージョン固定、変更監視

7. 技術仕様更新

🛠️ 技術スタック v2.0

カテゴリ v1.0 v2.0 変更点
文字起こし Gemini AI Zoom Transcript API 新規追加
要約生成 Gemini 2.5 Pro Gemini 2.5 Flash 軽量化
データ形式 M4A/MP3音声 VTTテキスト 形式変更
処理パイプライン シーケンシャル 分岐処理 最適化

✅ v2.0の主要メリット

  • 即座性: リアルタイムに近い処理速度
  • 経済性: API利用料の大幅削減
  • 信頼性: タイムアウトリスクの解消
  • 拡張性: 60分以上の長時間会議にも対応
  • 保守性: シンプルな処理フローによる保守性向上
最終更新: 2025年9月26日 | v2.0設計 - Zoom Transcript API統合による革新的パフォーマンス改善