Need help with wizardry?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

121 Stars 7 Forks Other 44 Commits 2 Opened issues


A task-based node.js library for GraphicsMagick / ImageMagick.

Services available


Need anything else?

Contributors list


Wizardry is a task-based library for GraphicsMagick / ImageMagick that focuses on simplicity and getting one thing done right: processing images.

Travis Status


Before installing the module, you will need either GraphicsMagick or ImageMagick installed. If you use homebrew, it can be even simpler, with either just

brew install graphicsmagick
brew install imagemagick
. GraphicsMagick is recommended, as wizardry uses GraphicsMagick by default. After one of them is installed, run:
npm install wizardry

Basic Usage

var wizardry = require('wizardry');
var task = require('./path/to/your/task.json')

// Easy as one line. wizardry(['path/to/image.png'], task, callback);

Wizardry requires an array of image(s) to process. It expects that they are valid file paths.

Command line usage

wizardry -i path/to/image.png -t path/to/your/task.json

Task file

A task file in wizardry is a JavaScript object (a .json file works great) that defines each of the commands to be run on an image. They are run in the order listed. It also provides configuration, such as the amount of processes to run, the output directory, and which library to use. If a library is not specified, it will default to GraphicsMagick.

Example task file

    "commands": {
        "modulate": "115, 0, 100",
        "colorize": "7, 21, 50"
    "processes": 10,
    "library": "imagemagick",
    "outputDirectory": "/foo/bar/folder"


npm test

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.