Skip to main content
From first setup to playback

Connect, upload, and play.

Connect your video storage, upload files in your browser, and share a playback link.

Start in three minutes

Follow this once

1

1. Connect your video storage

Connect Cloudflare R2.

Storage is your own warehouse for videos. NULX does not own it for you.

  1. 1.Open Storage in Settings.
  2. 2.Choose Cloudflare R2.
  3. 3.Enter bucket details and connect.
Sign in
My storageConnected
R2My R2 bucket
Account ID · Access Key · Secret · Bucket
2

2. Upload videos

Upload videos in your browser.

Choose files or a whole folder from the Videos page. The PC uploader is optional and available to approved accounts.

  1. 1.Open Videos and choose Upload.
  2. 2.Choose files or a folder, then select your connected writable storage.
  3. 3.Keep the browser tab open during upload and wait until the video is ready.
Sign in
Upload videosBrowser

Choose video files or a folder

We prepare it for playback after upload
3

3. Show it

Copy the link.

Create a link in a ready video’s Share tab and send it only to the people who need it.

  1. 1.Open a ready video.
  2. 2.Create a link in Share.
  3. 3.Copy and send the link.
Sign in

Ready to play

<iframe src="…/embed/…">

Copy code

Share safely

Send team links to teammates and share links to external viewers.

With your teammates

Copy the team address. Viewers sign in and open the video using their team's permissions.

With someone outside your team

Open Video → Share → External viewers. Choose a label, expiry and optional PIN, create your link, then copy it from the list below. Send the PIN separately.

With another service

Use an external HLS link. Only give it to a trusted platform because the platform can obtain the playback URL.

Your first share

  1. Check the video protection setting and storage connection. Private videos require signed delivery URLs.
  2. Choose an expiry. The default is 7 days; we recommend an 8-digit PIN when you use one.
  3. Open the link in another browser while signed out to check the PIN and playback before sending it.

Common questions

What if someone forwards the address?

A link-based share can be used by another recipient. You can require a PIN, but restricting access to a specific recipient email is not currently available.

Does ending a share stop everything immediately?

New access and share-session refreshes are blocked. Issued video URLs may remain valid until expiry, and received video cannot be recalled. This is not immediate revocation of every media segment.

Does an allowed-site list prevent URL leaks?

It limits which websites may embed the player. It is not authentication against forwarding, direct requests or copying the video.

Why am I asked to reopen the link?

If the share has not ended, reopen the original share link. Expiry, permission changes or a security update may require you to enter the PIN again.

Protecting your own storage

Check both NULX delivery protection and your storage's public settings. The steps below are guidance, not automated test results.

Cloudflare R2
  1. Check the bucket's public r2.dev address and all custom domains. They are independent public routes.
  2. Verify that the NULX protected playback route actually works. Entering a signing key alone does not install the delivery layer.
  3. Test the transition before closing public origin routes so existing videos keep working. Do not disable them before protection is ready.

Never put API keys or storage secrets in share links, chat or browser code. Storage changes must be made by the account owner.

Everyday features

Open only what you need

Getting video in

Pick a whole folder in the browser and everything inside goes up, with the same folder structure. For very large files or hundreds at once, the PC uploader we give contracted customers is faster.

Do this

  1. 1. Open the library and choose Upload.
  2. 2. Pick files, or choose Select folder to send a whole folder.
  3. 3. Leave the tab open while it uploads. Finished videos appear in the list.

If it fails

  • Subtitles named name.ko.srt or name_KR.srt next to the video attach automatically, whether you upload from the web or the PC app.
  • Titles, descriptions and tags come from info.json in the same folder; use 1.info.json next to 1.mp4 to override one video.
  • If the service restarts mid-upload it picks up where it left off. Just keep the tab open.
Ask about the PC uploader
Organize with folders

The left pane of the library is your folder window. NulX at the top is the whole library; create as many folders as you like below it and drag videos into place, just like files on your computer.

Do this

  1. 1. Click New folder at the bottom left and name it. It is created inside the folder you are viewing.
  2. 2. Grab a video row and drop it on a folder. Checked videos move together.
  3. 3. Or click the folder name on a video row to pick a folder from the list.

If it fails

  • Drop a folder onto another folder to nest it (up to 6 levels).
  • Deleting a folder never deletes videos; they move one level up.
  • Open a folder and click Protection at the top right to protect every video in it and its sub-folders, plus anything added later.
Sign in
Protected playback and share links

