Reelm

Documentation

Reelm is a video API: upload a file, we transcode it to adaptive HLS, and you embed a player. You pay for what you store; streaming is unlimited — no egress fees.

Quickstart

  1. Create an organization in the dashboard — it provisions your tenant (10 GB free credit).
  2. Create an API key under API keys.
  3. Create an upload, PUT your file to the returned URL, then complete it.
  4. Mint a playback token and drop in <reelm-player>.

The player — <reelm-player>

Open-source web component (MIT). Adaptive HLS, quality selector, and built-in analytics. Use the CDN script or npm i @reelm/player.

<script type="module" src="https://cdn.reelm.video/reelm-player.js"></script>

<reelm-player
  src="https://api.reelm.video/media/{tenant}/{video}/master.m3u8?token={t}"
  poster="https://api.reelm.video/media/{tenant}/{video}/poster.jpg?token={t}"
  analytics="https://api.reelm.video/v1/events"
></reelm-player>
srcHLS manifest URL with ?token. Required.
posterPoster image URL.
analyticsEvents endpoint — emits play / heartbeat / ended.
autoplay muted loopStandard video flags.

API reference

Base: https://api.reelm.video. Authenticate with a Bearer API key (sk_live_…) or a Clerk session.

POST /v1/uploadsCreate a video + presigned upload target.
POST /v1/uploads/:id/completeMark uploaded → starts transcode.
GET /v1/videosList videos.
GET /v1/videos/:idVideo status + manifest key.
POST /v1/videos/:id/playback-tokenMint a short-TTL signed playback token.
GET /v1/videos/:id/analyticsViews, watch-time, completion.
POST /v1/keys · GET /v1/keys · DELETE /v1/keys/:idManage API keys.
GET /v1/usageStorage + processing-minute usage vs quota.

Authentication & tokens

The control API uses your API key. Playback is gated by a short-lived, per-video HMAC playback token your backend mints — safe to put in the page, and it scopes access to one video. The edge serves bytes only with a valid token.

Pricing

Storage is the bill; streaming is unlimited. Starter $9 (50 GB) · Pro $29 (250 GB) · Business $99 (1 TB). Free starter credit (10 GB, no card) to begin.