Video · CDN · Storage · Edge — self-hosted

Ship video &
deliver it on
infra you own.

Upload, transcode, stream, cache, and run code at the edge — one API-first platform. The power of Mux and Cloudflare Stream, without the per-minute pricing or egress bills.

8Microservices
60+REST Endpoints
4Delivery Primitives
100%Your Infrastructure
Layer 01
A full video pipeline
Video
Ingest, process, enrich, and stream — fully async, fully API-driven.

Ingest

Direct upload, resumable multipart, or pull-from-URL.

Transcode

Adaptive HLS ladder, quality presets, H.264/AAC, loudness normalization, MP4 renditions.

Thumbnails & storyboards

Poster frames plus scrubbing sprite sheets + storyboard.vtt.

Transcripts

Whisper-powered transcripts with VTT/SRT and timed segments.

Subtitles & chapters

Multi-language WebVTT tracks and chapter markers.

Clipping

Cut a sub-clip into a brand-new video, server-side.

Playback

Signed or public, short-lived tokens, adaptive HLS, poster.

Hosted player

Drop-in <iframe> embed — no SDK required.

Explore each platform layer
// The platform

Everything to ship and deliver video

Four layers, one control plane. No stitching together five vendors.

01
Video

A full video pipeline

Ingest, process, enrich, and stream — fully async, fully API-driven.

Ingest

Direct upload, resumable multipart, or pull-from-URL.

Transcode

Adaptive HLS ladder, quality presets, H.264/AAC, loudness normalization, MP4 renditions.

Thumbnails & storyboards

Poster frames plus scrubbing sprite sheets + storyboard.vtt.

Transcripts

Whisper-powered transcripts with VTT/SRT and timed segments.

Subtitles & chapters

Multi-language WebVTT tracks and chapter markers.

Clipping

Cut a sub-clip into a brand-new video, server-side.

Playback

Signed or public, short-lived tokens, adaptive HLS, poster.

Hosted player

Drop-in <iframe> embed — no SDK required.

02
Delivery

A CDN you control

Multi-tenant pull zones and object storage, cached at the edge with instant invalidation.

Pull zones

Map any hostname to an origin or a storage zone.

Cache control

Per-zone TTL and cache-bypass prefixes for dynamic paths.

Instant + granular purge

Drop the whole cache or exact paths in milliseconds.

Hotlink protection

HMAC-signed URLs with rotatable secrets.

CORS at the edge

Per-zone allow-origin, no origin round-trip.

Live edge analytics

Requests, egress, and cache hit-ratio per zone.

Storage zones

S3-style buckets, presigned uploads, CDN-fronted.

Edge rules

Ordered set-header / redirect / block rules at the edge.

03
Edge compute

Run code at the edge

Deploy JavaScript that executes in a V8 isolate next to your cache.

V8 isolates

Standard Deno.serve(handler) — no cold-start containers.

Instant deploys

Push code and invoke at /__fn/<id> in seconds.

Request rewriting

Auth, A/B, geo-routing, headers — at the edge.

Per-project isolation

Scoped, sandboxed, metered.

04
Control plane

Built for builders

Everything is a REST endpoint, scoped per project, with the operational surface you expect.

API keys & scopes

read / write / admin keys, created once, rotatable.

Webhooks

HMAC-signed, retried events (asset.ready, transcript.ready…).

Analytics & usage

Storage, views, by-status, per-day, top videos.

Team & roles

Invite teammates with scoped access.

Audit log

Every mutation recorded and queryable.

Self-serve auth

Signup, email verification, password reset.

// API-first

Every feature is an endpoint

~60 REST endpoints across videos, zones, storage, functions, webhooks, and the control plane — all scoped per project.

Ingest a video
curl -X POST https://api.ollanode.com/v1/videos \
  -H "authorization: Bearer $OLLA_KEY" \
  -d '{"title":"launch","source_url":"https://.../launch.mp4"}'
Spin up a CDN zone
curl -X POST https://api.ollanode.com/v1/zones \
  -H "authorization: Bearer $OLLA_KEY" \
  -d '{"hostname":"cdn.you.com","origin_url":"https://origin.you.com","cors":"*"}'
Deploy an edge function
curl -X POST https://api.ollanode.com/v1/functions \
  -H "authorization: Bearer $OLLA_KEY" \
  -d '{"name":"hello","code":"Deno.serve(()=>new Response(\"hi\"))"}'
Full API reference →
// Why own it

Mux-class features, none of the lock-in

Hosted SaaS
Ollanode
Pricing model
Per-minute + egress
Flat — your own VMs & storage
Egress bills
Metered, unpredictable
None beyond your provider
Data location
Their cloud
Your infrastructure
Source access
Closed
Full, permissive stack
Edge functions
Add-on / limited
Included
Vendor lock-in
High
None

Run your own video platform.

Sign in and create your first video in minutes. Bring your VMs and storage — keep your data and your margins.

Get started →