{
  "utc": "2026-09-22T05:37:51.723691+00:00",
  "method": "Browser-measured text bounds; conservatively annotated protected-object rectangles; rendered core-ink contrast against matched plate pixels. No 9:16 crop: new plates authored at 4:5 for this two-concept reset.",
  "protected_regions": {
    "A": {
      "product": [
        657,
        300,
        971,
        1259
      ],
      "label": [
        676,
        820,
        956,
        1200
      ],
      "brush": [
        33,
        755,
        626,
        1238
      ]
    },
    "B": {
      "product": [
        252,
        471,
        505,
        1228
      ],
      "label": [
        270,
        837,
        487,
        1180
      ],
      "face": [
        825,
        0,
        1080,
        453
      ]
    }
  },
  "manual_review": {
    "full_size": "Both renders inspected. Complete bottles and labels; no headline/product collisions; footer clear of bottles.",
    "phone_360px": "Both hooks readable; B high-contrast serif remains readable; small spec lines treated as support.",
    "fidelity": "Compared against source/real-bottle-reference.png: amber dropper, ivory label, Wonder Hair Serum, 30 ml. AI plate photography; no measured outcome depicted.",
    "cta": "No in-image CTA buttons. A spec row; B benefit and ingredient footer."
  },
  "results": [
    {
      "id": "A",
      "size": [
        1080,
        1350
      ],
      "sha256": "143ae2c00ac8c6d4c05fc769e85b9de2882007765298977deef6f5f31e8cfc5b",
      "geometry_pass": true,
      "contrast_p10_4_5_pass": true,
      "text": [
        {
          "text": "WONDER HAIR SERUM",
          "bounds": [
            58,
            60,
            437,
            89
          ],
          "inside_canvas": true,
          "protected_overlap_px2": {
            "product": 0,
            "label": 0,
            "brush": 0
          },
          "contrast_core_pixels": 2471,
          "contrast_min": 5.42,
          "contrast_p10": 5.58
        },
        {
          "text": "STOP BREAKAGE",
          "bounds": [
            55,
            119,
            712,
            233
          ],
          "inside_canvas": true,
          "protected_overlap_px2": {
            "product": 0,
            "label": 0,
            "brush": 0
          },
          "contrast_core_pixels": 39784,
          "contrast_min": 5.06,
          "contrast_p10": 5.27
        },
        {
          "text": "STEALING",
          "bounds": [
            55,
            265,
            536,
            408
          ],
          "inside_canvas": true,
          "protected_overlap_px2": {
            "product": 0,
            "label": 0,
            "brush": 0
          },
          "contrast_core_pixels": 37280,
          "contrast_min": 5.18,
          "contrast_p10": 5.39
        },
        {
          "text": "YOUR LENGTH.",
          "bounds": [
            55,
            420,
            614,
            531
          ],
          "inside_canvas": true,
          "protected_overlap_px2": {
            "product": 0,
            "label": 0,
            "brush": 0
          },
          "contrast_core_pixels": 30775,
          "contrast_min": 5.03,
          "contrast_p10": 5.18
        },
        {
          "text": "Nourish dry, brittle hair\nwith 100% pure Batana oil.",
          "bounds": [
            60,
            568,
            439,
            650
          ],
          "inside_canvas": true,
          "protected_overlap_px2": {
            "product": 0,
            "label": 0,
            "brush": 0
          },
          "contrast_core_pixels": 3903,
          "contrast_min": 4.81,
          "contrast_p10": 5.06
        },
        {
          "text": "ONE INGREDIENT",
          "bounds": [
            60,
            1302,
            260,
            1324
          ],
          "inside_canvas": true,
          "protected_overlap_px2": {
            "product": 0,
            "label": 0,
            "brush": 0
          },
          "contrast_core_pixels": 869,
          "contrast_min": 14.96,
          "contrast_p10": 14.96
        },
        {
          "text": "SCALP TO ENDS",
          "bounds": [
            406,
            1302,
            594,
            1324
          ],
          "inside_canvas": true,
          "protected_overlap_px2": {
            "product": 0,
            "label": 0,
            "brush": 0
          },
          "contrast_core_pixels": 709,
          "contrast_min": 14.96,
          "contrast_p10": 14.96
        },
        {
          "text": "30 ML / 1 FL OZ",
          "bounds": [
            838,
            1302,
            1016,
            1324
          ],
          "inside_canvas": true,
          "protected_overlap_px2": {
            "product": 0,
            "label": 0,
            "brush": 0
          },
          "contrast_core_pixels": 568,
          "contrast_min": 14.96,
          "contrast_p10": 14.96
        }
      ]
    },
    {
      "id": "B",
      "size": [
        1080,
        1350
      ],
      "sha256": "8e2e3baae80c7568a13852778c557fe913c3a6f656c7d3e584b8815f385f95ff",
      "geometry_pass": true,
      "contrast_p10_4_5_pass": true,
      "text": [
        {
          "text": "WONDER HAIR SERUM",
          "bounds": [
            54,
            44,
            344,
            66
          ],
          "inside_canvas": true,
          "protected_overlap_px2": {
            "product": 0,
            "label": 0,
            "face": 0
          },
          "contrast_core_pixels": 1325,
          "contrast_min": 8.94,
          "contrast_p10": 9.23
        },
        {
          "text": "DRY.",
          "bounds": [
            47,
            93,
            380,
            236
          ],
          "inside_canvas": true,
          "protected_overlap_px2": {
            "product": 0,
            "label": 0,
            "face": 0
          },
          "contrast_core_pixels": 11272,
          "contrast_min": 8.44,
          "contrast_p10": 9.22
        },
        {
          "text": "FRIED.",
          "bounds": [
            47,
            215,
            482,
            345
          ],
          "inside_canvas": true,
          "protected_overlap_px2": {
            "product": 0,
            "label": 0,
            "face": 0
          },
          "contrast_core_pixels": 12767,
          "contrast_min": 8.44,
          "contrast_p10": 9.15
        },
        {
          "text": "Done.",
          "bounds": [
            47,
            341,
            364,
            464
          ],
          "inside_canvas": true,
          "protected_overlap_px2": {
            "product": 0,
            "label": 0,
            "face": 0
          },
          "contrast_core_pixels": 7232,
          "contrast_min": 4.06,
          "contrast_p10": 4.59
        },
        {
          "text": "Bring back soft, glossy hair.",
          "bounds": [
            54,
            1260,
            479,
            1295
          ],
          "inside_canvas": true,
          "protected_overlap_px2": {
            "product": 0,
            "label": 0,
            "face": 0
          },
          "contrast_core_pixels": 2852,
          "contrast_min": 12.37,
          "contrast_p10": 12.37
        },
        {
          "text": "100% PURE BATANA OIL  \u00b7  NOTHING ELSE.",
          "bounds": [
            56,
            1310,
            552,
            1330
          ],
          "inside_canvas": true,
          "protected_overlap_px2": {
            "product": 0,
            "label": 0,
            "face": 0
          },
          "contrast_core_pixels": 1285,
          "contrast_min": 7.63,
          "contrast_p10": 7.63
        }
      ]
    }
  ]
}
