Bots API

即时将 AI Bot 部署到会议

Bots API 让你可以将 AI 驱动的 bot 部署到 Google Meet、Microsoft Teams 和 Zoom 会议中,用于录制、转写和实时事件监控。

  • 即时发送 bot 到会议,或提前预约
  • 录制音频/视频,或仅以纯音频模式加入
  • 启用实时转写和说话人识别
  • 自定义 bot 名称、头像和入会消息
  • 接收实时状态和完成 webhook

Meeting BaaS 的 bot 作为真实的会议参与者,为自动化、合规和数据分析场景提供无缝集成。

核心功能

  • 多平台支持: Google Meet、Microsoft Teams、Zoom
  • 即时或预约加入: 立即部署 bot,或为未来的会议预留
  • 录制模式: 主讲人视图、画廊视图或纯音频
  • 转写: 实时或会后转写,支持多种服务商
  • 可定制 Bot: 名称、头像、入会消息等
  • Webhook: 实时状态、完成通知和错误通知
  • 高级选项: WebSocket 流式传输、去重等

Bot Webhook 事件类型

Meeting BaaS 的 bot 会向你的 endpoint 发送以下 webhook 事件:

  • 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 key。请参阅代码示例,了解如何以编程方式发送、移除 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 部署到你的会议了吗?请查阅我们的完整文档: