Meeting Summarization

EnableX Meeting Summarization automatically generates structured summaries of recorded video sessions. Submit a recording via the API or trigger summarization automatically on recording-ready — EnableX transcribes the audio, identifies speakers, extracts key discussion points, action items, and decisions, and delivers the structured output to your webhook.

Meeting Summarization is built for enterprise use cases: post-sales call summaries, compliance review notes, telemedicine encounter records, investor meeting minutes, and internal standup recaps. The output is structured JSON — your application can store it directly, render it in your product UI, or push it to a CRM or project management tool.

Base URL: https://api.enablex.io/ai/v1

📋
Documentation Source: This API is fully documented on this page. For the authoritative parameter reference, source code examples, and webhook formats, refer to the sections below. All language codes and processing SLAs are best-effort estimates.

🟠
Try the AI APIs in Postman

Test TTS synthesis, STT transcription, and Meeting Summarization with the EnableX AI Postman collection — includes sample audio files.

Run in Postman →

How it works

  1. Record a video session using EnableX Video Recording (auto-record or on-demand).
  2. On recording-ready, your webhook receives the recording_id and download_url.
  3. Call POST /ai/v1/summarize with the recording_id — or configure auto-summarization in the Portal to skip this step.
  4. EnableX transcribes the audio, performs diarization (speaker separation), and generates the summary.
  5. On completion, a summary-ready webhook event is posted with the full structured output.

1. Submit a recording for summarization

POST https://api.enablex.io/ai/v1/summarize

{
  "recording_id": "rec_d1e2f3a4b5c6",
  "language":     "en-IN",
  "summary_type": "structured",
  "options": {
    "speakers":     true,
    "action_items": true,
    "decisions":    true,
    "key_topics":   true
  }
}

Response:

{
  "summary_id":   "sum_x7y8z9a1b2c3",
  "recording_id": "rec_d1e2f3a4b5c6",
  "status":       "processing",
  "estimated_completion_minutes": 3
}

Request parameters

Language Support: Supported BCP-47 codes shown in the parameter table are verified for transcription only. Speaker diarization accuracy varies by language. For code-switching (e.g., Hindi-English), use the primary language code.

ParameterTypeRequiredDescription
recording_idstringYesEnableX recording ID from a completed video session
languagestringNoBCP-47 language code for transcription. Default: "en-US". Supports: "en-IN", "hi-IN", "ar", "id-ID", "ta-IN"
summary_typestringNo"structured" (JSON with sections) or "narrative" (prose paragraph). Default: "structured"
options.speakersbooleanNoAttribute transcript segments to individual speakers. Default: true
options.action_itemsbooleanNoExtract action items with owner and due date where mentioned. Default: true
options.decisionsbooleanNoExtract decisions reached during the meeting. Default: true
options.key_topicsbooleanNoIdentify and label major topics discussed. Default: true

2. summary-ready webhook event

Posted to your configured webhook URL when summarization is complete.

{
  "event":        "summary-ready",
  "summary_id":   "sum_x7y8z9a1b2c3",
  "recording_id": "rec_d1e2f3a4b5c6",
  "room_id":      "room_abc123",
  "duration_ms":  3720000,
  "language":     "en-IN",
  "summary": {
    "title":    "Q2 Product Review — 4 April 2026",
    "overview": "Team reviewed Q2 roadmap priorities. Three features confirmed for May release. Two open questions escalated to VP Product.",
    "key_topics": [
      "Q2 roadmap prioritisation",
      "Feature cut decisions",
      "Resource allocation for June"
    ],
    "action_items": [
      { "owner": "Priya Sharma",  "task": "Share updated roadmap deck with stakeholders", "due": "2026-04-07" },
      { "owner": "Rahul Mehra",   "task": "Confirm infra capacity for May release",        "due": "2026-04-09" },
      { "owner": "Team",          "task": "Review customer feedback for Feature B",         "due": "2026-04-10" }
    ],
    "decisions": [
      "Feature A (live captions) confirmed for May release",
      "Feature C (analytics export) deferred to Q3",
      "Design freeze set for 18 April"
    ],
    "transcript_url": "https://ai.enablex.io/sum_x7y8z9a1b2c3/transcript.json",
    "expires_at":     "2026-07-03T09:47:22Z"
  }
}

3. Get a summary

GET https://api.enablex.io/ai/v1/summarize/{summary_id}

Returns the full summary object including transcript URL once processing is complete. Use this endpoint to poll status if your webhook is not yet configured.

4. Auto-summarization

Enable automatic summarization for all recordings in the Portal under My Projects → Video → AI → Auto-Summarize. When enabled, EnableX automatically submits every recording-ready recording for summarization — no API call required. Configure the language and output options at the project level.

5. Webhook handler example

app.post('/webhooks/ai', (req, res) => {
  const { event, summary_id, recording_id, room_id, summary } = req.body;

  if (event === 'summary-ready') {
    // Store structured summary
    db.saveSummary({
      summary_id,
      recording_id,
      room_id,
      overview:     summary.overview,
      action_items: summary.action_items,
      decisions:    summary.decisions,
      key_topics:   summary.key_topics,
      transcript_url: summary.transcript_url
    });

    // Push action items to project management tool
    for (const item of summary.action_items) {
      createTask({ title: item.task, assignee: item.owner, due: item.due });
    }

    // Notify meeting participants
    notifyParticipants(room_id, `Meeting summary ready: ${summary.overview}`);
  }

  res.sendStatus(200);
});

Processing time and limits

Note: Estimated processing times are based on typical configurations. Actual duration depends on audio quality, number of speakers, language complexity, and platform load.

Recording durationEstimated processing time
Up to 30 minutes2–4 minutes
30–60 minutes4–8 minutes
60–120 minutes8–15 minutes
Over 120 minutesContact EnableX for async processing SLA

Transcript and summary URLs expire after 90 days by default — same retention as video recordings. Download and store to your own storage for longer retention.


Frequently Asked Questions

Can Meeting Summarization work with Voice call recordings, not just Video?

Yes. While the primary integration path uses the Video Recording API's recording_id, you can also submit a publicly accessible audio file URL via the audio_url parameter in place of recording_id. This allows summarization of voice call recordings, uploaded audio files, or recordings from third-party platforms.

How accurate is speaker diarization in multi-participant sessions?

Diarization accuracy improves with audio quality and distinct voice characteristics. In controlled environments (individual headsets, good bandwidth), accuracy is typically 90%+ for up to 6 speakers. In noisy or large-group sessions, speakers with similar vocal profiles may be merged. For compliance-grade use cases (BFSI, healthcare), review the raw transcript alongside the summary.

Does it support code-switching (e.g., Hindi-English mixed speech)?

Partial support is available for Hindi-English code-switching using language: "hi-IN". The model handles common Hinglish patterns seen in Indian business conversations. Full multi-language diarization (identifying language per speaker per segment) is on the roadmap for H2 2026. For Arabic-English and Indonesian-English, use "ar" and "id-ID" respectively.

Can I trigger summarization automatically without calling the API after each recording?

Yes — enable Auto-Summarize in the Portal. Once enabled, every recording in your project is automatically submitted for summarization when the recording-ready event fires. You only need to listen for the summary-ready webhook to receive results. There is no additional API call needed.

How do I push action items directly to Asana, Jira, or CRMs?

EnableX delivers the structured JSON to your webhook. Your webhook handler extracts summary.action_items and calls your project management or CRM API directly. EnableX does not have built-in integrations to third-party tools — the structured output is designed to make this integration straightforward from your backend.