Skip to main content

Video hosting on storage you own

Upload a video and NULX gets it ready to play on phones and computers. The source and playback files land in the Cloudflare R2 storage your company connects.

Resumable large uploads · Automatic quality for each device and network · Captions · Expiring protected links · Run it from AI (MCP)

NULX / Library All systems normal

Just uploaded

launch-film.mp4

Ready to play
  1. 1 Connect storage Guided setup, once
  2. 2 Upload video Made watchable automatically
  3. 3 Share the link On your site or to members
Your storageVideo piles up here
Every screenLooks right on phone and desktop
CaptionsOnly where you need them
Nully, a waving otter mascot in a green scarf holding a video card
Nully the otter

Start with who can watch.

Nully can help you choose how to share. Use Public for promos, or a Private share link to send something outside your team.

Public
Anyone with the watch address can view. Send the link or put the player on your website.
Private
Teammates watch in the dashboard. For someone outside, create a link with a PIN and expiry. Without a PIN, anyone who receives that link can open it.
Protected playback
Connect viewing access to your member site’s login. A developer issues and renews playback URLs on your server.

The storage’s video file delivery address and the sites allowed to embed your player are separate settings. Private and protected playback need protected storage delivery.

See sharing methods and setup

One video, start to finish

Upload, encode, keep it in your storage, play.

  1. 01 · Upload If the connection drops, it resumes from the chunk that stopped.

  2. 02 · Encode Encoded automatically for phones and computers.

  3. 03 · Your storage Sources and playback files land in the storage your company connects.

  4. 04 · Play More views, same NULX monthly fee.

AI-first · MCP server

Work on your videos with Claude or Codex.

Connect your AI to NULX to check initial setup, plan usage and playback protection, then manage and share videos in conversation.

  • Connect on the Free plan. Plan limits still apply to the actions your AI takes.
  • After an upload, the AI checks encoding, subtitles and playback and tells you what is left.
  • Only apps the account owner allows can connect, and the AI can never delete anything permanently.

Works with ClaudeCodexClaude Code

Claude (web and desktop)

Open connector settings, add a custom connector and paste the server address below. Select Connect, then complete NULX sign-in and consent.

Open Claude connector settings
https://nulx.dev/mcp
Codex CLI

In a terminal with Codex CLI installed, run the first command to register the server and the second to sign in. Complete NULX sign-in and consent in the browser.

codex mcp add nulx --url https://nulx.dev/mcp
codex mcp login nulx

The problems it solves

Where running video gets stuck.

  1. The problem

    More views mean a bigger bill.

    When a service charges by playback, every video that does well raises your cost.

    With NULX

    NULX does not raise your fee with play count. Storage is billed separately by the storage company you connect.

  2. The problem

    A large upload that drops starts over from zero.

    One Wi-Fi hiccup can cost a long wait on a multi-GB lecture file.

    With NULX

    Video is uploaded in parts, and a dropped upload continues from the part where it stopped. We checked this with an 836 MB 4K file uploaded in 36 parts.

  3. The problem

    Leaving a host means downloading every video again.

    When your video lives in the host's warehouse, moving out means pulling every file down and uploading it somewhere else.

    With NULX

    With storage connected, sources and playback files land in your company's storage from day one. Cancel NULX and the files stay where they are.

Three steps, that is it

Connect, upload, share.

Built so your team can follow it without a developer on hand.

  1. 01 Connect storage

    Connect the space that holds your video once, following the on-screen steps.

  2. 02 Upload video

    Once uploaded, it is prepared to look right on a phone or a desktop. You can also apply separately to use the desktop uploader.

    Choose automatic captions when uploading. The option starts unchecked.

    Edit subtitle text and timing in the cue editor without transcribing again.

    Translate existing subtitles into another language without transcribing again.

  3. 03 Share the link

    Put the link on your site or send it to your members.

Putting it on your site

Hand over one link.

Every video gets a link like this. Set allowed sites to restrict where it can be embedded.

nulx.dev/watch/9f2ab41cd07e4c83

What one video costs

Upload one 1m 40s video

Upload and preparation
included in the monthly fee
One month of storage (about 500MB)
about $0.01 · paid to the storage provider
100,000 plays
no extra NULX charge
NULX bill
Monthly fee only

An example. Put your own numbers into the calculator below for a real figure.

When you need numbers Work out a month for our usage

See the price first

What would your video usage cost each month?

Choose viewing time and library size to see the estimated monthly cost.

Library size

Estimated monthly total for the included items

$91.75

Estimated NULX bill
$67.00
Estimated cloud storage and delivery
$24.75
Estimated monthly total
$91.75

For this setup, 85% lower than CF Stream $538.25/mo saved Based on the selected viewing, library, and caption settings

NULX and your selected cloud provider bill these amounts separately. Request operations and tax are additional.

More detail See how the estimate was calculated

Based on 8,000 hours of monthly viewing

Cloudflare Stream Bunny Stream NULX NULX + Cloudflare R2
Platform & processing — — $19.00
Storage $150.00 $16.50 —
Delivery $480.00 $60.00 —
Captions — $240.00 $48.00
Your cloud (storage + delivery) — — $24.75
Total cost of ownership $630.00 $316.50 $91.75

Break-even: about ~2,000 monthly viewing hours vs. CF Stream
About ~8,000 vs. Bunny Stream (captions off; turning captions on brings this forward. Varies with your primary viewer region)

