Files

1.7 KiB

Output Format — JSON

Structure

The scorer outputs a JSON file with an array of results. Each entry represents one photo.

Schema

[
  {
    "filename": "IMG_0001.jpg",
    "filepath": "/path/to/wedding-photos/IMG_0001.jpg",
    "subtype": "aesthetic",
    "laion_score": 7.2,
    "laion_version": "v2",
    "scoring_date": "2026-01-15T10:30:00Z"
  }
]

Fields

Field Type Description
filename string Base filename (e.g., IMG_0001.jpg)
filepath string Full absolute path to the image
subtype string Classifier subtype — aesthetic for LAION (future: technical, blur, etc.)
laion_score float LAION aesthetic score (0-10 scale)
laion_version string Version of LAION model used (e.g., v2)
scoring_date string ISO 8601 timestamp of when scoring was performed

Example

[
  {
    "filename": "DSC_0421.jpg",
    "filepath": "C:/wedding-photos/day1/DSC_0421.jpg",
    "subtype": "aesthetic",
    "laion_score": 8.1,
    "laion_version": "v2",
    "scoring_date": "2026-01-15T10:30:00Z"
  },
  {
    "filename": "DSC_0422.jpg",
    "filepath": "C:/wedding-photos/day1/DSC_0422.jpg",
    "subtype": "aesthetic",
    "laion_score": 3.4,
    "laion_version": "v2",
    "scoring_date": "2026-01-15T10:30:01Z"
  }
]

Thresholds (TBD)

Thresholds for keep/reject/review are not yet defined. Will be determined after running initial batches and reviewing score distributions.

Suggested approach:

  1. Score a sample of 100-200 photos
  2. Analyze the score distribution
  3. Set thresholds based on the distribution (e.g., top 25% = keep, bottom 25% = reject, middle = review)
  4. Adjust based on photographer feedback