# Batch A status (2026-10-07)

NEXCOR gpt-image-2 `images.edit` (no mask). Review site only — not live aiproshots.com.

## Summary

- Styles (发型主图): **32/32** ok, **0** failed
- Heroes (首屏横版): **16/16** ok — **11** newly generated, **5** reused existing
- Runtime: ~21:58–22:08 HKT (~10 min), workers styles=2 / heroes=2
- State: `_tmp/gen/batchA_state.json` done=48 failed=0

## Styles (all ok)

| id | model | slug | path |
|---|---|---|---|
| S002 | f03 | long-pixie | `samples/compare/f03/long-pixie/` |
| S005 | f03 | textured-pixie | `samples/compare/f03/textured-pixie/` |
| S008 | f04 | short-shag | `samples/compare/f04/short-shag/` |
| S032 | f03 | hush-cut | `samples/compare/f03/hush-cut/` |
| S059 | f03 | micro-bangs | `samples/compare/f03/micro-bangs/` |
| S071 | f02 | spiral-curls | `samples/compare/f02/spiral-curls/` |
| S072 | f04 | loose-curls | `samples/compare/f04/loose-curls/` |
| S079 | f02 | afro | `samples/compare/f02/afro/` |
| S080 | f02 | tapered-afro | `samples/compare/f02/tapered-afro/` |
| S083 | f02 | box-braids | `samples/compare/f02/box-braids/` |
| S084 | f02 | knotless-braids | `samples/compare/f02/knotless-braids/` |
| S086 | f02 | locs | `samples/compare/f02/locs/` |
| S090 | f02 | silk-press | `samples/compare/f02/silk-press/` |
| S093 | f04 | sleek-bun | `samples/compare/f04/sleek-bun/` |
| S094 | f03 | messy-bun | `samples/compare/f03/messy-bun/` |
| S096 | f03 | space-buns | `samples/compare/f03/space-buns/` |
| S112 | m03 | drop-fade | `samples/compare/m03/drop-fade/` |
| S113 | m04 | taper-fade | `samples/compare/m04/taper-fade/` |
| S118 | m03 | edgar-cut | `samples/compare/m03/edgar-cut/` |
| S119 | m03 | textured-fringe | `samples/compare/m03/textured-fringe/` |
| S120 | m03 | two-block-cut | `samples/compare/m03/two-block-cut/` |
| S121 | m03 | comma-hair | `samples/compare/m03/comma-hair/` |
| S140 | m04 | curly-fringe | `samples/compare/m04/curly-fringe/` |
| S141 | m02 | 360-waves | `samples/compare/m02/360-waves/` |
| S143 | m02 | sponge-twists | `samples/compare/m02/sponge-twists/` |
| S144 | m04 | loose-medium-curls | `samples/compare/m04/loose-medium-curls/` |
| S145 | m02 | cornrows-men | `samples/compare/m02/cornrows-men/` |
| S146 | m02 | box-braids-men | `samples/compare/m02/box-braids-men/` |
| S147 | m02 | two-strand-twists | `samples/compare/m02/two-strand-twists/` |
| S148 | m02 | short-locs | `samples/compare/m02/short-locs/` |
| S149 | m02 | freeform-locs | `samples/compare/m02/freeform-locs/` |
| S150 | m02 | high-top | `samples/compare/m02/high-top/` |

## Heroes

| id | model | slug | status |
|---|---|---|---|
| H-f01-pixie | f01 | pixie | reused existing |
| H-f01-blunt-bob | f01 | blunt-bob | reused existing |
| H-f01-curly-shag | f01 | curly-shag | reused existing |
| H-f01-curtain-bangs | f01 | curtain-bangs | generated |
| H-f02-tapered-afro | f02 | tapered-afro | generated |
| H-f02-box-braids | f02 | box-braids | generated |
| H-f02-silk-press | f02 | silk-press | generated |
| H-f02-curly-bob | f02 | curly-bob | generated |
| H-m01-buzz-cut | m01 | buzz-cut | generated |
| H-m01-pompadour | m01 | pompadour | generated |
| H-m01-curtains-middle-part | m01 | curtains-middle-part | generated |
| H-m01-man-bun | m01 | man-bun | generated |
| H-m02-high-top | m02 | high-top | reused existing |
| H-m02-360-waves | m02 | 360-waves | reused existing |
| H-m02-two-strand-twists | m02 | two-strand-twists | generated |
| H-m02-skin-fade | m02 | skin-fade | generated |

## QC

- `derivatives/qc/v3/batchA-styles.jpg`
- `derivatives/qc/v3/batchA-heroes.jpg`
- `derivatives/qc/v3/batchA-before-after-sample.jpg`

## Failures

_None._

## Spot-check notes

- No MediaPipe mask — hair edits unconstrained; watch face drift on braids/locs/updos.
- Alias-sensitive styles (edgar, comma-hair, two-block, high-top) need visual confirm name matches cut.
- Reused heroes keep prior v2 export naming (`after-1536x1024.*` + larger sizes); new heroes also have `after-thumb-480x640/240x320.webp`.

## Next

**Batch B** — remaining 58 mains + 30 second-model + 12 color (after GUCCI spot-check).

## Review deploy

- Production review: https://aiproshots-assets-review.pages.dev/
- This deploy: https://1c681b6c.aiproshots-assets-review.pages.dev/ (`#batchA`)
- Live aiproshots.com: **not** updated

