Skip to content

Crunch

Batch image processing pipeline, 11+ formats

A job queue manager that batch-processes images — converts, resizes, compresses, watermarks, applies effects, then stores results back to S3.

  • Docker container
  • Kubernetes Helm chart
  • 6 queue backends
  • 4 object-store backends
  • 7 notification drivers
  • 1 cache engine
  • REST API + OpenAPI 3.0.3
  • Realtime WebSocket channels
  • MCP server for AI agents
  • Single Go binary — zero external deps
Crunch screenshot

Crunch orchestrates complex image workflows. Queue jobs, distribute to workers, and compose pipelines in YAML without code. Convert PNG to WebP and AVIF in one job. Resize, optimize, watermark in parallel. Strip or extract metadata. Perfect for photo galleries, e-commerce catalogs, content distribution, and anything processing images at scale.

Crunch
What it does

Key features

Format conversion across PNG, JPG, WebP, AVIF, GIF, TIFF, BMP, JPEG XL, HEIF, and more

Multi-pass optimization: pngquant + optipng, mozjpeg, cwebp, avifenc, gifsicle

Resize by dimensions, percentage, width-only, or height-only with aspect-ratio preservation

Fast thumbnails via vipsthumbnail

Watermark compositing with position and opacity control

Grayscale, sepia, rotate, flip, crop, auto-orient, and metadata extraction

EXIF-aware rotation and optional stripping

YAML-composed task pipelines — no code to build workflows

Redis job queue with completion webhooks

Crunch
Why it's different

Where it goes beyond the obvious

YAML task composition lets non-developers build image workflows

Coverage across 11+ formats and specialist tools in one pipeline

Watermark + metadata extraction via ImageMagick integration

Tech highlights

  • Tools: ImageMagick, libvips, pngquant, mozjpeg, cwebp, avifenc, gifsicle, libjxl, libheif, dcraw, librsvg, Ghostscript
  • Input: PNG, JPG, GIF, WebP, AVIF, BMP, TIFF, HEIF, JXL, SVG, PSD, EPS, RAW
  • Storage: S3/MinIO with signed URLs
  • Queue: Redis with webhooks

Built on

ImageMagicklibvipsmozjpegpngquantcwebpavifenccjxlheif-encgifsicledcrawlibrsvgGhostscript

REST API surface

  • POST /push Queue an image-processing job
  • GET /results Paginated results with status
  • GET /results/{id} One result with output URLs
  • GET /tasks 30+ tasks with availability flags
  • GET /workers Live worker state + log tail
  • WS /ws Real-time worker updates

Full spec at GET /openapi — Swagger UI at /swagger/

Your infrastructure

Backends you can actually pick from.

This service speaks the backends below natively. Swap with a single environment variable.

Queues

  • Redis
  • Kafka
  • RabbitMQ
  • STOMP
  • SQS
  • SNS

Cache

  • Redis

Object storage

  • S3
  • MinIO
  • Azure Blob
  • Local

Notifications

  • Slack
  • Discord
  • Teams
  • FCM
  • APNs
  • WebPush
  • Webhooks
Where it fits

Use cases

E-commerce photo pipelines converting catalog images for web and mobile

Content distribution optimizing images for multiple devices and CDNs

Photo hosting generating thumbnails and responsive image sets

Social platforms bulk-resizing and compressing user uploads

Print-on-demand pipelines converting and optimizing artwork for production

vs Image processing APIs and CDNs

Crunch vs Cloudinary, imgix, AWS Lambda + ImageMagick

Image processing that scales on your cluster, not on your invoice

Compare head-to-head
Patterns

Architecture patterns featuring this service

Same family

More in media

Ready when you are

Deploy Crunch. Today.

One Docker image. One compose stack. One afternoon to production. Crunch is waiting.