Esta página se muestra en inglés. Una traducción al español está en curso.
SkillsApr 16, 2026·3 min de lectura

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.

Listo para agents

Instalación lista para agent

Este activo puede instalarse después de elegir el runtime, revisar el plan y ejecutar el comando correspondiente.

Native · 98/100Política: permitir
Superficie agent
Cualquier agent MCP/CLI
Tipo
Skill
Instalación
Single
Confianza
Confianza: Established
Entrada
imgproxy Image Server
Comando de instalación directa
npx -y tokrepo@latest install 74551bbd-3939-11f1-9bc6-00163e2b0d79 --target codex

Ejecutar después de confirmar el plan con 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.

Preguntas frecuentes

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.

Referencias (3)

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados