The programmable layer for live video.
Stream, transact, automate. Vidbloq gives builders the primitives — peer-to-peer transactions, AI agents, engagement — to make live video feel like a product, not a tool.
Live video has been a closed product for a decade. We’re making it a primitive.
Three examples. There are more.
Verified-payment 1:1 sessions.
Verify payment, mint a token, drop the user into the room. Refunds and rescheduling handled by webhooks. Around 40 lines of TypeScript end-to-end.
// 1. Confirm payment on your side
const paid = await db.payments.exists(req.body.bookingId)
if (!paid) return res.status(402).end()
// 2. Mint a Vidbloq token scoped to one room
const { token, url } = await vidbloq.tokens.mint({
streamId: booking.streamId,
identity: req.user.id,
role: 'guest',
ttl: 60 * 30
})
return res.json({ token, url })Seven primitives. One SDK.
Compose them how you want. Everything below is a real call against @vidbloq/node.
Spin up rooms in one call.
const stream = await vidbloq.streams.create({
title: 'Office hours',
scheduledFor: nextWeek
})Mint scoped access in 50ms.
await vidbloq.tokens.mint({
streamId, identity, role
})Roles, presence, permissions.
vidbloq.participants
.list(streamId)Peer-to-peer value transfer. In the room.
const tx = await vidbloq.transactions.create({
streamId, from: viewer, to: host,
amount: 5, token: 'USDC'
})Polls, Q&A, quizzes, contests.
vidbloq.polls.create({
streamId, question, options
})Capture, store, replay.
vidbloq.recordings
.start(streamId)Signed. Retried. Observable.
vidbloq.webhooks.verify(
body, sig, secret
)Agents that join the room.
Transcription, moderation, summaries, custom logic — live participants, programmable like any other primitive. Not "AI features." Agents are participants who happen to be programs.
// Live captions, multilingual
await vidbloq.agents.start(
streamId,
'transcription',
{ language: 'en', interim: true }
)
// Receive partial results via webhook
vidbloq.webhooks.on(
'agent.transcription',
handle
)Three steps from zero to live.
End-to-end TS, from server to client.
pnpm add @vidbloq/nodeimport { Vidbloq } from '@vidbloq/node'
const vb = new Vidbloq({
apiKey: process.env.VIDBLOQ_API_KEY!,
apiSecret: process.env.VIDBLOQ_API_SECRET!
})
const { token, url } = await vb.tokens.mint({
streamId, identity, role: 'guest'
})import { VidbloqRoom } from '@vidbloq/react'
<VidbloqRoom token={token} url={url}>
<ParticipantGrid />
<CallControls />
</VidbloqRoom>Products shipping with Vidbloq today.
The creator-economy livestreaming layer — tipping, donations, and stream-level escrow built on Vidbloq's primitives.
Paid, gated 1:1 sessions for advisors and creators. Bookings, payments, and live calls in a single flow.
Start building.
We’re rolling out access in waves. Drop your email — we’ll send your API key as soon as your batch opens.