Tracing why examples and
generated images diverged

ART WINDOW is my personal web product for recommending and generating art to suit a room photo. When a photographic example led to a graphic image, I traced the issue to differences in medium and style inputs.

My role
Planning · Interfaces · Backend · AI integration · Deployment
ART WINDOW
Page contents

01

A photographic example led to a graphic image

A work record from July 2, 2026 documents an issue where selecting an example of concrete architectural photography produced a flat graphic image.

What I decided
I retained text input for actual generation and aligned examples and actual generation to use the same medium and style description. I required examples to be regenerated when that description changes.
What AI implemented
The A12 check detects a mismatch between the current style description and the example record.
Check records
In isolated-input checks on October 18, 2026, valid inputs passed; medium–description mismatches and description–example-record mismatches failed.

Below are the previous and current public examples for that style ID, cl266.

Previous cl266 example: a photographic AI-generated image looking up at concrete walls, black beams and windows.
Generated from a reference image
Current public cl266 example: a photographic AI-generated image of stairs descending between grey concrete and white steel railings.
Generated from a style description

I could not find the graphic output in the retained materials, so I cite the work record for that result. These two examples are not before-and-after outputs for the same request.

Watch the gallery and sample-space video
Visit ART WINDOW

02

Tracing the image back to its inputs

  1. 01

    Compare medium values for the same ID

    The example used photograph, assigned by the image classification model SigLIP. Actual generation received graphic_print, assigned by a different model, Gemma. The style ID was the same, but the classification models and groups of artworks differed. Because actual generation reads the medium value from the catalog, I aligned it with the medium used to create the example. Records from that time document checking the corrected photographic medium value and description in recommendation responses for six room inputs.

  2. 02

    Identify the difference between reference-image and text inputs

    In August, I compared the example-generation command with the inputs to the actual generation API. Existing examples passed one reference image, while actual generation passed only text. Different examples were sometimes reduced to the same short description, such as a muted painting landscape artwork.

  3. 03

    Manage the style description as a shared input

    I retained text input for actual generation because I considered plagiarism risk difficult to rule out with reference images. I stored a style_sentence describing the style’s texture, color and composition in the catalog, and aligned examples to be generated from that description.

Actual input stored for cl266

Photographic grain and hard shadows, grey concrete and white steel, and a stairwell descending through layered planes of light. I added a style description of the scene to the photograph classification.

Expand catalog input and example record
cluster: 266
medium: photograph
style_sentence:
  Photographic grain and hard shadows, warm grey concrete and cool white steel, geometric stairwell descending through layered planes of light

example record:
  sentence_sha: 984441e204753b39
  engine: gpt-image-2

When the user makes a selection, actual generation reads the description and medium value stored in the recommendation job. Photographic media go to GPT Image; other media use the default Seedream path. Examples fix composition and lighting, while actual generation adds user conditions and variations, so the complete final prompts differ.

03

What gets fixed after a check fails

A11 compares the medium label with the wording of the description; A12 compares the current style description with the example-generation record. When either check finds a mismatch, the person responsible updates the relevant input or example.

A11 · Medium and description
A photograph label with photographic wording passes. A photograph label with only oil-painting wording, or no wording describing the medium, fails. The person responsible corrects the description and reruns the check.
A12 · Description and example record
The check compares the hash identifying the current description with the value in the example record. Matching values pass; changing the description without updating the record causes failure. The person responsible regenerates the example from the new description, updates its record and reruns the check.

A12 also fails if an individual example record is missing for a displayed style. If the entire record file is absent, however, it treats this as a state where examples using the new method have not yet been created and skips the check.

A person follows up after detection

The checks report mismatches and their causes. They do not block live generation requests or automatically replace examples. They do not inspect the actual images to judge quality.

Expand cl266 check examples, commands and record details
2026-10-18 · A11 and A12 isolated-input checks

A11 pass: photograph + "Photographic grain and hard shadows…"
A11 fail: photograph + "Oil impasto with layered glazes"
A12 pass: 984441e204753b39 = 984441e204753b39
A12 fail: append ", soft morning light" to the existing description; retain the example record

Run: python3 test_pipeline.py --light
Also included in --full
On failure: print the affected style ID and cause; exit code 1

A12 comparison value: first 16 characters of the current description’s SHA-256 hash
Compared with sentence_sha in the example record

04

Evidence scope

Evidence for this caseIssue and change records from July–August 2026, current generation inputs and engine-routing code, check results from October 18, archived examples and the current public image.

What this case does not verifyBefore-and-after outputs for the same request; whether examples were generated from their recorded inputs; the quality of actual generated images or recommendations; and customer impact.

2026-10-18 · Original public cl266 example

Explore more work

Back to work