Bots API

AIボットをミーティングに即時デプロイ

Bots APIを使用すると、Google Meet、Microsoft Teams、Zoomのミーティングにアシスタントを搭載したbotをデプロイし、録画、文字起こし、ライブイベントの監視を行うことができます。

  • botをミーティングに即時送信、または事前にスケジュール
  • 音声/動画の録音・録画、または音声のみのモードで参加
  • ライブ文字起こしと話者識別を有効化
  • bot名、アバター、入室メッセージのカスタマイズ
  • リアルタイムのステータスと完了 webhook の受信

Meeting BaaSのbotは実際のミーティング参加者として機能し、自動化、コンプライアンス、分析のユースケースにシームレスな統合を提供します。

主な機能

  • マルチプラットフォーム対応: Google Meet、Microsoft Teams、Zoom
  • 即時またはスケジュール参加: botを即時にデプロイするか、将来のミーティング用に予約
  • 録画モード: スピーカービュー、ギャラリービュー、または音声のみ
  • 文字起こし: ライブまたはミーティング後、複数のプロバイダーオプションあり
  • カスタマイズ可能なbot: 名前、アバター、入室メッセージなど
  • Webhook: リアルタイムのステータス、完了、エラー通知
  • 高度なオプション: WebSocketストリーミング、重複排除など

Bot Webhook イベントタイプ

Meeting BaaSのbotは、以下のwebhookイベントをあなたのendpointに送信します:

  • complete: botの録画完了、文字起こしとMP4が利用可能
  • failed: botのミーティング参加または録画の失敗(エラー詳細あり)
  • transcription_complete: 文字起こし完了(再文字起こしまたは非同期ジョブ後)
  • bot.status_change: ライブステータス更新(参加中、通話中、録画中、一時停止、終了など)

以下にwebhook payloadの例を示します。

{
  "event": "complete",
  "bot_id": "bot_123456",
  "meeting_url": "https://meet.google.com/abc-defg-hij",
  "recording_url": "https://api.meetingbaas.com/recordings/bot_123456.mp4",
  "transcript_url": "https://api.meetingbaas.com/transcripts/bot_123456.json",
  "duration": 3600,
  "participants": 5,
  "created_at": "2024-01-01T12:00:00Z"
}

API の使い方

Bots APIが提供するendpointは以下の通りです:

  • botをミーティングに送信 (POST /bots)
  • botをミーティングから削除 (DELETE /bots/{bot_id})
  • botとミーティングのメタデータの一覧表示
  • ミーティングの再文字起こし (POST /bots/retranscribe)
  • ミーティングデータ、スクリーンショットなどの取得

認証はMeeting BaaSのAPIキーを使用します。botのプログラムによる送信、削除、操作方法については、コード例をご参照ください。

API 使用例

以下は、さまざまなプログラミング言語でbotをミーティングに送信する例です:

join_meeting.sh
curl -X POST "https://api.meetingbaas.com/bots" \
     -H "Content-Type: application/json" \
     -H "x-meeting-baas-api-key: YOUR-API-KEY" \
     -d '{
           "meeting_url": "YOUR-MEETING-URL",
           "bot_name": "AI Notetaker",
           "recording_mode": "speaker_view",
           "bot_image": "https://example.com/bot.jpg",
           "entry_message": "I am a good meeting bot :)",
           "reserved": false,
           "speech_to_text": {
             "provider": "Default"
           },
           "automatic_leave": {
             "waiting_room_timeout": 600
           }
         }'
join_meeting.py
import requests
url = "https://api.meetingbaas.com/bots"
headers = {
    "Content-Type": "application/json",
    "x-meeting-baas-api-key": "YOUR-API-KEY",
}
config = {
    "meeting_url": "YOUR-MEETING-URL",
    "bot_name": "AI Notetaker",
    "recording_mode": "speaker_view",
    "bot_image": "https://example.com/bot.jpg",
    "entry_message": "I am a good meeting bot :)",
    "reserved": False,
    "speech_to_text": {
        "provider": "Default"
    },
    "automatic_leave": {
        "waiting_room_timeout": 600  # 10 minutes in seconds
    }
}
response = requests.post(url, json=config, headers=headers)
print(response.json())
join_meeting.js
fetch("https://api.meetingbaas.com/bots", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-meeting-baas-api-key": "YOUR-API-KEY",
  },
  body: JSON.stringify({
    meeting_url: "YOUR-MEETING-URL",
    bot_name: "AI Notetaker",
    reserved: false,
    recording_mode: "speaker_view",
    bot_image: "https://example.com/bot.jpg",
    entry_message: "I am a good meeting bot :)",
    speech_to_text: {
      provider: "Default",
    },
    automatic_leave: {
      waiting_room_timeout: 600,
    },
  }),
})
  .then((response) => response.json())
  .then((data) => console.log(data.bot_id))
  .catch((error) => console.error("Error:", error));

スピーキングbot の例

ミーティングに積極的に参加できるスピーキングbotの作成方法を以下に示します:

speaking_bot.py
import requests

def create_speaking_bot():
    url = "https://api.meetingbaas.com/bots"
    headers = {
        "Content-Type": "application/json",
        "x-meeting-baas-api-key": "YOUR-API-KEY"
    }
    
    payload = {
        "meeting_url": "YOUR-MEETING-URL",
        "bot_name": "AI Assistant",
        "recording_mode": "speaker_view",
        "entry_message": "Hello! I'm your AI assistant for this meeting.",
        "speaking_bot": {
            "enabled": True,
            "persona": "helpful assistant",
            "knowledge_base": "meeting_guidelines",
            "voice_settings": {
                "voice": "en-US-Neural2-F",
                "speed": 1.0
            }
        },
        "speech_to_text": {
            "provider": "Default"
        }
    }
    
    response = requests.post(url, headers=headers, json=payload)
    return response.json()

# Create speaking bot
result = create_speaking_bot()
print(result)
Meeting BaaS API Preview Features

はじめに

ミーティングへのbotのデプロイを始める準備はできましたか?包括的なドキュメントをご確認ください: