VIDEO CONFERENCING API DOCS
Complete guide to integrating real-time emotion analytics into video conferencing platforms
QUICK START
Get API Credentials
Register and receive your API key for authentication
Install SDK
Add our SDK to your video conferencing application
Track Emotions
Start capturing real-time emotion data during calls
// Initialize Monet Video Conferencing API
const monetVideoAPI = new MonetVideoAPI({
apiKey: 'YOUR_API_KEY',
endpoint: 'https://api.monetanalytics.com/v1/video'
});// Start emotion capture during video call
monetVideoAPI.startCapture({
sessionId: 'meeting-session-id',
participants: ['participant-1', 'participant-2'],
onEmotionUpdate: (data) => {
console.log('Participant emotions:', data);
// Process real-time emotion data
}
});PLATFORM INTEGRATIONS
Integrate Monet emotion analytics with leading video conferencing platforms. Select your platform for detailed implementation guide.
Zoom Video SDK Integration
Track participant emotions during Zoom meetings
// Zoom Integration Example
import ZoomVideo from '@zoom/videosdk';
const zoomClient = ZoomVideo.createClient();
// Initialize Monet API
const monetVideoAPI = new MonetVideoAPI({
apiKey: 'YOUR_API_KEY',
endpoint: 'https://api.monetanalytics.com/v1/video'
});
// Join Zoom session
await zoomClient.join(sessionName, token, userName);
// Start emotion tracking for all participants
zoomClient.on('peer-video-state-change', (payload) => {
if (payload.action === 'Start') {
monetVideoAPI.trackParticipant({
participantId: payload.userId,
videoStream: payload.stream,
sessionId: sessionName,
onEmotionDetected: (emotions) => {
// Store or display emotion data
console.log(`Emotions for ${payload.userId}:`, emotions);
}
});
}
});
// Get aggregate meeting analytics
const analytics = await monetVideoAPI.getMeetingAnalytics(sessionName);
console.log('Meeting sentiment:', analytics.overallSentiment);Compatible with Zoom Video SDK for web, iOS, and Android
Real-time emotion tracking for all participants
Automatic meeting analytics and engagement reports
Microsoft Teams Integration
Add emotion analytics to Teams meetings and calls
// Microsoft Teams Integration Example
import * as microsoftTeams from '@microsoft/teams-js';
microsoftTeams.initialize();
// Initialize Monet API
const monetVideoAPI = new MonetVideoAPI({
apiKey: 'YOUR_API_KEY',
endpoint: 'https://api.monetanalytics.com/v1/video'
});
// Get meeting context
microsoftTeams.meeting.getMeetingDetails((error, meetingDetails) => {
const sessionId = meetingDetails.id;
// Start emotion capture for meeting
monetVideoAPI.startMeetingCapture({
sessionId: sessionId,
meetingType: 'teams',
onParticipantJoin: (participant) => {
console.log('Tracking:', participant.displayName);
},
onEmotionUpdate: (emotions) => {
// Real-time emotion updates for all participants
updateDashboard(emotions);
}
});
});
// End tracking when meeting ends
microsoftTeams.meeting.registerOnEndMeetingHandler(() => {
monetVideoAPI.stopCapture();
monetVideoAPI.generateReport(sessionId);
});Deploy as Teams app or tab extension
Access meeting metadata and participant info
Generate post-meeting engagement reports
Google Meet Integration
Track emotions and engagement in Google Meet
// Google Meet Integration Example
// Using Chrome Extension or Web SDK
const monetVideoAPI = new MonetVideoAPI({
apiKey: 'YOUR_API_KEY',
endpoint: 'https://api.monetanalytics.com/v1/video'
});
// Detect Google Meet session
const meetingCode = window.location.pathname.split('/').pop();
// Start emotion tracking
monetVideoAPI.startCapture({
sessionId: `meet-${meetingCode}`,
platform: 'google-meet',
captureMode: 'all-participants',
onEmotionUpdate: (data) => {
// data contains emotions for all visible participants
data.participants.forEach(participant => {
console.log(`${participant.name}: ${participant.dominantEmotion}`);
});
},
onEngagementAlert: (alert) => {
// Get alerts for low engagement
if (alert.level === 'low') {
console.log('Engagement dropping:', alert.participants);
}
}
});
// Get meeting summary
monetVideoAPI.on('meeting-end', async () => {
const summary = await monetVideoAPI.getSummary(meetingCode);
console.log('Meeting Summary:', summary);
});Chrome extension or web SDK integration
Low engagement alerts during meetings
Automatic meeting summaries with emotion insights
Cisco Webex Integration
Enhance Webex meetings with emotion analytics
// Cisco Webex Integration Example
import Webex from 'webex';
const webex = Webex.init({
credentials: { access_token: ACCESS_TOKEN }
});
// Initialize Monet API
const monetVideoAPI = new MonetVideoAPI({
apiKey: 'YOUR_API_KEY',
endpoint: 'https://api.monetanalytics.com/v1/video'
});
// Join Webex meeting
const meeting = await webex.meetings.create(MEETING_ID);
await meeting.join();
// Track emotions during meeting
meeting.on('media:ready', (media) => {
monetVideoAPI.startCapture({
sessionId: meeting.id,
platform: 'webex',
videoStreams: media.remoteVideo,
onEmotionUpdate: (emotions) => {
// Real-time emotion tracking
updateMeetingDashboard(emotions);
}
});
});
// Get analytics after meeting
meeting.on('meeting:stopped', async () => {
const analytics = await monetVideoAPI.getAnalytics(meeting.id);
console.log('Meeting Analytics:', analytics);
});Integrates with Webex JavaScript SDK
Real-time dashboard updates during meetings
Post-meeting analytics and insights
Agora Integration
Add emotion tracking to Agora-powered video apps
// Agora Integration Example
import AgoraRTC from 'agora-rtc-sdk-ng';
const client = AgoraRTC.createClient({ mode: 'rtc', codec: 'vp8' });
// Initialize Monet API
const monetVideoAPI = new MonetVideoAPI({
apiKey: 'YOUR_API_KEY',
endpoint: 'https://api.monetanalytics.com/v1/video'
});
// Join Agora channel
await client.join(APP_ID, CHANNEL_NAME, TOKEN, null);
// Track remote participants
client.on('user-published', async (user, mediaType) => {
await client.subscribe(user, mediaType);
if (mediaType === 'video') {
monetVideoAPI.trackParticipant({
participantId: user.uid.toString(),
videoTrack: user.videoTrack,
sessionId: CHANNEL_NAME,
onEmotionDetected: (emotions) => {
console.log(`User ${user.uid} emotions:`, emotions);
}
});
}
});
// Get session analytics
const analytics = await monetVideoAPI.getSessionAnalytics(CHANNEL_NAME);Works with Agora RTC SDK
Track emotions for remote participants
Session-level analytics and engagement metrics
API CAPABILITIES
Multi-Stream Processing
Analyze emotions for multiple participants simultaneously
Real-Time Analytics
Get instant emotion updates with under 50ms latency
Engagement Tracking
Monitor participant attention and meeting engagement
Historical Analytics
Access past meeting data and trend analysis
Privacy Controls
Granular privacy settings and data encryption
Global Infrastructure
Low-latency processing across all regions
WEBHOOK DATA FORMAT
Receive real-time meeting analytics via webhooks. Here's the data structure for participant emotions and engagement:
// Webhook Data Format
{
"sessionId": "meeting-abc-123",
"timestamp": "2026-01-05T10:30:00Z",
"participants": [
{
"participantId": "user-001",
"name": "John Doe",
"emotions": {
"happy": 0.75,
"engaged": 0.82,
"neutral": 0.15,
"confused": 0.10
},
"engagement": 0.85,
"attention": 0.90,
"speaking": true
},
{
"participantId": "user-002",
"name": "Jane Smith",
"emotions": {
"happy": 0.60,
"engaged": 0.75,
"neutral": 0.25,
"bored": 0.15
},
"engagement": 0.72,
"attention": 0.68,
"speaking": false
}
],
"meetingMetrics": {
"overallEngagement": 0.78,
"avgAttention": 0.79,
"dominantEmotion": "engaged",
"participantCount": 2,
"activeSpeaker": "user-001"
}
}Meeting Metrics Explained
Participant Emotions: Individual emotion scores for each participant (0-1 scale)
Engagement: Overall participant engagement level based on facial expressions (0-1 scale)
Attention: Visual attention and focus level for each participant (0-1 scale)
Meeting Metrics: Aggregate analytics including overall engagement, average attention, and dominant emotion
Active Speaker: Identifies currently speaking participant for context
USE CASES
Remote Training & Education
Monitor student engagement and comprehension during virtual classes. Identify confused or disengaged learners in real-time.
- Track attention levels throughout sessions
- Detect confusion or frustration
- Measure overall class engagement
Sales & Client Meetings
Understand client reactions during presentations and pitches. Identify moments of interest or concern.
- Gauge client interest and engagement
- Identify objection signals
- Optimize pitch timing and delivery
Remote Recruitment
Analyze candidate emotions and engagement during virtual interviews for better hiring decisions.
- Assess confidence and authenticity
- Detect stress or discomfort
- Compare candidates objectively
Team Collaboration
Improve team dynamics by understanding emotional responses during meetings and brainstorming sessions.
- Identify team sentiment trends
- Spot disengaged team members
- Measure meeting effectiveness
