Cette page est affichée en anglais. Une traduction française est en cours.
SkillsApr 16, 2026·3 min de lecture

imgproxy — Fast Secure Image Processing Server in Go

Resize, crop, and convert images on-the-fly with imgproxy. A blazing-fast Go server powered by libvips for production-grade image transformation at scale.

Prêt pour agents

Installation agent prête

Cet actif peut être installé après choix du runtime, vérification du plan et exécution de la commande adaptée.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
imgproxy Image Server
Commande d'installation directe
npx -y tokrepo@latest install 74551bbd-3939-11f1-9bc6-00163e2b0d79 --target codex

À exécuter après confirmation du plan en dry-run.

TL;DR
imgproxy resizes, crops, and converts images on-the-fly using libvips for production-grade performance.
§01

What it is

imgproxy is a standalone image processing server written in Go and powered by libvips. It resizes, crops, and converts images on-the-fly via URL parameters, eliminating the need for pre-generated image variants. You point it at your source images (S3, GCS, local filesystem), and it serves transformed versions in real time.

Frontend developers, platform engineers, and content teams use imgproxy to deliver optimized images without maintaining a build pipeline for every size and format combination.

§02

How it saves time or tokens

imgproxy removes the need to pre-generate dozens of image variants (thumbnails, retina, WebP, AVIF) at upload time. Instead, you request the exact dimensions and format you need via URL parameters, and imgproxy generates them on demand with caching. This eliminates storage bloat and the engineering overhead of image processing pipelines.

§03

How to use

  1. Deploy imgproxy using Docker with your image source configuration (S3 bucket, local path, or HTTP origin).
  2. Construct URLs with transformation parameters (resize, crop, format) following the imgproxy URL format.
  3. Point your frontend image tags or CDN origin to the imgproxy endpoint.
§04

Example

# Run imgproxy with Docker
docker run -p 8080:8080 \
  -e IMGPROXY_USE_S3=true \
  -e AWS_ACCESS_KEY_ID=your_key \
  -e AWS_SECRET_ACCESS_KEY=your_secret \
  darthsim/imgproxy
# URL format for resizing an image
http://localhost:8080/insecure/rs:fill:300:200/plain/s3://my-bucket/photos/original.jpg@webp

# Resize to 300x200, fill mode, convert to WebP
# rs: = resize, fill = crop to fit, @webp = output format
§05

Related on TokRepo

§06

Common pitfalls

  • Not enabling URL signing in production, which allows anyone to generate arbitrary transformations and potentially overload your server.
  • Forgetting to set memory limits, since processing very large images can consume significant RAM.
  • Serving imgproxy directly without a CDN in front, which defeats the purpose of on-the-fly generation by reprocessing the same image on every request.

Questions fréquentes

How does imgproxy compare to Cloudinary or Imgix?+

imgproxy is self-hosted and open source, so you control your infrastructure and pay no per-image fees. Cloudinary and Imgix are SaaS products with built-in CDNs and more transformation options. Choose imgproxy when you want full control and cost predictability.

What image formats does imgproxy support?+

imgproxy supports JPEG, PNG, WebP, AVIF, GIF, TIFF, BMP, and ICO for input. Output formats include JPEG, PNG, WebP, and AVIF. Format conversion happens automatically based on URL parameters.

Does imgproxy cache processed images?+

imgproxy itself does not cache, but it sets proper Cache-Control headers. You should place a CDN or reverse proxy (Nginx, Varnish) in front of imgproxy to cache processed images at the edge.

Can imgproxy handle SVG files?+

imgproxy can rasterize SVG files to bitmap formats. However, SVG processing has security implications, so it is disabled by default and must be explicitly enabled in the configuration.

Is imgproxy production-ready?+

Yes. imgproxy is used in production by many organizations. It is built on libvips, which is the fastest image processing library available, and the Go server handles concurrent requests efficiently with low memory overhead.

Sources citées (3)

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires