Skip to main content

PixCull

AI photo culling for working photographers. Six calibrated scoring axes · burst folding · style-aware personalization · Lightroom / Capture One round-trip. Judged by MiniMax M3, with the local measurements handed to it as evidence — or fully on-device with --vlm-mode off.

AI 摄影分拣:6 轴评分 · 连拍折叠 · 个性化学习 · Lr/C1 双向 round-trip。 MiniMax M3 云端判图,本机实测指标作为证据一并送入;--vlm-mode off 可全程不出网。

PixCull results grid

Install

pip install pixcull

Faces, closed eyes and face blur are checked with MediaPipe, an optional extra: pip install 'pixcull[face]'. Without it a run says so and the other checks are unchanged.

On a Linux machine with no desktop (a server, a container), OpenCV also needs two system libraries: sudo apt-get install libgl1 libglib2.0-0.

Python 3.11–3.13. First run downloads the optional scoring models to ~/.pixcull/models/; the measurements they make run on-device and are Apple-silicon accelerated. Whether the judge is local or cloud is a separate question — see the last two bullets below.

Upgrading from 3.53.1? The dependency floor moved to numpy 2 and torch 2.7, and five other things behave differently. Read the upgrade notes first.

Quickstart

# score a folder of photos (JPG / RAW) — keep/maybe/cull + per-axis rubric
pixcull run /path/to/photos -o ./out

# write the decisions back as XMP sidecars for Lightroom / Capture One
# (sidecars land next to each original; -t collected gathers them instead)
pixcull export ./out

# score a video → temporal windows + reel candidates
pixcull video clip.mp4 -o ./out

# fold near-duplicates, build a contact sheet, learn your taste, …
pixcull --help
# open the review workspace in your browser (v2.31 — now packaged)
pixcull serve

The pip package ships the full scoring engine, the CLI and the interactive review workspace: keyboard-first grid, ⌘K palette, per-axis "why" explanations, n-way compare, maybe-resolution queue, XMP export. pixcull serve stores runs under ~/.pixcull/runs by default (--root to change, --host 0.0.0.0 to share on a trusted LAN).

PixCull lightbox

Highlights

  • Glass-box scoring — every keep/cull carries a per-axis breakdown (technical / subject / composition / light / moment / aesthetic) and a plain-language "why", not just a number.
  • Learns your taste — corrections feed a personal profile that tilts the axis weights toward what you demonstrably value.
  • Burst & near-dup folding — stacks collapse to the peak frame with a one-key compare.
  • Video too — temporal scoring and reel-candidate detection with the same glass-box treatment. With the optional audio model (pixcull models pull audio-tagger, 16 MB) it also marks laughter, applause and music on the timeline; without it, it says it did not listen.
  • 13 UI languages, dark/light studio-neutral themes, WCAG-conscious.
  • You choose where it runs — with a MiniMax key configured, cloud judging is the default and your photos are uploaded to MiniMax (it asks once, and declining keeps you on-device); with no key, a bare pixcull run never leaves the machine. --vlm-mode off forces the on-device path outright. No telemetry either way.
  • Cloud judging needs a funded MiniMax account. It is their API and their bill, paid with your own key. Without balance the API returns 402 and PixCull falls back to the on-device rule stack, so nothing breaks; it just stops being the thing the first bullet describes. pixcull m3 doctor tells you which of those you are in, and distinguishes 'no balance' from 'bad key' — they look identical otherwise.

MIT © Chris Chen

Metadata

Release files for pixcull 3.94.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pixcull 3.94.1
File Size Uploaded
pixcull-3.94.1.tar.gz 6.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pixcull 3.94.1
File Interpreter ABI Platform
pixcull-3.94.1-py3-none-any.whl Python 3 none any Details

Total release size: 13.6 MB

Release files / pixcull-3.94.1.tar.gz

Download URL pixcull-3.94.1.tar.gz
Size 6.7 MB
Tags Source
SHA-256 checksum
How to use checksums
5df0a446c15bc828bdc77654885ff300b7b3b4edfee7749d5cfece2e45a7ca70
BLAKE2b-256 checksum
How to use checksums
b8ed59acb1aca7c518f62cf8b7ee57113a7cdd2bcaeeef6e51ff8de23cc715c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / pixcull-3.94.1-py3-none-any.whl

Download URL pixcull-3.94.1-py3-none-any.whl
Size 6.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
841d0fc98e4c43d35c55e5080f04c2e3f7a2ffa01adf12b025546bb03074012e
BLAKE2b-256 checksum
How to use checksums
ac01c945049380bb980c62373d315587a0cf903aada1e8ce760a4c9dcf392dcb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release history Release notifications | RSS feed

This release

3.94.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page