You prompt sunlight from the left, long shadow falling right and the model gives you sunlight from the left but the shadow also runs to the left. Or you ask for one strong key light and get two equally strong rim lights from opposite sides. The eye notices this instantly — the scene feels wrong even if you can’t name why. This happens because the model averages lighting cues across its training data: many photos have soft, multi-directional studio lighting, so single-direction lighting is statistically rare.
The fix is to specify direction explicitly using physical photography terms, then anchor with a reference image via IP-Adapter or Midjourney --sref if the prompt alone won’t lock it.
Common causes
Ordered by hit rate, highest first.
1. Light direction described in vague terms
bright lighting, dramatic lighting, cinematic lighting are all directionless. The model has nothing to anchor on, so it averages — and the average is “softbox from the front” or “ambient daylight.”
How to spot it: scan your prompt for direction words. If you don’t see from the left, key light upper right, backlit, etc., the prompt is directionless.
2. Conflicting cues in the prompt
You say sunset lighting from behind, golden hour glow and then add studio lighting, soft fill. These fight. The model resolves the fight by picking the more common one in its training data (usually studio).
How to spot it: search the prompt for two different lighting descriptors. If both sunset and studio appear, you have a conflict.
3. No physical-direction vocabulary
The model responds well to photography vocabulary: Rembrandt lighting, loop lighting, split lighting, rim light from camera left, 45-degree backlight. If you only use everyday English, it cannot place the light source.
How to spot it: prompt lacks any photography-school lighting term.
4. Multiple light sources mentioned without hierarchy
key light, fill light, rim light all listed at equal weight produces three equal lights, which looks unnatural. Real photography has one dominant key and weaker fills.
How to spot it: 2+ light sources in the prompt with no relative intensity stated.
5. The model has a strong default lighting bias
Flux dev defaults to soft front-lit. SDXL defaults to flat overcast. Midjourney v6+ defaults to cinematic but often warped. None of them will commit to a single hard light without explicit pushing.
How to spot it: same prompt across two models produces similar lighting failure — that’s the model defaults dominating.
Shortest path to fix
Step 1: State direction explicitly with one dominant key
Replace vague lighting language with concrete direction + intensity:
hard key light from upper-left at 45 degrees, single light source,
soft ambient fill 1/4 strength, shadows fall down and to the right,
long cast shadow, dramatic contrast, no rim light
The key phrase is single light source — it tells the model to commit to one dominant direction.
Step 2: Use photography-school lighting names
These are highly trained in the data:
# Specific named patterns
Rembrandt lighting (triangle of light on shadow-side cheek)
loop lighting (small nose shadow, looped toward mouth corner)
split lighting (half face lit, half in shadow)
butterfly lighting (key light directly above camera)
rim lighting from behind, separating subject from background
Drop one of these in instead of trying to describe geometry yourself.
Step 3: Anchor with a reference photo
When text alone leaves doubt, attach a reference:
- Midjourney:
--sref [URL of a photo with the exact lighting you want] --sw 100 - SDXL / Flux: IP-Adapter with
style_weight=0.7on a reference photo with clean directional lighting - ComfyUI: IP-Adapter Plus with weight 0.65 and “weight type: style transfer”
Pick a reference where the lighting is obviously single-source, not multi-source. Black-and-white classical portraits are often the cleanest references because the lighting reads cleanly without color noise.
Step 4: Negative-prompt the fights (SD-family)
If you keep getting double lighting, add to negative:
multiple light sources, two key lights, ring light, softbox lighting,
flat lighting, ambient overhead light, conflicting shadows,
shadows going in different directions
Keep weights normal — going above 1.3 distorts the image.
Step 5: Render lighting first, subject second
For commercial work where shadow direction must be exact:
- Generate a simple gray-tone “lighting study” of just the geometry with hard directional light first
- Use that as a ControlNet
depthornormalreference - Regenerate with the actual subject prompt and ControlNet at weight 0.8
This isolates the lighting decision from the subject decision.
Prevention
- Maintain a short list of 5-10 lighting-direction phrases (
Rembrandt,45 degree key, etc.) you know work reliably - Always include
single light sourceordominant key lightwhen you want one direction - Save 2-3 reference photos with clean directional lighting in your IP-Adapter /
--sreflibrary - Render small test thumbnails to check lighting before generating final high-res
- Cross-check shadow direction by squinting at the thumbnail — if shadows visibly disagree with the stated source, fix at prompt level, not in post