Analysis updated 2026-07-24
Resize a folder of photos to thumbnails in one command.
Convert images between formats like JPEG, PNG, and WebP.
Apply blur or grayscale filters to batches of images.
Download and process images directly from web URLs.
| u84u/photu | 0labs-in/vision-link | adarsh-me/image-sdk | |
|---|---|---|---|
| Stars | 4 | 4 | 4 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | easy | moderate | easy |
| Complexity | 2/5 | 3/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
photu is a command-line tool for batch image processing. It lets you build image manipulation pipelines using ordinary shell pipes, where each step chains into the next. The tool is built on top of libvips, a fast image processing library, and it runs the entire pipeline as a single operation at the end. This approach makes it quick and memory-efficient compared to alternatives like ImageMagick, whose command syntax can be difficult to remember correctly. The way photu works is clever. The pipe between stages does not actually carry image data. Instead, each stage appends its operation to a small JSON plan and passes that plan along. The final write stage hands the whole plan to libvips in one go. This means you can chain as many stages as you like, and each image is still only decoded and encoded once. You can inspect the plan at any point by piping into photu explain. Because the plan is plain text, pipelines work the same way in bash, zsh, PowerShell, and cmd. photu supports a range of commands including read, resize, crop, rotate, flip, mirror, grayscale, adjust, blur, sharpen, overlay, pad, and write. You can read from local files or HTTP URLs, mix them freely, and use output templates with placeholders like the source filename or index. Supported formats include JPEG, PNG, WebP, GIF, TIFF, and AVIF. Animated GIF, WebP, and TIFF files are processed frame by frame, so every stage applies correctly to each frame. The tool tries to fail before touching any pixels. It catches bad arguments, empty globs, malformed URLs, filename collisions, and attempts to overwrite an input file up front. Errors from dead links or corrupt files surface at write time and fail the whole batch. The author acknowledges photu is a libvips wrapper, noting that what it adds is the interface, globs, URL sources, output templates, and a simple install. The full README is longer than what was shown.
A command-line tool that lets you resize, crop, blur, and convert batches of images by chaining simple pipe commands together. It processes everything quickly and with low memory usage.
Mainly TypeScript. The stack also includes TypeScript, libvips, CLI.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.