Lumra SDK · by Reel Foundry

The media player SDK
that gets out of your way.

Drop a single script tag into any HTML page — or npm install into React and Next.js. The core player is completely free: HLS streaming, quality switching, paywalls, chapters, and analytics out of the box.

Need cinematic colour grading, VAST ads, or engagement heatmaps? Add a premium plugin — one-time purchase, no subscription.

Get Started Free →See Live Demo
Core player is free·No subscription·TypeScript native·MIT open core

Free · no license required

Everything you need,
already included.

The @lumra/embed package ships with a full-featured player at no cost. Paywalls, chapters, analytics, custom buttons — all built in, no API key required.

Quick start →Live demo →
📺HLS adaptive streaming (hls.js)
🎬MP4, WebM, live streams
Quality selector with ABR
🔒Paywall overlay UI + Stripe checkout
📑Chapter markers on seek bar
📊Analytics milestone hooks (25 / 50 / 75 / 100%)
🖼️Media info overlay (title, creator)
🎛️Custom toolbar buttons
💬Subtitle / caption tracks (WebVTT)
🖥️PiP, fullscreen, volume, mute

Optional · one-time purchase

Premium plugins

Extend the core player with licensed features. Each plugin is purchased separately — buy only what your project needs.

🎨
LUT Colour Grading
Real-time WebGL colour grading via .cube LUT files
  • Hot-swap LUTs at runtime
  • Adjustable intensity (0–100%)
  • Zero performance impact via WebGL
$49
one-time · lifetime
Buy now →
📖
Chapters (callbacks)
onChapterChange() fires in your code as viewers progress
  • Sync sidebar highlights in real time
  • Log chapter-level analytics
  • Works alongside the free seek bar markers
$29
one-time · lifetime
Buy now →
📺
VAST Ads
Pre-roll, mid-roll, and post-roll video advertising
  • VAST 2.0 and 3.0 support
  • Auto impression + tracking beacons
  • Configurable skip button
$79
one-time · lifetime
Buy now →
🔥
Engagement Heatmap
YouTube-style replay heatmap on the seek bar
  • Fetches view-count data from your API
  • Normalises and overlays automatically
  • Works with any segment granularity
$39
one-time · lifetime
Buy now →

View all plugins and checkout →

Up and running in 30 seconds

Drop one script tag into any page. No build step, no framework, no backend required for the core player.

index.html
<!-- 1. One script tag — no npm, no build step -->
<script src="https://cdn.jsdelivr.net/npm/@lumra/embed@0.1.17/dist/lumra-player.global.js"></script>

<!-- 2. Basic player — free, no license needed -->
<div id="player"></div>
<script>
  createPlayer('#player', {
    src:    'https://your-cdn.com/video.m3u8',
    poster: 'https://your-cdn.com/thumb.jpg',

    // Free: chapter markers, paywall overlay, analytics hooks
    chapters: [{ at: 0, title: 'Intro' }, { at: 60, title: 'Act 1' }],

    // Optional: add the LUT plugin with your license key
    lut: {
      verifyEndpoint: '/api/lumra-verify',  // proxy keeps your key server-side
      url:            '/luts/cinematic.cube',
      intensity:      0.85,
    },
  })
</script>
React / npm →Hiding your license key →

Built for developers who own their stack

Drop in anywhere
One script tag in plain HTML. npm install in React, Next.js, Vue. Works with PHP, Django, WordPress — any stack.
🧩
Headless architecture
Full control over your UI. Use the optional component library or wire your own design system.
One-time pricing
Buy once, use forever. No monthly seat fees, no usage caps, no renewals. Your key never expires.
🔒
You own everything
No external auth, no Lumra servers in your data path. Stream from your CDN, your storage, your infrastructure.

Start free. Upgrade when you need it.

The core player is MIT-licensed and free forever. Add premium plugins any time — one-time purchase, key delivered instantly.

Read the Docs →Browse Plugins
🔒 Secure checkout via Stripe📧 Key delivered instantly by email♾ Lifetime license, no subscription