Skip to main content
Live transcripts allow you to receive real-time transcription data as it happens during a meeting. This feature streams transcription data to your webhook endpoint or WebSocket connection.

Configuration

To enable live transcripts, you need to configure the live_transcription_required field when creating a bot.

Webhook Configuration

{
  "live_transcription_required": {
    "webhook_url": "https://your-domain.com/transcripts"
  }
}

WebSocket Configuration

{
  "live_transcription_required": {
    "websocket_url": "wss://your-domain.com/transcripts"
  }
}

Live Audio Streaming

For live audio streaming, configure the live_audio_required field:
{
  "live_audio_required": {
    "websocket_url": "wss://your-domain.com/audio"
  }
}

Webhook Payload Format

When using webhooks, your endpoint will receive POST requests with the following payload structure:
{
  "speakerName": "string",
  "timestamp": "2024-01-15T14:30:00.000Z",
  "transcript": "string",
  "words": [
    {
      "word": "string",
      "start": "number",
      "end": "number",
      "confidence": "number",
      "speaker": "string",
      "punctuated_word": "string",
      "speech_confidence": "number"
    }
  ]
}

Payload Fields

FieldTypeDescription
speakerNamestringName or identifier of the speaker
timestampstringISO 8601 timestamp when the transcript was generated
transcriptstringThe transcribed text for this segment
wordsarrayArray of word-level details with timing and confidence scores

Word Object Fields

FieldTypeDescription
wordstringThe original word
startnumberStart time of the word in seconds
endnumberEnd time of the word in seconds
confidencenumberConfidence score for the word (0-1)
speakerstringSpeaker identifier for the word
punctuated_wordstringWord with punctuation
speech_confidencenumberSpeech confidence score for the word (0-1)

WebSocket Message Format

When using WebSocket connections, you’ll receive messages in the same format as the webhook payload:
{
  "speakerName": "John Doe",
  "timestamp": "2024-01-15T14:30:00.000Z",
  "transcript": "Hello, welcome to the meeting.",
  "words": [
    {
      "word": "Hello",
      "start": 0.0,
      "end": 0.8,
      "confidence": 0.95,
      "speaker": "speaker_1",
      "punctuated_word": "Hello,",
      "speech_confidence": 0.92
    },
    {
      "word": "welcome",
      "start": 1.0,
      "end": 1.6,
      "confidence": 0.88,
      "speaker": "speaker_1",
      "punctuated_word": "welcome",
      "speech_confidence": 0.85
    }
  ]
}

Example Bot Creation with Live Transcripts

curl -X POST "https://api.meestream.ai/v1/bots/create" \
  -H "Authorization: Token YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "meeting_link": "https://zoom.us/j/123456789",
    "audio_required": true,
    "video_required": false,
    "bot_message": "Hello, I am the meeting assistant.",
    "live_transcription_required": {
      "webhook_url": "https://your-domain.com/transcripts"
    },
    "live_audio_required": {
      "websocket_url": "wss://your-domain.com/audio"
    }
  }'

Webhook Endpoint Requirements

Your webhook endpoint should:
  • Accept POST requests
  • Return a 200 status code to acknowledge receipt
  • Handle the payload format described above
  • Be publicly accessible (HTTPS required)
  • Respond within 5 seconds

WebSocket Connection Requirements

Your WebSocket server should:
  • Accept WSS (secure WebSocket) connections
  • Handle the message format described above
  • Maintain persistent connections
  • Implement proper error handling and reconnection logic

Error Handling

If your webhook endpoint is unavailable or returns an error:
  • The system will retry failed deliveries
  • Failed deliveries are logged for debugging
  • Consider implementing a fallback mechanism

Security Considerations

  • Use HTTPS for webhook URLs
  • Use WSS for WebSocket connections
  • Implement authentication if needed
  • Validate incoming payloads
  • Rate limit your endpoints to prevent abuse