Jessar × RevShift · Imagery program · Internal SOP

Product Imagery — Production & QA Pipeline

SOP v1 · 2026-06-21 · How we hold the 7-99374 quality bar at scale — with errors caught before they reach you

We proved the quality bar on 7-99374 (dial · control panel · long slot). The open question is how to repeat that across the catalogue without you personally catching every error — the missing dial, the too-skinny body, the cream-vs-white, the garbled icon. This document is the design for that system, for your review before we build it. The core idea: turn the validation you've been doing by eye into an independent vision-QA agent that grades every shot against a per-SKU spec, auto-rerolls failures, and only escalates survivors. You move from catching errors to approving pre-vetted winners.

Quality bar
Locked on 7-99374 — generated, reference-locked, validated, white-balanced, 4K
The goal
Catch gross errors automatically; your eye only on a small, pre-filtered survivor set
The gate before scaling
A calibration run — prove the QA agent flags the same errors you did

01Why the errors happened

Every miss this session traces to the same root cause — missing structured ground truth. Nothing told the system what was true about the product, so it guessed. Encode the truth once per SKU and both the generator and the checker have an objective target to hit and to grade against.

"buttons floated at the top"Nothing stated buttons live on the lower front, under the dial.
"toaster seems too skinny"Nothing stated the body is wide & squat (and a portrait crop stretched it).
"cream, not matte white"No locked target colour to hold against warm scene light.
"missing the dial / garbled icon"No feature inventory + icon checklist to render against and grade.

02The pipeline, end to end

Seven steps. Green steps run automatically; the amber step is the only point where you're needed — and only on a short, pre-vetted list.

01
Spec sheet
Per-SKU ground truth built from the real packshot + description.
02
Reference kit
Full packshot + auto-cropped detail refs (dial / buttons / slot).
03
Generate ×N
Reference-locked, 1:1+, proportions stated. N candidates per shot.
04
Vision-QA grade
Independent model scores each candidate vs spec + packshot.
05
Auto-reroll
Fails re-generate with the failure reason fed back in.
06
Finish
White-balance + 4K upscale on passers.
07
Your review
Approve the short survivor set, with QA's flags attached.
Automated You (survivors only)

03The per-SKU spec sheet — the biggest lever

One structured record per SKU, built once (an agent drafts it from the packshot + description; locked after a quick human glance). It feeds the generator's prompt and becomes the answer key the QA agent grades against. Worked example below — 7-99374, exactly the facts that would have prevented every error this session.

SPEC · 7-99374 · Retro Wide-Slot ToasterJS Gourmet · Matte White, 2-Slice
Body colourMatte white — neutral white balance. NOT cream / ivory / beige.
ProportionsWide, squat, broad — clearly wider than tall. Shoot 1:1 or wider; never portrait.
Finish / accentsMatte body, polished chrome bezel, base trim, lever, slot trim.
Feature · dialBrowning control, upper-mid front. Chrome rounded-square bezel, single knob offset left, scale 1–6 + dot marks.
Feature · buttonsFour one-touch functions, unified chrome strip, lower front, directly under the dial, above base trim. L→R: ✕ Cancel · ◯ Bagel · ≋ Reheat · ❄ Defrost, each with a blue LED.
Feature · slotSingle extra-long slot running end-to-end along the top (lengthwise). Chrome trim. (Note: box copy says "Wide Slot" — naming TBD.)
OtherHigh-lift lever (right side), chrome feet, 900W.
Discard — do NOT renderSelf-centering mechanism · crumb-tray interior · under-base cord storage · heating elements. Not visible on the packshot → never invent.

04The vision-QA agent — the error catcher

A separate multimodal model (not the generator) grades each candidate against the spec + packshot on a fixed checklist, returning pass/fail + confidence + the specific reason. Each check maps to an error you actually caught this session.

CheckWhat it verifiesCatches (this session)Fail action
ColourBody matches spec colour under neutral WBcream-not-whitewhite-balance; reroll if extreme
ProportionsBody aspect matches spec (wide/squat)"too skinny"reroll at 1:1, restate proportions
Feature presentRequired feature(s) actually in frame"missing the dial"reroll, widen framing
PlacementFeature in its spec location"buttons at the top"reroll with placement emphasis
Detail matchZoom region vs OG crop: dial 1–6, 4 icons, LEDsgarbled icons / numbersreroll w/ detail ref; else flag
No hallucinationNo invented/extra parts; nothing from discard listphantom controlsreroll
No AI-tellsNo melted / doubled / smeared forms"melted knob"reroll

05What reaches you — the confidence model

QA assigns a confidence to every passer. Your time goes only where it adds value.

Green · auto-approve

All checks pass, high confidence. Batched for a quick scroll-through — no per-image sign-off needed.

Amber · you decide

Passed but low confidence, or a borderline detail call (the subtle 5%). Surfaced with the QA flag and the OG side-by-side.

Red · auto-handled

Clear fail. Never reaches you — auto-rerolls until it passes or hits the retry cap, then escalates as amber.

As the QA agent's verdicts are measured against yours over the first batches, we widen what auto-approves. Early on, more lands in amber; once agreement is proven, green dominates and your load drops toward a final scroll + spot-check.

06Where we won't oversell it

Subtle glyph drift is the hard 5%. Auto-QA nails gross errors; a single slightly-off icon or dial numeral is the toughest call. Mitigation: crop-zoom comparison on the detail region + a thin human pass on just the icon/number zones — not the whole image.
The spec gates everything. A wrong spec = wrong checks. Mitigation: specs get one human glance at lock time; building them is the real upfront work — but it's far cheaper than reviewing every image, and it's the "pipeline/setup" line already in the imagery quote.
Hidden features need a client photo. Anything the packshot can't see (internal mechanisms) can't be generated faithfully. Mitigation: request one reference photo per such SKU — the existing carve-out.

07How we earn the right to step you back

We don't trust the auto-QA on faith — we calibrate it against your eye, then scale only what it proves it can judge.

08The bar we're holding to

For reference — the approved 7-99374 set this pipeline is designed to reproduce, every time, without your intervention on the gross-error class.

dial
01 · browning dial
control panel
02 · control panel
long slot
03 · extra-long slot
RevShift Media · Jessar AI imagery program (billable add-on, not in the $35k migration SOW) · SOP v1 · derived from the 7-99374 feature-shot build, 2026-06-19/21 · recipe detail in docs/photo-video-status.md