Skip to content

Start/Introduction

Introduction

Velo is a live video API: a REST control plane for rooms, tokens and templates, a media plane your participants connect to, and a client SDK for each platform that joins a call and hands you the tracks. Four requests take you from an empty project to a call you can watch happening.

Quickstart

Your first room, in four requests

Create a room, mint a token, join from a browser and read the session back. Every step is a request you can paste into a terminal.

Then pick your platform and swap the browser step for the SDK that fits it.

Pick a platform

What you will learn

  • Create a room from your server and read back its identifier.
  • Mint a room token for one identity, one role and one hour.
  • Join from a browser with that token and publish camera and microphone.
  • Read the session back afterwards: who joined, as what, for how long.
  • Keep the project API key on the server, where it belongs.

Your first room is the guide itself, with copy-pasteable code. It assumes a project and one API key, and nothing else.

What Velo is

Two hosts, and they do different jobs. Everything you call from a server goes to the control plane. Everything a participant sends or receives goes to the media plane.

https://api.usevelo.xyz
The control plane. 53 JSON endpoints over HTTPS, authenticated with a project API key.
wss://rtc.usevelo.xyz
The media plane. Participants connect here with a token minted by the control plane, and never with a key.

The unit of configuration is a template. It holds roles, and a role decides what a participant may publish, who they receive, what they may moderate and how many people may hold that role at once. Your application names a role when it mints a token and stops thinking about permissions.

The four-request path

In order, because each one needs what the last one returned.

  1. POST /v1/roomsA room. Named, capped, attached to a template.
  2. POST /v1/tokensA token and a url. One identity, one room, one role, one hour.
  3. WSS wss://rtc.usevelo.xyzA connected participant. This is the only request a client makes.
  4. GET /v1/sessionsWho joined, as what role, for how long, with how many tracks.

Only step three happens on a device, and it carries a token rather than a key. A project API key can create rooms, mint a token for any identity and read your usage, so it stays on your server.

Read next

Popular how-to guides

The SDKs

Was this page useful?

Edit this page on GitHub