Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A task-based node.js library for GraphicsMagick / ImageMagick.
branch: master
Failed to load latest commit information.
bin Tweaks and cleanup.
lib Refactor and cleanup wizardry.
tasks Remove library from sepia.json
test Remove task.format
.gitignore Initial commit
.travis.yml Make travis not test gh-pages branch Add license file
package.json 0.1.3 - Refactoring and dependency updates.
wizardry.png Oops, add file...


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 or 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
Something went wrong with that request. Please try again.