Skip to main content

VideoSDK Server SDK

Server-side SDKs for the VideoSDK v2 APIs, available for Node.js and Go with the same capabilities: create rooms, mint access tokens, run recordings, HLS and live streams, drive telephony, and dispatch AI agents.

Choose your language in any code sample below.

Install

npm install @videosdk/server-sdk

Requires Node.js 18+.

Get your credentials

Create an API key and secret in the VideoSDK Dashboard. Pass them to the client, or set them in the environment (see Configuration).

note

Keep your secret on the server. It signs tokens, so it must never reach a browser or mobile app.

Quick start

import { VideoSDK, Grant } from "@videosdk/server-sdk";

const client = new VideoSDK({
apiKey: process.env.VIDEOSDK_API_KEY!,
secret: process.env.VIDEOSDK_SECRET!,
});

// Create a room
const room = await client.rooms.create({ geoFence: "us002" });

// Mint a token your client app uses to join it
const token = client
.accessToken()
.setParticipant("user-123")
.grant(Grant.AllowJoin)
.forRoom(room.roomId)
.expiresIn("2h")
.toJwt();

The client signs and attaches its own management token on every request, so you never set an Authorization header for server-side calls.

What you can do

AreaResources
MeetingsRooms, Sessions, Participants
Recording & streamingRecordings, HLS, RTMP, Transcription, Transcodings
IngestIngress (WHIP / WHEP / Socket)
TelephonySIP, Batch calls, Connectors
AIAgents

Next steps

Got a Question? Ask us on discord