livqenoDocs

Get startedWhat is Livqeno?

What is Livqeno?

What Livqeno does, how the pieces fit together, and where to start.

Livqeno lets you add video calls, chat, and live streaming to your app without running any real-time servers yourself. We host the media servers, relays, and chat servers. You write your app and a small piece of backend code.

This page gives you the whole picture in five minutes. Read it first, and the rest of the docs will make sense.

What you can build

ProductWhat it doesExample apps
RTC (video calls)Live audio and video between people.A telehealth visit, a support call, a team meeting, a gaming party.
ChatSaved conversations with typing, read receipts, reactions, and threads.Customer support chat, team channels, a chat panel next to a call.
Live streamingOne host broadcasts to many viewers, who chat and react.A webinar, a live class, a product launch.
WebhooksYour backend is told when something happens.Send a push notification for a new message, mark a webinar as finished.

You can use one product or combine them. A live stream, for example, is a call and a chat working together.

The big picture: who runs what

Three parts work together. Two of them are yours.

Your backendany server SDK · holds the API key
Livqenohosted: control plane, media, chat
Your appbrowser or phone · holds only a token
1asks for a token with the API key
2token
3sends the token
4joins with the token
live video, audio, chat
5webhooks
Your backend holds the API key; your app only ever holds a token.

How a user joins, step by step

Say alice opens your app and clicks Join call:

  1. Your app asks your backend: "Can Alice join demo-room?"
  2. Your backend checks that Alice is logged in. Then it uses its secret API key to ask Livqeno for a token for Alice and that room.
  3. Livqeno sends back the token (plus connection details, called a grant). Your backend passes it to your app.
  4. Your app uses the token to join the room. Livqeno connects Alice's camera and mic to everyone else in the room.
  5. Later, when something happens in chat or a live stream, Livqeno sends a webhook to your backend. For example, "a new message arrived" or "the webinar ended", so you can save it or react to it. (Joining and leaving a video call doesn't send a webhook. Your app sees that through room events.)

The important rule: the API key stays on your backend. Your app only ever sees a short-lived token that works for one user in one room or conversation. That way, even if someone inspects your app, they can't use your project.

Explain it with a hotel

If you're explaining Livqeno to a teammate, this picture works well:

LivqenoHotel
LivqenoThe hotel. It runs the building: the rooms, the power, the lifts.
API keyThe master key. It stays at the front desk and never goes to a guest.
Your backendThe front desk. It checks who you are, then hands you a keycard.
TokenA guest keycard. It opens one room, for one guest, and stops working after a while.
Your appThe guest. It only ever holds the keycard.

Or in one sentence: your backend keeps the Livqeno API key and makes a short-lived token for each user. The app joins the call with that token, and Livqeno carries the video.

The words you'll see everywhere

WordIn one line
ProjectA container for your app. Holds all your rooms, chats, and keys.
Environmentdevelopment, staging, or production. Each is fully separate.
API keyYour backend's secret. Never put it in your app.
TokenA short-lived pass your backend makes for one user.
RoomWhere a call happens.
ConversationWhere chat messages live.

More words: Glossary and Core concepts.

What you build, and what we run

You buildLivqeno runs
Your screens: call view, chat panel, buttonsMedia servers that route audio and video
A backend endpoint that makes tokensRelays (TURN) so calls work on any network
Login: deciding who your users areChat servers that store and deliver messages
What to do with webhooksToken checks, permissions, and limits

Livqeno is not a ready-made app or a drop-in widget. Our SDKs give you simple building blocks, like room.enableCamera() and chat.sendMessage(), and you design the experience around them.

What Livqeno does not do

Check this before you plan your app:

  • No recording of calls. An RTC room can't be recorded. The one recording is the replay a broadcast-mode live stream produces when it ends (live_stream.recording_ready).

  • Free allowances are one-off. On the Free plan every account gets a fixed amount that never resets:

    • 10,000 RTC participant-minutes
    • 100,000 chat messages
    • 100 live-streaming host-hours

    To go past them, move to a paid plan under Billing: the same amounts are then included every month and the rest is billed. See Usage.

  • Limited RTMP. A stream can be restreamed to up to 5 RTMP/RTMPS destinations (YouTube, Twitch …), and can be broadcast from OBS over WHIP or RTMP/RTMPS. Ingest takes H.264 without B-frames, up to 1080p30 and 8 Mbps, and one encoder per stream. Restream uses a fixed grid layout.

The full list is in Known limitations.

Next steps

Most developers go in this order:

Or go straight to a product: