# Image file experiment — October 13, 2026

Three selected, known-origin images; nine files; two detectors. The purpose is to compare versions of the same image and show disagreements, not estimate population accuracy or rank commercial products.

## Sources and reuse

- Puffer-jacket Pope: Pablo Xavier / Midjourney, https://commons.wikimedia.org/wiki/File:Pope_Francis_in_puffy_winter_jacket.jpg — listed as public domain on Commons.
- Fire rainbow: LanceNickel, https://commons.wikimedia.org/wiki/File:Fire_Rainbow_(Circumhorizontal_Arc).jpg — CC BY-SA 4.0.
- Magenta aurora: W.carter, https://commons.wikimedia.org/wiki/File:Magenta_G5_aurora_over_Tuntorp,_Lysekil_Municipality_11.jpg — CC BY-SA 4.0.

License: https://creativecommons.org/licenses/by-sa/4.0/. The photographic adaptations retain this license. Changes: existing WebP conversion, JPEG resizing/recompression, and capture of the rendered image within Safari. Credits apply to the photographs, not Safari's interface.

## Baseline

The existing WebP files at /quiz/pope-puffer.webp, /quiz/fire-rainbow.webp, and /quiz/magenta-aurora.webp. Copies named *-baseline.webp are byte-identical. These are web copies, not raw camera files or original generator exports.

## Variants

- JPEG: ImageMagick `magick INPUT.webp -resize 390x -strip -quality 50 OUTPUT-compressed.jpg`. Dimensions become 390 x 478 for the Pope and 390 x 260 for each photograph. Resize and compression are combined, so the effects cannot be separated.
- Screenshot: open https://www.aicheck.app/quiz/NAME.webp in Safari on an iPhone 17 Pro simulator running iOS 26.5. Capture with `xcrun simctl io DEVICE screenshot OUTPUT-screenshot.png` after the page loads. Screenshots are full 1206 x 2622 PNGs, not cropped. Browser chrome and white space remain; this is not a pure compression test. Pixel hashes may differ on reproduction because the clock/UI changes.

## Detectors

- Sightengine API `https://api.sightengine.com/1.0/check.json`, model `genai`, multipart media upload. The response does not expose a model revision. The recorded field is `type.ai_generated`. Nine successful calls used 45 operations from the existing account. This is the engine used by AI Check's web image checker. The app UI rounds to whole percentages; the article displays one decimal place.
- Ateeqq/ai-vs-human-image-detector: https://huggingface.co/Ateeqq/ai-vs-human-image-detector. Apache-2.0 model, revision `60e82406916921b823616bee33397baab38af3f0`. Loaded using built-in `SiglipForImageClassification` and safetensors, without remote code. RGB conversion, published `AutoImageProcessor`, CPU inference in eval mode, softmax of logits, class label `ai`. PyTorch 2.14.1, Transformers 5.19.0, and Pillow 12.3.0. The model card notes reports of overfitting. No training or parameter tuning was performed for this experiment.

## Results

`sightengine.json` contains each exact file's SHA-256, score, timestamp, and operation count. `local-detector.json` contains SHA-256, dimensions, scores, model revision, and run timestamp. Results are included even when they disagree with known origin. The three cases were selected before running these checks: a viral Midjourney image and two unusual natural scenes from the existing quiz. They are not a representative evaluation set. The variants are related files, not nine independent scenes.

Reproduction scripts are retained in the site's repository as `scripts/image-research.py` and `scripts/image-research-sightengine.mjs`. Local inference: `uv run --with torch==2.14.1 --with transformers==5.19.0 --with pillow==12.3.0 python scripts/image-research.py`. Sightengine needs your own account credentials and consumes its API allowance. Its recorded-results file is protected against accidental overwrite/repeated calls.
