Quickstart

Go from sign-up to a live video room in three steps. Your server mints a token with Relay; your client joins LiveKit with it.

1. Create a project and grab your key

Sign up at relay.welbuiltai.tech/signup. A project is created for you automatically. Open API Keys in the dashboard and copy your secret key — it starts with sk_live_ and is shown only once, so store it somewhere safe.

2. Mint a token from your server

Call POST /v1/tokens from your backend with your secret key in the Authorization header. Pass the room the user should join and an identity for them.

curl
curl https://api.relay.welbuiltai.tech/v1/tokens \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"room":"my-room","identity":"user-123"}'
server.js (Node)
const res = await fetch("https://api.relay.welbuiltai.tech/v1/tokens", {
  method: "POST",
  headers: {
    "Authorization": "Bearer sk_live_...",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ room: "my-room", identity: "user-123" }),
});

const { token, url, room } = await res.json();

A 200 response returns the token, the LiveKit server URL, and the fully-namespaced room name:

200 OK
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "url": "wss://your-livekit-host",
  "room": "p_<projectId>__my-room"
}

3. Join from the browser

Send the token and url to your client, then connect with livekit-client:

client.js
import { Room } from "livekit-client";

const room = new Room();
await room.connect(url, token); // url + token from your server
await room.localParticipant.enableCameraAndMicrophone();

That's it — media now flows directly between your clients and LiveKit. The room and identityare entirely yours to choose, and the room is automatically isolated to your project so it can never collide with another tenant's rooms.

Next steps