Currency USD $ All prices and payments are in US dollars (USD)

          
        
How we calculated this

These use each provider's publicly listed pricing, checked 2026-08, not a quote. Verify against your own Cloudflare and vendor bill.

  • Watching an hour at 1080p uses about 1.5GB.
  • Storage is billed on source + renditions combined, using a 2.2x multiplier for a 1080p rendition ladder. Archiving originals and trimming renditions can cut this by roughly 30–40%.
  • All prices and payments are in US dollars (USD). Displayed amounts are not converted into other currencies.

NULX + your cloud

  • Platform + encoding: $19/mo flat, includes 40 encoding hours. When they run out, new encoding pauses with no extra charge. Only accounts that asked for a higher limit pay $0.60/hour past them for NULX managed encoding; customer-cloud or desktop encoding is quoted on request
  • Captions: $0.02/min transcription
  • Your cloud: storage + delivery at your chosen provider's list rates (operations excluded)

Cloudflare Stream

  • Storage: $5 per 1,000 minutes stored
  • Delivery: $1 per 1,000 minutes streamed
  • Captions: not offered by CF Stream

CF Stream bills stored minutes of source video, not source+rendition GB like the other columns; shown as published, not adjusted.

Bunny Stream

  • Storage: $0.01/GB-month (source + renditions)
  • Delivery: $0.005/GB (EU/NA) · $0.03 (Asia/Oceania) · $0.045 (South America). Bunny's published per-region rates, checked 2026-08-03
  • Captions: $0.10/min

All rates above are publicly listed pricing, checked 2026-08.

Pricing

Pick a plan by how much video you upload each month.

Each plan includes monthly encoding hours. More views never raise your NULX bill. The calculator above has the exact figures.

Starter

$19/ month

For solo operators and small teams starting a video library.

  • 40 hours/month of encoding included (by uploaded video length)
  • When they run out, new encoding pauses; no extra charge
  • Unlimited storage connections
  • Up to 3 team seats
  • Signed playback and allowed-domain restrictions
  • Captions and translation use included AI credits first

Enterprise

Custom quote

For teams needing custom usage limits and billing terms.

  • Video storage architecture and migration plan
  • Processing limits sized to your workload
  • Deployment verification and dedicated support
  • 4K bulk desktop uploader
  • Existing-service and protected-playback integration

Signing up gets you a look without a card: 2 hours of video preparation a month and up to 1 connected storage. Run out and new uploads pause instead of adding charges, and that is when you move up to a plan above.

When is anything charged on top?

  • The monthly fee is fixed. When the included encoding hours are used up, new encoding pauses for the rest of the month; nothing extra is billed automatically.
  • Encoding hours are the total length of the videos you upload that month. Views, watch time and the number of quality levels don't count.
  • Need more? Move to Team or ask for a higher limit. Only accounts that asked for a higher limit pay for hours past the included ones: $0.60/hour on Starter, $0.45/hour on Team.
  • Optional caption generation and translation are billed only on success, by video length rounded up to whole minutes; translation is charged per target language.
  • Storage and delivery are billed by the storage provider you connect (such as Cloudflare), not by NULX.

Optional caption work

Credits are deducted only on success, by video length rounded up to the next whole minute. Translation uses credits separately for each target language.

Automatic captionsOptional at upload; unchecked by default.
$0.02 / video minute
Subtitle translationUses existing subtitles, including your edits.
$0.03 / video minute / target language

Starter includes 300 AI credits a month and Team includes 1,000.

1,000 credits cover about 8h 20m of captions, 5h 33m of translation, or 3h 20m of both.

1 credit = US$0.01. Captions use 2 credits per video minute; translation uses 3 credits per video minute for each language. Only successful work is charged; a failed job returns its credits. Plan credits renew every month and do not roll over.

Who NULX is for

When video is part of the business.

For teams with a growing library that want direct control over ownership, access, and predictable monthly costs.

Good fit

  • You run courses, membership content, or product video
  • You need reliable large-file upload and management
  • Ownership of sources and outputs matters
  • You want pricing that is separate from view count

Not a fit

  • Very small video usage, where a flat bundled plan is cheaper
  • You do not want to manage separate video storage
  • You need a full OTT CMS with merchandising and apps
  • You want one vendor accountable for every layer

FAQ

Common questions before you start.

What kind of service is NULX?

NULX is video hosting for large uploads, playback preparation across devices and networks, captions, access control, and usage management.

Can I start without a developer?

Yes. Follow the on-screen guide to connect storage and upload video. If you need migration or members-only playback, request an onboarding review.

Does automatic quality upscale the source?

No. NULX prepares the quality levels needed for phones and computers without exceeding the source resolution.

What happens to my video if I cancel NULX?

Sources and playback files remain in customer-owned storage. Membership, billing, and service-specific metadata may still need a separate migration plan.

What does a protected link do?

It can expire after a set time and be limited to approved sites. It is not dedicated DRM and cannot prevent screen recording.

If viewing grows, does the NULX bill really stay flat?

NULX does not add a per-view charge. Your chosen third-party storage or delivery service may still charge separately.

Can I migrate video from another service?

Yes, by re-uploading the masters. There is no one-click importer today; for large archives ask us and we will scope it.

How is the cost calculated?

Your NULX bill covers the plan, processing beyond included hours, and automatic captions you enable. Third-party storage and delivery costs are billed separately.

Free to start

Try it with one video first.

An email address is all it takes. No card, nothing to install.