Intelligent Video Conferencing SDK for Developers

Build production-ready video apps with WebRTC, recording, transcription, and AI-powered features. Drop-in React components or use the core client library directly.

Getting Started

Build a video conferencing app in under 5 minutes

1 Authenticate

Configure npm for @hiyve packages

Get your credentials from the Developer Console: an API key (pk_*) for all apps, plus a client secret (sk_*) if you need video conferencing. Then run the CLI to authenticate. This is a one-time setup.

npx @hiyve/cli login
? Enter your Hiyve API key (pk_*): pk_live_************************ API key verified npm configured for @hiyve packages Ready to install packages
Using the development environment? Run npx @hiyve/cli --dev login instead. This points your .npmrc at the development registry and servers. Use your pk_test_* key and set ENVIRONMENT=development in your server .env. Without --dev, the CLI defaults to production. Having issues? See the Getting Started guide for troubleshooting and full setup details.
2 Install

Install the packages you need

Choose between using React components (recommended) or the core client library directly.

# React — zero-config video conferencing
npm install @hiyve/rtc-client @hiyve/react @hiyve/react-ui

# Add features as needed
npm install @hiyve/react-collaboration @hiyve/react-capture @hiyve/react-intelligence

# Server — one-line Express middleware for token generation
npm install @hiyve/admin

# Framework-agnostic — core state store only
npm install @hiyve/rtc-client @hiyve/core
Tip: @hiyve/admin handles server-side token generation so your client can use zero-config <HiyveProvider>. All React packages use @hiyve/rtc-client and @hiyve/core as peer dependencies.
3 Build

Add video conferencing to your app

import { HiyveProvider, useConnection, useRoom } from '@hiyve/react';
import { VideoGrid, ControlBar } from '@hiyve/react-ui';

function App() {
  return (
    <HiyveProvider>
      <VideoRoom />
    </HiyveProvider>
  );
}

function VideoRoom() {
  const { createRoom, joinRoom, leaveRoom } = useConnection();
  const { isInRoom } = useRoom();

  if (!isInRoom) {
    return (
      <div>
        <button onClick={() => createRoom('my-room', 'user-123')}>Create Room</button>
        <button onClick={() => joinRoom('my-room', 'user-123')}>Join Room</button>
      </div>
    );
  }

  return (
    <div style={{ height: '100vh', display: 'flex', flexDirection: 'column' }}>
      <VideoGrid />
      <ControlBar onLeave={leaveRoom} />
    </div>
  );
}
import { HiyveStore } from '@hiyve/core';

// Create store (zero-config — fetches tokens from /api/generate-room-token)
const store = new HiyveStore();

// Subscribe to state changes
store.subscribeToSlice('connection', () => {
  const { isConnected } = store.getSlice('connection');
  console.log('Connected:', isConnected);
});

store.subscribeToSlice('participants', () => {
  const { participants } = store.getSlice('participants');
  console.log('Participants:', participants.length);
});

// Create or join a room
await store.createRoom('my-room', 'user-123');

// Toggle audio/video
store.toggleAudio();
store.toggleVideo();

// Leave when done
store.leaveRoom();

One-line Express middleware for token generation:

import express from 'express';
import { mountHiyveRoutes, loadHiyveConfig } from '@hiyve/admin';

const app = express();
app.use(express.json());

// One line — registers /generate-room-token, /generate-cloud-token, and more
mountHiyveRoutes(app, loadHiyveConfig());

app.listen(3000);
Note: Set APIKEY (pk_*) and CLIENT_SECRET (sk_*, required for video conferencing) environment variables from console.hiyve.dev. Identity-only apps need only the API key.

CLI Commands

npx @hiyve/cli login Authenticate with your API key
npx @hiyve/cli login --key <key> Non-interactive login (CI/CD)
npx @hiyve/cli list List all available packages
npx @hiyve/cli whoami Show current authentication status
npx @hiyve/cli logout Remove Hiyve configuration
npx @hiyve/cli init [name] Scaffold a new Hiyve project
npx @hiyve/cli --dev login Authenticate against the development registry
Development mode: Pass --dev to any CLI command to use the development registry and servers. Use pk_test_* keys and set ENVIRONMENT=development in your server .env. See the Getting Started guide for full details.

Key Capabilities

HD Video Conferencing

WebRTC-powered video with adaptive bitrate, simulcast, and SFU architecture for unlimited participants

Cloud Recording

Record meetings with automatic grid composition, transcription, and S3 storage

Live Transcription

Real-time speech-to-text with speaker identification and AI-powered meeting summaries

Screen Sharing

Share your entire screen, application windows, or browser tabs with participants

SDK Packages

Everything you need to build real-time communication applications

Framework Filter
Function
Loading packages...

Demo Applications

See the SDK in action with our example applications

Loading demos...