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.