Asset Proxy

Serve media assets through one cached domain

Route images, videos, and files through Cachely. Assets stay cached close to users, existing transformations keep working, and bandwidth is tracked from one dashboard.

Fast cached delivery

Assets return from the edge after the first request, close to the user.

Bandwidth tracking and controls

Monitor usage per project, set limits, and stay ahead of overage costs.

Traffic controls

Screen suspicious requests before they consume origin bandwidth.

Video streaming and large files

Range requests are supported for video playback and large downloads.

Image transformations preserved

Width, format, and quality parameters are forwarded to the origin unchanged.

Works with any media origin

Use Cloudinary, Imgix, CMS asset hosts, or any HTTPS origin.

How it works

How an asset request flows through Cachely

  1. 1The browser requests your-project.cachely.io/path/to/image.png
  2. 2Cachely validates the file type, checks traffic controls, and confirms the project quota.
  3. 3On a cache hit, the asset returns from the edge. On a miss, Cachely fetches the origin and stores the response.
  4. 4The asset is served to the browser, and usage is recorded without slowing the response.

For developers

Generate your asset helper in one command

The Cachely SDK (@cachely-io/sdk) detects your framework, CMS provider, and package manager, then generates a typed helper for routing asset URLs through your edge domain.

What You Get

  • - Detects your framework — Next.js, Nuxt, Vite, or generic — from your project config
  • - Detects your provider — Prismic, Contentful, Sanity, Storyblok, Shopify, or generic
  • - Generates a typed helper for routing asset URLs through Cachely
  • - Updates .env.example with CACHELY_PROXY_URL

Install

Add the package once and use the same helper for every supported CMS.

Copy command

npx @cachely-io/sdk setup

Pass details up front to skip prompts

Use --yes for non-interactive mode, --tenant to bake your slug into the generated helper, and --dry-run to preview every action without touching disk.

npx @cachely-io/sdk setup --yes --tenant my-project --dry-run