Skip to main content
SaaS products

Video infrastructure you can put your own product in front of.

If video is a feature inside your application, you need an API, webhooks and playback on your own domain - not a vendor's watch page.

Short answer

An API and webhooks over storage you control.

Upload through a REST API, get webhooks when jobs change state, and issue signed playback URLs from your own backend. The output lands in your own R2 bucket, so your customers' video is inside your infrastructure rather than a third party's account.

That last point tends to matter in enterprise sales: answering "where does our video actually live?" with your own cloud account is a shorter conversation than naming a vendor.

Estimate this workload in the calculator See how BYO storage works

Integration surface

What you build against.

The pieces that make video a feature rather than an embed.

REST API for ingest

POST a source and manage assets programmatically. No manual step in your product's workflow.

Webhooks on state change

Job started, finished, failed. Your application updates its own UI rather than polling.

Backend-issued playback

Your server decides who may watch and requests a signed URL accordingly, so authorisation follows your own permission model.

Multi-tenant shape

How customer video maps onto storage.

Concern Approach Why
Isolation Per-tenant prefix in your bucket Keeps one customer's objects addressable separately
Credentials Scoped R2 API token NULX only reaches the prefixes the token allows
Deletion Delete objects under the prefix Removal is in your control, not a support ticket
Cost attribution Per-prefix storage metrics Bill your own customers from your own numbers
Playback auth Your backend signs Authorisation matches your permission model

This is the arrangement BYO storage makes possible: the storage account, the deletion path and the audit trail belong to you rather than to a video vendor.

Common questions

Integration questions.

Can NULX see my customers' video?

Only the prefixes your API token allows. During managed encoding a worker reads the source through a limited signed URL and writes output back. Credentials are encrypted and never displayed again after saving.

What happens if a job fails?

A webhook fires with the failure state so your application can surface it. Failures are visible rather than silent.

Is there a sandbox?

Sign in and connect a test bucket. There is no card required to try the pipeline end to end.

Can we self-host the pipeline?

That is an enterprise conversation rather than a self-serve plan. Ask and we will scope it honestly.

Sources

Rates checked September 10, 2026 · Page updated September 10, 2026

Next step

Estimate at your tenancy.

Model aggregate customer storage and viewing to see what the platform layer costs.