Skip to main content

AI video operations · Your own storage

Paste once into Codex desktop. Then ask it to upload, caption and share your videos. Source and playback files stay in your own storage.

Approve access in your browser · Review paid work first · Keep your video files in your own cloud

Start in the web dashboard
Codex desktop Simulation

Upload lecture-03.mp4 and make a PIN-protected share link that expires in 7 days.

✳ Codex
  1. Checked your connected storage and upload limits.
  2. Transferred the video file.
  3. Verified encoding finished and playback is ready.
  4. Created a PIN-protected share link for 7 days.
lecture-03.mp4Ready to play · PIN protected · Expires in 7 days

60-second tour

Watch NULX run video ops from one sentence.

Watch NULX run video ops from one sentence.

Watch on YouTube

Start with one copy and paste.

Paste into Codex desktop

Copy the setup request into a new chat. Your AI checks the connection and configures what is needed.

View the request
Install and set up NULX so I can use it from this desktop AI.
First read https://nulx.dev/nulx-setup.txt and follow the instructions for this app.
The MCP server is https://nulx.dev/mcp. Reuse an existing connection instead of reinstalling.
Preserve existing settings and perform the setup you can. Only ask me to handle steps that need me, such as sign-in and consent. Never ask for passwords or secret keys in chat.
After connecting, call nulx_get_setup_status and nulx_get_plan_usage and continue with initial setup. Confirm the storage account, domain, changes and costs with me first.
Do not perform paid work, public sharing, deletion or payment without separate approval. Verify the actual connection and report completed and remaining steps. If tools are unavailable, explain the next action instead of claiming success.

Sign in and approve access

Sign in to NULX in the browser your AI opens and allow access. If storage is needed, confirm the account and costs.

Then ask for uploads, captions and sharing in conversation.

Setup guide for AI
Connect with Claude Desktop

An AI with computer access can help with connector settings. In regular chat, open settings below, add NULX with https://nulx.dev/mcp, and complete sign-in and consent yourself.

Open Claude connector settings

Local uploads need an AI that can read and transfer your file, such as Codex CLI or Claude Code. In web chat, upload on the NULX website. You can apply separately to use the desktop uploader.

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.

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.

From a request to a checked result

Connect, ask, verify.

Start in your AI conversation and approve the steps that need your decision.

  1. 01 Connect your AI

    Sign in to NULX and choose the permissions to grant. Approve Cloudflare in the browser when storage setup needs it.

  2. 02 Say what you need

    Ask for an upload, subtitles or a share link. Your AI checks the file, access rules and costs before carrying out the approved work.

    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 Check the result

    Your AI reads the actual upload, subtitle and playback state, then gives you the result and anything left to finish.

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 cost (NULX + your Cloudflare)

$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 you can operate from Claude, Codex or another connected AI. Ask for storage setup, uploads, subtitles, protected sharing and usage checks. Sources and playback files stay in your own cloud storage.

Can I start without a developer?

Connect your AI and approve access in the browser. Optional storage permission lets it configure protected R2 with a Cloudflare account you approved. Local uploads need an AI that can transfer files; in web chat, use the NULX uploader. Membership-site integration may still need a developer.

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

Start with your AI and one video.

Connect on Free and ask for a setup check. Optional subtitles use AI credits, and your storage provider bills storage and delivery separately.