libvips
grade
reliability
overall
A fast image processing library with low memory needs.
The libvips command-line interface provides high-performance utility tools for image manipulation directly from the shell. The library processes images using sequential commands such as thumbnail, linear, and composite2 to resize, adjust tones, and overlay elements. For an AI agent, this tool offers a predictable, deterministic execution environment where image editing commands run quickly with low memory overhead.
Surfaces × lenses
| surface ↓ lens → | Coherence | Economy | Consistency | Verifiability | Safety |
|---|---|---|---|---|---|
| Disclosure | |||||
| Interface | |||||
| Loop | |||||
| Recursion | |||||
| Human |
Click any cell for what was measured and why. A corner dot marks a cell filled by a hard instrument (checker, telemetry); undotted cells are judged by the rater ensemble. 53% of this matrix is hard-measured.
The experience
The sequential execution model of the command-line interface works well for agents building multi-step image pipelines. Because each command takes an input file and exports to a separate output file, there is no risk of destructive in-place modification or state corruption. Command-line operations such as image resizing, cropping, and tone adjustment execute in milliseconds, allowing the agent to run and verify its pipeline steps rapidly.
The syntax for formatting and compressing outputs works adequately but presents a potential syntax friction point. The tool requires export parameters like quality and metadata stripping to be appended to the file path in brackets, as seen in the bracketed syntax for quality and stripping configurations. Because the bracket syntax can sometimes require escaping depending on the shell environment, it requires precise formatting to avoid command-line parsing errors.
The image compositing process works adequately but requires manual coordinate calculations. Commands like composite2 require explicit coordinate offsets on the command line to place overlays. This requires the agent to calculate target positions mathematically based on the dimensions of the base image and the overlay, rather than using relative automatic positioning like bounding box alignment. Despite this manual overhead, the engine executes with complete determinism, and the source files remain entirely unaffected if a calculation is off.
Fit
This tool is an excellent fit for agents performing automated batch image processing, standardized optimizations, or programmatic compositing where performance and low memory footprints are prioritized. It is well-suited for pipelines that process images into pre-defined layouts or formats.
It is a poor fit for tasks that require real-time visual feedback, fuzzy visual adjustments, or complex layout composition. Because the tool does not provide a built-in visual rendering feedback loop or relative positioning layouts, the agent must rely on external verification tools to inspect the resulting aesthetic quality of the images.
Notes
The following diagram illustrates the linear processing pipeline utilized by the agent to transition a raw source image to the final web assets.
Validation
Convergent check. Where a hard instrument and the independent rater panel measure the same cell, they agree on 7 of 16 cross-checked cells (76%). Two independent methods landing on the same number is our accuracy signal — not just the raters agreeing with each other.
| Cell where they disagree | Instrument | Rater | Δ |
|---|---|---|---|
| recursion.coherence | -0.52 | +0.50 | 1.02 |
| disclosure.verifiability | -0.40 | +0.60 | 1.00 |
| human.verifiability | -0.20 | +0.80 | 1.00 |
| interface.coherence | -0.04 | +0.60 | 0.64 |
| recursion.economy | +0.81 | +0.20 | 0.61 |
| human.safety | -0.10 | +0.50 | 0.60 |
| loop.economy | +0.73 | +0.20 | 0.53 |
| disclosure.economy | +0.00 | +0.50 | 0.50 |
| recursion.verifiability | +0.00 | +0.50 | 0.50 |
Ground truth
4 of 4 requirements met · deterministic checker, no model judgment- WebP output produced — 36KB
- JPEG fallback produced — 59KB
- cropped to ~1.91:1 frame — 1200×630 (1.90:1)
- each output under 200KB — 36KB, 59KB
Reliability (pass^k): one attempt succeeds 100% of the time · three in a row 100% · all runs 100%. A fresh agent resuming from the files alone never broke prior work.
Models & runs
2026-07-07| Model | Harness | Runs | Solved | Turns |
|---|---|---|---|---|
| | 23 | 17/23 | 7 |
Each path is one run through the shared semantic space; nodes are turns (red = an errored turn). Hover a model — here or in the graph — to isolate its runs.
How this was measured
- reference agent
- pi:z-ai/glm-5.2
- trials
- 25 (n=5/tier)
- methodology
- v0.1 3e74a3c6
- cost
- $0.7553
- hard-measured cells
- 53%
- teaching source
- libvips (official docs) (official-docs)
Same brief, same reference agent, and the same trial count for every tool in a category — a difference in the numbers is attributable to the tool (and its teaching source), not the setup. Profiles carry the methodology hash; results under different hashes are not compared.