RealtimeKit

Last updated Oct 19, 2026 Cloudflare RealtimeKit lets you build your own audio and video experiences inside web and mobile apps. It routes media on Cloudflare's global WebRTC infrastructure, so you can deliver low-latency experiences to a global audience without scaling media servers or choosing regions.

Your application controls who can join and what they can do. RealtimeKit provides the SDKs and infrastructure that connect participants inside your web or mobile app.

Get started Try a demo meeting View code examples Run a pre-call test

What you can build

Group video calls

Add multiparty calls to collaboration tools, customer portals, and online communities.

Virtual classrooms

Split a class into smaller discussion rooms and assign participants automatically or manually.

Webinars and live events

Keep attendees view-only until a host grants them access to the stage.

Audio rooms and support calls

Build voice-only sessions for support lines and community discussions.

How RealtimeKit fits into your app

Your application owns users and workflows, while RealtimeKit manages sessions and media.

Your application

server

Application backendOwns users, scheduling, and business logic.

Participant auth token

client

Web or mobile appUses prebuilt UI Kit components or integrates the Core SDK into a custom interface.

REST APICloudflare API token

SDK connectionRealtime media

RealtimeKit

management

REST APICreates Meetings, adds Participants, and returns participant auth tokens.

sessions + media

Managed realtime networkRoutes realtime media between participants.

Your backend creates Meetings and adds Participants through the RealtimeKit REST API, then passes participant auth tokens to the client SDK. RealtimeKit manages session state and routes realtime media between participants.

Key features

Participant roles and permissions

Give hosts, speakers, and attendees different permissions for media, moderation, and in-meeting features. Reuse the same presets across meetings.

Configure presets

Recording and custom layouts

Capture composite video or separate participant audio tracks. Store recordings in your own Cloudflare R2 bucket, or deploy a custom recording app on Cloudflare Workers when you need a different layout.

Explore recording

Transcription and summaries

RealtimeKit uses Cloudflare Workers AI for real-time and post-meeting transcription. Generate an AI summary when a meeting ends.

Add meeting AI

In-meeting apps

Add your own browser-based, interactive apps such as whiteboard, document viewer into the meeting layout. Use the meeting key-value store to synchronize plugin state across participants.

Build a plugin

Backend automation

Receive signed meeting, participant, and recording events in your backend. A Cloudflare Worker can verify each callback and start post-meeting processing.

Handle lifecycle events

Choose how to build

RealtimeKit gives you two ways to build the client experience. Choose based on how much of the interface you want to build yourself.

RealtimeKit UI Kit

Use RealtimeKit UI Kit when you want prebuilt screens and controls for joining and running a call. It includes the setup screen, participant grid, media controls, chat, and polls. Use the default layout or customize individual components and branding.

RealtimeKit UI Kit includes RealtimeKit Core SDK, so you can use its APIs when prebuilt components don't cover your workflow.

RealtimeKit Core SDK

Use RealtimeKit Core SDK to build every screen and interaction yourself. It provides direct access to session, participant, and media state while RealtimeKit manages signaling and media routing.

Compare supported platforms and packages in SDK selection.

Was this helpful?

YesNo

On this page

RealtimeKit - 图1Docs

{"@context":"https://schema.org","@type":"WebPage","@id":"https://developers.cloudflare.com/realtime/realtimekit/#page","headline":"RealtimeKit","description":"Build in-app audio and video with RealtimeKit SDKs and customizable UI components.","url":"https://developers.cloudflare.com/realtime/realtimekit/","inLanguage":"en","image":"https://developers.cloudflare.com/realtime/realtimekit/og.png?v=31a73b0d5312318c","dateModified":"2026-10-19","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: Add a server-side agent to a RealtimeKit meeting and stream transcripts, participant presence, and broadcasts to a Worker or Durable Object. title: Agent Participant image: https://developers.cloudflare.com/realtime/realtimekit/agents/og.png?v=c6625ab8f4d89f64


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.