Protected playback gives video addresses an expiry. A copied address stops working after a while. Once it is on, you can also create share links with a PIN and an expiry date.

Do this

  1. 1. Settings → Storage: check that your R2 connection has a verified private-bucket Cloudflare Worker for protected playback. Automatic storage setup does not install this Worker; contact support to configure it. A paid plan is required.
  2. 2. On a video, pick Protected playback under Playback policy, or set it for a whole folder with Protection.
  3. 3. Video → Share: set a PIN (4–8 digits) and an expiry, create the link, and revoke it when it is no longer needed.

If it fails

  • Protected playback is not DRM and does not stop screen recording; it makes addresses expire.
  • If Protected playback cannot be selected, one of two things is missing: the storage's protected playback setup or a paid plan.
  • Setting a folder to Protected while the storage has no signing keeps its videos public and tells you so.
Sign in
Attach subtitles

Attach SRT or VTT files, generate automatic captions, and translate them. Viewers toggle subtitles in the player.

Do this

  1. 1. Open the video → Subtitles tab.
  2. 2. Choose a language and upload an SRT or VTT file.
  3. 3. Automatic captions are created when you tick the option at upload; use Translate to add more languages.

If it fails

  • Garbled text? Save the file as UTF-8.
  • Hosted automatic captions send extracted speech audio to the speech-recognition provider. Translation sends subtitle text. These optional features are billed by the minute used.
Sign in
Embed on your site and playback sites

Replace a Vimeo link directly with the NULX player URL or one-line embed code from the video page. Restrict playback sites with each folder's allowed domains.

Do this

  1. 1. Copy the NULX iframe code or player URL from the video page.
  2. 2. Paste it into your site's HTML.
  3. 3. Add sites such as example.com to the folder's allowed domains. A blank folder list inherits the account setting.

If it fails

  • New videos are Private. For a fixed external embed, make the folder Public and set allowed domains.
  • Protected playback needs expiring tokens, so mint fresh URLs through the server API or use share links instead of a fixed URL.
  • Browser CSP blocks iframes on unlisted sites. To block direct address-bar access too, use Private or Protected playback.
Sign in
Team and roles

Owners handle hard-to-undo things like billing, storage and deletion; members do the everyday work of uploading and organizing.

Do this

  1. 1. Open Settings → Team.
  2. 2. Enter the email to invite. That person is in as soon as they sign in with it.
  3. 3. Check roles. There can be several owners, but the last one cannot be removed.

If it fails

  • A greyed-out button for a member is an owner-only action.
  • Deleting storage, emptying trash and changing the plan are owner-only.
Sign in
Two bills, two places

NULX bills the plan, encoding beyond the included hours, and automatic captions you turned on. Cloudflare bills your R2 storage and operations separately; approved alternative storage providers bill their own charges.

Do this

  1. 1. Usage shows this month's encoding minutes and caption minutes.
  2. 2. The Billing tab shows NULX invoices.
  3. 3. Check storage costs in your Cloudflare dashboard, or the dashboard of your approved storage provider.

If it fails

  • Wondering about cost? Look at the usage numbers first; invoices are computed from them.
  • Protected playback is not available on the free evaluation.
Sign in

When you are stuck

Find your symptom

SymptomCauseFix
Playback returns 403 or 503The video is protected but the storage's protected playback setup is unfinished, or the plan is the free evaluation.Enable protected playback under Settings → Storage and check the plan. In a hurry, switch the video's playback policy to Public.
No upload button, or upload never startsNo writable storage is connected.Connect writable Cloudflare R2 storage under Settings → Storage, or check your approved existing storage connection.
Stuck in ProcessingEncoding failed or the original could not be read.Read the error notice at the top of the library and press Retry. If it repeats, contact us.
Cannot find the PC uploader login codeThe login code is never emailed. You sign in on the web and generate it on screen.Sign in on the web, then press Generate a login code under Settings → Desktop app login and type the code into the app within 5 minutes. If that tab is missing, the account is not contracted for the PC uploader - contact us.
PC uploader tries a storage you deletedDeleting storage on the web while the app is open leaves its list stale.Pressing Start reloads the list. If it persists, press Re-check destination.
Folder set to Protected but video visibility is unchangedProtected playback is not set up on that storage yet.Enable it under Storage connections, then apply the folder's Protection again.

Costs stay in your hands

Your videos stay in your storage, with clear costs

Review NULX usage separately from storage-provider costs.

View pricing