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
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
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.
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
@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.
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);
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
--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.
Developer Guides
Resources
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
Demo Applications
See the SDK in action with our example applications