Self-hosted media CDN

A professional storage layer for your media

Bucket organization, on-the-fly image transforms, multipart uploads and signed URLs — one API, your infra.

GET cdn.sentroy.com/f/<media-id>/large
HTTP/2 200 OK
Cache-Control: public, max-age=31536000, immutable
Content-Type: image/webp
X-Sentroy-Bucket: brand-assets
X-Sentroy-Transform: w=1200,fmt=webp,q=82
ETag: "9c2a6f1b4d8e3a"
Vary: Accept

Features

Built for production

Brand assets, user uploads and internal media — all behind one origin.

Bucket organization

Per-company isolated buckets, public/private visibility, slug-based routing.

On-the-fly transforms

Resize, format conversion (WebP/AVIF), quality, smart-crop — driven by URL params.

Multipart upload

3-parallel pool for large files, automatic resume; survives a tab close.

Edge cache

Immutable cache headers, geo distribution, hash-resistant URLs — cold cache is rare in practice.

Signed URLs

Time-bound, scoped access — leak-resistant tokens for private buckets.

One-import SDK

TypeScript, Python, Go and PHP — every endpoint typed, with examples.

How it works

Three steps to live

01

Create a bucket

From the dashboard or SDK — pick visibility and access policy.

02

Upload

Drag-and-drop, multipart upload, or SDK. Crop and tweak inline.

03

Serve

Direct CDN URL, transform via query params, immutable cache headers.

SDK

One package, all storage

Multipart upload, transforms, bucket management — single import.

upload.tsts
import { Sentroy } from "@sentroy-co/client-sdk"

const sentroy = new Sentroy({
  baseUrl: "https://sentroy.com",
  companySlug: "acme",
  accessToken: process.env.SENTROY_TOKEN!,
})

// Multipart upload (3-paralel pool, otomatik)
const media = await sentroy.media.upload({
  bucket: "brand-assets",
  file: imageBlob,
  filename: "hero.png",
})

// Anında CDN URL — hash-resistant cache
console.log(media.publicUrl)
// → https://cdn.sentroy.com/f/m_9c2a.../original

Pricing

Generous free tier

Looking for a self-hosted alternative? Start small, grow as you ship.

  • 10 GB free storage, unlimited buckets
  • 100K monthly image transform requests
  • CDN and signed URLs on every plan
Create your account