Introduction
Agnostic, type-safe video SDK. One API across Rehelios, Mux, Bunny Stream, and Cloudflare Stream.
Videos SDK gives you one small, honest API over multiple video providers. Swap the adapter, keep every call site — and let the compiler catch what a provider can't do.
import { createVideos } from 'videos-sdk';
import { rehelios } from 'videos-sdk/rehelios';
const videos = createVideos({
adapter: rehelios({ apiKey: process.env.REHELIOS_API_KEY! }),
});
const asset = await videos.upload('intro.mp4', file);
const { hls } = await videos.playback(asset.id);What you get
One interface
create, upload, get, list, delete, playback, thumbnail, signedPlayback — the same calls on every adapter.
Capability-safe types
Unsupported operations are compile errors, not runtime surprises.
Normalized lifecycle
Every provider's status codes collapse to five canonical states.
Typed errors
Every failure throws a VideoError with a discriminated code.