Summary

Last updated Jun 8, 2026 RealtimeKit generates AI-powered meeting summaries from transcript data.

Note

Summarization requires a transcript. To generate summaries automatically when a meeting ends, turn on real-time transcription or post-meeting transcription, and set summarize_on_end: true. With post-meeting transcription, RealtimeKit generates the summary after the transcript is available.

Turn on summarization

Set summarize_on_end: true when creating a meeting. For post-meeting summaries, also set transcribe_on_end: true so RealtimeKit generates the summary automatically after the transcript is available:

curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/realtime/kit/$APP_ID/meetings" \
  -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Product Review",
    "transcribe_on_end": true,
    "summarize_on_end": true,
    "ai_config": {
      "transcription": {
        "language": "en-US"
      },
      "summarization": {
        "word_limit": 500,
        "text_format": "markdown",
        "summary_type": "team_meeting"
      }
    }
  }'

Configuration

Option Type Default Description
word_limit number 500 Summary length (150-1000 words)
text_format string markdown Output format: plain_text or markdown
summary_type string general Meeting context for tailored summaries

Summary types

Choose a type that matches your meeting for better results:

Type Best for
general Any meeting (default)
team_meeting Regular team syncs
daily_standup Agile standups
one_on_one_meeting 1:1 meetings
sales_call Customer sales conversations
client_check_in Client status updates
interview Job interviews
lecture Educational content
code_review Technical code reviews

Consume summaries

Webhook

Configure the meeting.summary event in RealtimeKit webhooks to receive the summary download URL when it is ready:

{
    "event": "meeting.summary",
    "meeting": {
        "id": "bbb8940e-1b97-402a-97d6-2708b7feca41",
        "sessionId": "05e57591-d89e-45c9-ae44-08dc1eaad0e0",
        "organizedBy": {
            "id": "c94c437b-592a-4a39-b9e2-47ef1451e43b",
            "name": "Example organization"
        }
    },
    "summaryDownloadUrl": "https://example.com/summary.txt",
    "summaryDownloadUrlExpiry": "2026-06-10T10:30:00.000Z"
}

REST API

Fetch summary

Refer to Fetch summary of transcripts for a session.

curl -X GET "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/realtime/kit/$APP_ID/sessions/$SESSION_ID/summary" \
  -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

Trigger manually

Use the Generate summary of transcripts for the session API if summarize_on_end was not set and you want to generate a summary manually after the transcript is available.

curl -X POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/realtime/kit/$APP_ID/sessions/$SESSION_ID/summary" \
  -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN"

Example output

With text_format: "markdown" and summary_type: "team_meeting":

## Meeting Summary

### Key Discussion Points

- Reviewed Q4 roadmap priorities
- Discussed deployment timeline for v2.0
- Identified blockers for the auth migration

### Action Items

- @alice: Update design specs by Friday
- @bob: Schedule security review
- @charlie: Create migration runbook

### Decisions Made

- Approved moving forward with Kubernetes migration
- Delayed analytics dashboard to next sprint

Retention

Summaries are stored for 7 days after the meeting ends.

Was this helpful?

YesNo

On this page

Summary - 图1Docs

{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/realtime/realtimekit/ai/summary/#page","headline":"Summary","description":"Generate AI-powered meeting summaries from transcript data in RealtimeKit.","url":"https://developers.cloudflare.com/realtime/realtimekit/ai/summary/","inLanguage":"en","image":"https://developers.cloudflare.com/realtime/realtimekit/ai/summary/og.png?v=5488d16a96ed4bc3","dateModified":"2026-06-08","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}


description: Turn on real-time and post-meeting speech-to-text transcription in RealtimeKit. title: Transcription image: https://developers.cloudflare.com/realtime/realtimekit/ai/transcription/og.png?v=cda4a4fb7118c8cb


Skip to content

Documentation Index
Fetch the complete documentation index at: https://developers.cloudflare.com/realtime/llms.txt
Use this file to discover all available pages before exploring further.