Keep your storage while running upload through protected playback
Store source files and outputs in your own Cloudflare R2 storage. NULX provides upload, transcoding, captions, playback controls, and usage management.
Core capabilities
Six capabilities grounded in the real media workflow
Understand each feature by where data moves, not by a product label.
Cloudflare R2 connection
- Grant read/write access only to the bucket and prefix you connect.
- Keep sources and processed outputs in your storage account.
- NULX adds no markup to storage or delivery.
Adaptive HLS transcoding
- Build 2160p, 1080p, 720p, and a needed source-height rendition without exceeding the source.
- Create adaptive output for changing network conditions.
- Create HLS by default and add DASH only when requested through the API.
Membership-protected playback
- Choose public or protected playback per video.
- Issue expiring signed links so a shared URL stops working on its own.
- Enable R2 protected playback only after a verified Cloudflare Worker is connected.
Subtitles and speech recognition
- Manage SRT and WebVTT tracks across languages.
- Send only a low-bitrate audio extract to Groq when automatic captions are enabled.
- Choose the language and enablement per upload.
Large desktop uploads
- Create HLS on the customer PC before uploading completed files.
- Resume interrupted large uploads.
- Discover language-code sidecar subtitles in the same folder.
Usage and cost visibility
- Meter encoding and automatic captions separately.
- See included allowances and overage before billing.
- Keep direct Cloudflare costs separate from NULX costs.
Use cases
For video services where data ownership matters
A fit for teams that care about storage location, access rules, and cost structure as much as the viewing experience.
Members-only VOD
Build education and membership services that issue expiring playback paths from user authorization.
Training and product archives
Keep courses, product demos, and internal training in your R2 and share them with defined audiences.
High-traffic media libraries
Separate playback growth from platform delivery markup and use the published R2 egress model.
Large migrations and batch uploads
Move existing media in stages with desktop encoding and resumable uploads.
Connections
Built around customer storage and open media standards
Connect through R2, the REST API, and webhooks. Other storage/CDN backends are available on enterprise contracts.
R2
Customer-owned source and output storage
Worker
Alternative storage/CDN backends (including Bunny) through an enterprise contract
Domain
Protected playback from private R2
API
Playback paths on your domain
Webhooks
Asset, upload, and playback automation
Webhooks
Processing events for existing systems
Review the fit
Start with your current storage and playback architecture
Share whether you use Cloudflare R2, monthly upload volume, and protected-content requirements.
Request an architecture review