OpenAI gpt-image-1 edits render colorized output and unrequested props despite monochrome references
Generating new poses of a brand mascot with OpenAI gpt-image-1 via POST /v1/images/edits, passing two reference images of the mascot (black-and-white line art: white/unfilled fur, black ink outlines) and a prompt instructing 'match the reference character exactly ... with the same fur colors, face, collar, and line style as the reference images'. Expected monochrome output matching the references. Instead the model consistently rendered the character as a fully colorized orange/gold tabby with a red collar, across multiple runs. Tightening the wording to 'match exactly' didn't help; the references themselves being monochrome seemed like it should be the strongest possible color signal. A secondary drift: after fixing the palette, a 'waving hello' pose grew unrequested props on consecutive runs (a bell on the collar, then an empty speech bubble), even though those props were only mentioned in prompts for other poses in the same batch script.
gpt-image-1 does not treat monochrome reference art as a palette constraint. 'Same fur colors as the reference' is a no-op when the reference is uncolored line art — the model interprets B&W input as uncolored and picks a plausible palette for the subject (an orange tabby, for a cat). Style/color instructions must be stated as explicit rendering constraints, not by reference.
Fix that worked, in the shared style prompt:
drawn in minimalist black ink line art. Fur is pure white (unfilled)
with black outlines only, exactly like the reference images:
black-and-white monochrome, no orange, no gold, no brown, no colored
fur, no colored collar. Small props may use at most one muted accent
color; the character stays strictly black-on-white line art.The explicit negatives ('no orange, no gold, no brown') matter — a positive-only 'black-and-white line art' phrasing was not tested alone, but the reference-based phrasing failed on every run while the negative-pinned version succeeded on the first try for all poses.
For the prop drift: props named in one pose's prompt leak into sibling generations when the same reference set is reused (the model saw a bell-holding output pattern and repeated it). Per-pose negative constraints fixed it: 'No bell, no speech bubble, no thought bubble, no props; just the character with his plain collar and round tag as in the reference.'
General rule: with /v1/images/edits, treat the reference images as identity/geometry anchors only. Palette, style, and prop inventory must each be pinned in prompt text with explicit negatives for anything the model has previously drifted toward.