Skip to content
Keenpix docs

Documentation

Self-hosted, drop-in image optimization. One image endpoint, no SDK, no API key in your image URLs.

Keenpix is a self-hosted image-optimization service — an open-source alternative to ImageKit, imgix, and Cloudinary. Its public transform API is a single HTTP endpoint that fetches an image from your origin, transforms it with sharp (resize, crop, filter, and re-encode), optimizes SVG explicitly with fmt=svg, caches the result on disk, and serves it behind a long-lived, immutable Cache-Control.

There's no SDK to install and no API key in your image URLs — a request is just a URL:

<img
  src="https://keenpix.example.com/img/https://cdn.example.com/hero.jpg?project=PROJECT_ID&w=1200&fmt=auto"
  alt="Hero"
/>

Start here

  • Quickstart — your first optimized image in two minutes.
  • How it works — the request lifecycle, caching, and security model.
  • Frameworks — drop Keenpix into Next.js, Nuxt, TanStack Start, SvelteKit, Astro, and more.
  • API reference — transform parameters, response headers, and the authenticated SDK API.
  • Self-hosting — deploy with Docker in about a minute.

Why Keenpix

  • Drop-in. Any framework that renders an <img> works — no rewrite required.
  • Self-hosted. Runs as a single container on your own infrastructure; put a configured CDN in front of it.
  • Keyless. Access is gated by a per-project domain allowlist, not by secrets.
  • Built-in analytics. Every origin request is logged, and optional Cloudflare edge analytics show the cache layer in front.

On this page