Skill: Reference Contamination Avoidance
What
Only send character reference PNGs for characters whose faces/features are actually visible and close enough to matter in the current panel. Sending refs for distant or occluded characters causes visual bleed.
Why
When two characters share visual traits (both South Asian women with black hair), sending both reference sheets causes the model to blend them. The model sees two sets of similar-looking reference images and averages them. The daughter gets the mother's long hair. The mother gets the daughter's round face. Features cross-contaminate.
This is especially dangerous when:
- Characters share ethnicity/skin tone/hair color
- One character is distant (silhouette, background shape) — their refs add noise without benefit
- Reference sheets have backgrounds that match the scene (model confuses ref background with scene background)
How
The Visibility Rule
Before adding a character to "characters": [] in prompts.json, ask:
- Is this character's face visible in this panel? (Not back-of-head, not distant blob)
- Is this character close enough that facial features matter? (Within ~5 feet)
- Could the model generate this character from text description alone? (Distant silhouette = yes)
If the answer to #1 or #2 is NO → don't send their refs.
Distance Thresholds
| Distance | Send refs? | Why |
|---|
| Close-up (< 3 feet) | YES — full ref set | Face details, expression, clothing texture all matter |
| Medium (3-8 feet) | MAYBE — character sheet only | Body proportions matter, facial details less so |
| Far (8+ feet) | NO — text description only | Model can't render facial details at this distance anyway |
| Silhouette/backlit | NO | Refs are wasted — the model only needs shape/posture info |
Prompt-Only Character Description
When a character is too far for refs, describe them in the prompt text instead:
"A woman propped up in the hospital bed — just a silhouette
bathed in golden backlight from the window. Dark hair loose
on the pillow. She has turned her head toward the door."
This gives the model enough to render a distant figure without contaminating the close-up character.
Shared-Trait Characters
When characters share visual traits, be extra defensive:
- Only send refs for the CHARACTER WHO IS CLOSER to camera
- In the text prompt, explicitly differentiate: "The daughter has SHORT chin-length hair. The mother (far away) has LONG hair past her shoulders."
- If both are close, consider generating without one set of refs and relying on text differentiation
Common Mistakes
- Sending all character refs for every panel — "characters": ["daughter", "mother", "father"] when only daughter is visible. The extra refs are noise.
- Not removing characters from the array — a character was in panel 01 close-up, so they stay in every subsequent panel's character list. Remove them when they're distant.
- Mother's ref sheet had hospital backgrounds — the model confused ref backgrounds with scene backgrounds. Always neutral grey refs.
- Assuming more refs = more consistency — wrong. More refs = more confusion when characters share traits. Precision > volume.
Proven Pattern (hospital-entry-test)
- Panels 01-05: Only daughter + father refs. Mother is a distant silhouette — described in text only.
- Panel 06+: Mother gets close enough for refs. NOW send her reference sheets.
- When mother's refs were sent in panel 02 (she was far away): daughter's hair changed from chin-length to long. Removing mother's refs fixed it immediately.