# imazen/imageflow

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/imazen-imageflow).**

4,402 stars · 145 forks · Rust · AGPL-3.0

## Links

- GitHub: https://github.com/imazen/imageflow
- Homepage: https://docs.imageflow.io/
- awesome-repositories: https://awesome-repositories.com/repository/imazen-imageflow.md

## Topics

`image-compression` `image-manipulation` `image-server` `imagemagick` `lib` `tool`

## Description

Imageflow is a high-performance image manipulation library and composition engine available as a C-compatible library, a command-line image processor, and a dynamic image processing server. It provides the means to decode, encode, and apply complex visual transformations to images through programmatic interfaces, JSON job files, or on-the-fly URL query strings.

The system distinguishes itself through a graph-based processing pipeline that allows for single-pass multi-format encoding, generating multiple image sizes and formats from a single decode to reduce overhead. It further features a resource-constrained decode engine that enforces strict memory and dimension limits to prevent resource exhaustion and denial-of-service attacks.

The project covers a broad range of manipulation capabilities, including dimension resizing, cropping, rotation, and color filtering. It supports advanced composition tasks such as watermarking, blank canvas generation, and geometric shape rendering, alongside automated color correction and white balance adjustments using histogram analysis.

The core logic is exposed via foreign function interface bindings for cross-language integration.

## Tags

### User Interface & Experience

