gm is a JavaScript image processing library and Node.js manipulation tool that serves as a programmatic wrapper for the GraphicsMagick engine. It translates JavaScript method calls into shell commands to automate the resizing, cropping, and transformation of images.
The library provides an interface to execute specific GraphicsMagick operations while allowing raw command passthrough for custom arguments or engine features not covered by the standard API.
Its capabilities cover geometric manipulation, color and tone adjustment, and image quality optimization. It includes tools for image compositing, montage creation, and drawing graphics or text, as well as utilities for metadata extraction and image comparison for visual regression testing. Data can be handled via buffers, streams, or remote URLs.