# inkmap 0.1.0: repaint pen sketches in one ink colour

inkmap is a free command that repaints pen sketches so every one has the same ink on the same paper. Three 4 to 8 MB scenes took 0.32 seconds. Install with one cargo line.

An image model gives you pen sketches in a different blue each time. inkmap repaints them so they share one ink colour and one paper colour, and it keeps each line's weight. Three scenes of 4 to 8 MB went through it in 0.32 seconds on our machine.[1] How far apart were the raw sketches, and why write a tool instead of using a colour lookup?

## What do I get?

1. **One ink on one paper.** You give it `--ink` and `--paper`. Every pixel becomes that much of your ink on your paper. On eight generated scenes the ink hue went from a range of 227 to 235 degrees to 211 on all eight, and the darkness spread from 38.0 to 2.2 on a 0 to 255 scale.[3]
2. **The same line weight.** It repaints the colour and leaves the drawing alone.
3. **Many pictures in one command.** Pass as many files as you like, or a shell pattern such as `in/*.png`.
4. **Cutouts too.** A drawing on a transparent background keeps its transparency and takes your ink.
5. **JPEG, PNG and WebP.** The output has the format of the input.

## What does using it look like?

Three generated scenes, one command:

```
$ inkmap --ink '#6786A8' --out out in/*.png
in/qwen-image-3-pro-cafe.png -> out/qwen-image-3-pro-cafe.png  (paper 233, ink 13)
in/qwen-image-3-pro-lake.png -> out/qwen-image-3-pro-lake.png  (paper 229, ink 7)
in/qwen-image-3-pro-street.png -> out/qwen-image-3-pro-street.png  (paper 211, ink 15)
```

Each line shows the lightness, from 0 to 255, that inkmap measured for the paper and for the ink in the original. A transparent drawing says so:

```
$ inkmap --ink '#4C74A0' --out out cut.png
cut.png -> out/cut.png  (transparent cutout: ink recoloured)
```

The stroke in that test came out as `#4C74A0` and the empty pixels stayed transparent. Without `--out`, inkmap writes `name.ink.png` beside each input and leaves the original alone. If the paper and the ink are too close in lightness, it stops with an error instead of repainting something that is not a pen sketch.

## How do I install it?

You need Rust. Then:

```
cargo install --git https://github.com/mackenziebowes/inkmap --tag v0.1.0
```

That puts `inkmap` in `~/.cargo/bin`. The code is MIT licensed.[2]

WebP comes out lossless and so larger than it went in. Run the result through `cwebp` or `magick` before it goes on a page. How different were the eight raw sketches, and why not a colour lookup table? The measurements are in [how I gave every pen sketch the same ink colour](/posts/inkmap-one-ink-colour-for-every-pen-sketch).

If you're generating images with a model and want them to match, I'd like to see what you're making: mackenzie@mackenziebowes.com or [@_mackenziebowes](https://x.com/_mackenziebowes).

## Sources

1. inkmap, MIT licence, Mackenzie Bowes, README. <https://github.com/mackenziebowes/inkmap>
2. inkmap v0.1.0, published 2026-10-28T02:03Z. <https://github.com/mackenziebowes/inkmap/releases/tag/v0.1.0>
3. Mackenzie Bowes, "How I gave every pen sketch the same ink colour with inkmap", 2026-10-27. <https://mackenziebowes.com/posts/inkmap-one-ink-colour-for-every-pen-sketch>

---

Published 2026-10-27. Web page: https://www.mackenziebowes.com/posts/inkmap-release-one-ink-colour-for-every-pen-sketch