- [Programmatic Manipulation Libraries](https://awesome-repositories.com/f/user-interface-experience/ui-components/image-view-components/image-manipulation-tools/programmatic-manipulation-libraries.md) — Provides a high-performance C-compatible library for integrating image processing directly into applications.
- [Canvas Padding](https://awesome-repositories.com/f/user-interface-experience/background-fill-colors/canvas-padding.md) — Adds colored borders or fills empty space when fitting images into specific dimensions. ([source](https://docs.imageflow.io/querystring/transforms.html))
- [White Balance Adjusters](https://awesome-repositories.com/f/user-interface-experience/color-management-systems/color-temperature-managers/white-balance-adjusters.md) — Corrects image color balance using histogram area threshold analysis in sRGB color space. ([source](https://docs.imageflow.io/json/white_balance_srgb.html))
- [Alpha Transparency Adjustments](https://awesome-repositories.com/f/user-interface-experience/color-systems/color-rendering-adjustments/color-saturation-adjusters/image-property-adjusters/alpha-transparency-adjustments.md) — Adjusts alpha transparency levels and blends images against background colors. ([source](https://docs.imageflow.io/querystring/examples.html))
- [Color Adjustments](https://awesome-repositories.com/f/user-interface-experience/color-systems/color-rendering-adjustments/color-saturation-adjusters/image-property-adjusters/color-adjustments.md) — Transforms image colors using grayscale, sepia, inversion, and adjustments to brightness, contrast, and saturation. ([source](https://docs.imageflow.io/json/color_filter_srgb.html))

### Web Development

- [Dynamic Image Services](https://awesome-repositories.com/f/web-development/dynamic-image-services.md) — Acts as a dynamic image service that transforms assets on the fly based on request parameters. ([source](https://cdn.jsdelivr.net/gh/imazen/imageflow@main/README.md))

### Artificial Intelligence & ML

- [Image Processing Resource Limits](https://awesome-repositories.com/f/artificial-intelligence-ml/encoder-decoder-architectures/exhaustive-decoding-strategies/image-processing-resource-limits.md) — Sets maximum decode, encode, and frame size limits to prevent system resource exhaustion. ([source](https://docs.imageflow.io/json/introduction.html))
- [Cropping and Padding](https://awesome-repositories.com/f/artificial-intelligence-ml/convolutional-operations/input-padding-utilities/padding-maskers/spatial-image-padding/cropping-and-padding.md) — Provides capabilities to extract rectangular areas using pixel or percentage coordinates while adding padding. ([source](https://docs.imageflow.io/json/region.html))

### Part of an Awesome List

- [On-the-Fly Transformations](https://awesome-repositories.com/f/awesome-lists/media/image-manipulation/on-the-fly-transformations.md) — Provides a service for resizing, cropping, and filtering images on the fly via URL parameters.
- [Region Copying](https://awesome-repositories.com/f/awesome-lists/media/pixel-level-image-manipulation/regional-image-processing/region-copying.md) — Copies specific rectangular areas from one image and places them at designated coordinates on a target canvas. ([source](https://docs.imageflow.io/json/copy_rect_to_canvas.html))

### Data & Databases

- [Image Transformation Proxies](https://awesome-repositories.com/f/data-databases/file-storage-and-metadata-management/image-transformations/image-transformation-proxies.md) — Implements a server that fetches remote images, applies transformations, and returns the processed result.
- [Real-Time Image Processing](https://awesome-repositories.com/f/data-databases/real-time-event-processing/real-time-image-processing.md) — Executes high-performance image manipulations and filters on a server to deliver results in real time.

### Development Tools & Productivity

- [Batch Image Processors](https://awesome-repositories.com/f/development-tools-productivity/batch-image-processors.md) — Ships a command-line tool for automating batch image processing using JSON job files and operation graphs.
- [Transformation](https://awesome-repositories.com/f/development-tools-productivity/build-graph-processors/graph-definitions/transformation.md) — Defines image transformation operation graphs using query strings or JSON files to generate multiple outputs. ([source](https://cdn.jsdelivr.net/gh/imazen/imageflow@main/README.md))

### Graphics & Multimedia

- [Image Composition](https://awesome-repositories.com/f/graphics-multimedia/image-composition.md) — Implements an engine for creating multi-image compositions, watermarks, and canvases with configurable blending.
- [Image Decoding](https://awesome-repositories.com/f/graphics-multimedia/image-decoding.md) — Implements image decoding with support for decoder hints and color profile management. ([source](https://docs.imageflow.io/json/decode.html))
- [Dimension Resizing](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-processing/dimension-resizing.md) — Adjusts image dimensions using widths, heights, or ratios while controlling upsampling and aspect ratio. ([source](https://docs.imageflow.io/querystring/transforms.html))
- [Single-Pass Multi-Variation Generation](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-processing/multi-image-sample-processing/single-pass-multi-variation-generation.md) — Generates several different image sizes and formats in a single job to minimize redundant decoding. ([source](https://docs.imageflow.io/json/graph.html))
- [Image Format Encoding](https://awesome-repositories.com/f/graphics-multimedia/image-format-encoding.md) — Converts raw pixel data into various standardized raster image file formats using predefined presets. ([source](https://docs.imageflow.io/json/encode.html))
- [Image Scaling](https://awesome-repositories.com/f/graphics-multimedia/image-output-configurations/image-scaling.md) — Scales image dimensions using sampling filters and color space configurations. ([source](https://docs.imageflow.io/querystring/filters.html))
- [Image Processing Libraries](https://awesome-repositories.com/f/graphics-multimedia/image-processing-libraries.md) — Offers a high-performance library for programmatic image decoding, encoding, and complex visual transformations.
- [Image Processing Pipelines](https://awesome-repositories.com/f/graphics-multimedia/image-processing-pipelines.md) — Sequences image operations using linear steps or complex graphs to produce multiple output sizes. ([source](https://docs.imageflow.io/print.html))
- [Decoding Resource Constraints](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-decoders/decoding-resource-constraints.md) — Enforces strict memory and dimension limits during decoding to prevent resource exhaustion and DoS attacks.
- [Node-Graph Pipelines](https://awesome-repositories.com/f/graphics-multimedia/node-graph-pipelines.md) — Uses a node-graph pipeline to produce multiple image outputs from a single decode operation.
- [URL-Driven Image Transformations](https://awesome-repositories.com/f/graphics-multimedia/url-driven-image-transformations.md) — Modifies image dimensions, cropping, and quality in real-time using parameters embedded in the request URL. ([source](https://docs.imageflow.io/querystring/introduction.html))
- [Batch Image Processing](https://awesome-repositories.com/f/graphics-multimedia/batch-image-processing.md) — Automates image manipulation tasks across large sets of files using command-line scripts. ([source](https://docs.imageflow.io/))
- [Canvas Compositing](https://awesome-repositories.com/f/graphics-multimedia/canvas-image-positioning/canvas-compositing.md) — Allows placing source images onto a canvas at specific coordinates using advanced sharpening and blending modes. ([source](https://docs.imageflow.io/json/draw_image_exact.html))
- [Command-Line Image Manipulation](https://awesome-repositories.com/f/graphics-multimedia/command-line-image-manipulation.md) — Provides a command-line tool for executing image processing tasks within automation scripts and batch jobs. ([source](https://docs.imageflow.io/introduction.html))
- [Composite Image Generation](https://awesome-repositories.com/f/graphics-multimedia/composite-image-generation.md) — Defines multi-image compositions or generates multiple variations of an image within a single structured request. ([source](https://docs.imageflow.io/))
- [Grayscale Conversion Filters](https://awesome-repositories.com/f/graphics-multimedia/grayscale-conversion-filters.md) — Provides monochrome image effects using NTSC and BT709 weighting methods. ([source](https://docs.imageflow.io/querystring/examples.html))
- [Downsampled Decoding](https://awesome-repositories.com/f/graphics-multimedia/image-decoding/downsampled-decoding.md) — Downscales images during the decoding process to reduce memory consumption and increase rendering speed. ([source](https://docs.imageflow.io/print.html))
- [Dimension-Constrained Resizing](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-editors/image-cropping-tools/dimension-constrained-resizing.md) — Resizes or crops images to specific dimensions using contain, cover, and aspect-ratio modes. ([source](https://docs.imageflow.io/json/constrain.html))
- [Remote Processing Offloading](https://awesome-repositories.com/f/graphics-multimedia/image-editing-processing/image-processing/remote-processing-offloading.md) — Offloads image manipulation tasks to a remote server via URL query strings or JSON requests. ([source](https://docs.imageflow.io/))
- [Resampling Filter Tuning](https://awesome-repositories.com/f/graphics-multimedia/image-filters/resampling-filter-tuning.md) — Controls sharpness and filter algorithms during scaling and compositing to balance quality and speed. ([source](https://docs.imageflow.io/json/resampling_hints.html))
- [Fixed Angle Rotations](https://awesome-repositories.com/f/graphics-multimedia/image-orientation-manipulators/fixed-angle-rotations.md) — Rotates images by ninety-degree increments and mirrors them horizontally or vertically. ([source](https://docs.imageflow.io/json/rotate_flip.html))
- [Image Trimming](https://awesome-repositories.com/f/graphics-multimedia/image-trimming.md) — Removes outer edges of images using absolute coordinates, percentage offsets, or automatic whitespace detection. ([source](https://docs.imageflow.io/querystring/transforms.html))
- [Image Watermarking](https://awesome-repositories.com/f/graphics-multimedia/image-watermarking.md) — Overlays images as watermarks with configurable positioning, sizing, and opacity. ([source](https://docs.imageflow.io/json/watermark.html))
- [JSON-to-Image Compositors](https://awesome-repositories.com/f/graphics-multimedia/json-to-image-compositors.md) — Executes image manipulation and composition instructions defined within structured JSON job configurations. ([source](https://docs.imageflow.io/json/command_string.html))
- [Single-Pass Multi-Format Encoding](https://awesome-repositories.com/f/graphics-multimedia/single-pass-multi-format-encoding.md) — Generates various image sizes and formats from a single decoded source to minimize redundant processing overhead.

### Networking & Communication

- [Image Processing Servers](https://awesome-repositories.com/f/networking-communication/http-clients/http-servers/image-processing-servers.md) — Provides a dynamic image processing server that transforms images based on URL query strings.

### Operating Systems & Systems Programming

- [C Libraries](https://awesome-repositories.com/f/operating-systems-systems-programming/c-libraries.md) — Provides a high-performance C library for direct binary linking of image manipulation capabilities into applications. ([source](https://docs.imageflow.io/introduction.html))

### Programming Languages & Runtimes

- [Foreign Function Bindings](https://awesome-repositories.com/f/programming-languages-runtimes/foreign-function-bindings.md) — Exposes core manipulation logic to external languages through foreign function interface bindings. ([source](https://cdn.jsdelivr.net/gh/imazen/imageflow@main/README.md))
- [Foreign Function Interfaces](https://awesome-repositories.com/f/programming-languages-runtimes/foreign-function-interfaces.md) — Exposes core manipulation logic via foreign function interfaces for integration into multiple programming languages.

### Security & Cryptography

- [Image Dimension Constraints](https://awesome-repositories.com/f/security-cryptography/denial-of-service-prevention/image-dimension-constraints.md) — Restricts maximum width, height, and megapixels for image operations to prevent denial-of-service attacks. ([source](https://docs.imageflow.io/json/security.html))
