Kardolive Integration Guide

Everything you need to wire chat, live streaming, conferencing, and 1:1 voice/video calls from your backend (or any other app) into the Kardolive platform.

30-second mental model: your server signs a short-lived JWT for each end-user using a kl_live_* API key. your client opens a WebSocket to Kardolive (chat or SFU) with that JWT. Real-time traffic flows directly between the end-user and Kardolive — your backend stays out of the hot path.

Pick your starting point

What you'll integrate

SurfaceSDK callUnderlying transportTypical latency
Chat (DMs, groups, public)kl.channels.*WebSocket wss://chat.kardocloud.com<100 ms
Live stream (broadcast)kl.streams.*RTMP in, HLS+WHEP out2 s (WHEP) · 5–12 s (HLS)
Live stream (interactive)kl.sessions.create({type:'livestream'})WebRTC SFU<300 ms
Conferencekl.sessions.create({type:'conference'})WebRTC SFU<300 ms
1:1 callskl.calls.invite(...)WebRTC SFU + APNs/FCM push<300 ms

Three integration levels — pick one or mix

LevelEffortCustomizationBest for
Drop-in widget 1 line of HTML CSS theming only Quick demos, marketing pages, "we need chat tomorrow"
React/JS SDK ~50 lines Full UI control, drop-in components or headless Most your app's screens — recommended path
Raw API + WS protocol Days Total — write your own client Native iOS/Android, exotic stacks, embedded devices

Key conventions you'll see throughout

Where to next

If you're new: Auth & tokens →
If you know the auth model: React quickstart → or Chat → for the most common path.