proof

Your folder already knows what's in it. proof just makes it official.

One command. Zero configuration. Apercu Pro.


$ proof ./finals --client "Copenhagen" --title "Portra 400"
Done: copenhagen-delivery-2026-02-23.pdf (27 assets)

The PDF is the product.

Cover page, contact sheet, manifest table, summary. All typeset in Apercu Pro. All derived from the files themselves.

Cover page showing client name, title, date, and file count
Cover Page
Contact sheet showing thumbnail grid of delivered images
Contact Sheet
Manifest table showing filename, type, resolution, format, and size
Manifest

Point it at a directory. Get a PDF.

01

Scan

proof discovers every image and video in the directory. JPG, PNG, TIFF, WebP, MP4, MOV, MXF. Natural sort order.

02

Extract

Metadata read from every file. Resolution, format, color space, file size. Video gets duration and codec via ffprobe. Thumbnails generated in parallel.

03

Render

A single PDF compiled via Typst. Cover page with client and date. Contact sheet grid. Manifest table with alternating rows. Summary line. Apercu Pro throughout.

Two commands.

# Install proof
cargo install --path .
# Requires Typst
brew install typst
Flag Description Default
--client Client name on cover page Delivery
--title Document title
--date Delivery date today
--columns Contact sheet columns (3-8) 4
-o, --output Output PDF path {client}-delivery-{date}.pdf
--auto-orient Rotate thumbnails per EXIF off
--manifest-only TSV manifest to stdout
--no-tui Plain text instead of TUI