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
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
RealtimeKit uses Cloudflare Workers AI for real-time and post-meeting transcription. Generate an AI summary when a meeting ends.
Add meeting AI
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
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
{"@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
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.
Docs