Most portrait inconsistency problems do not start with the prompt. They start because the model is guessing the head angle, facial structure, and lighting at the same time.
A clean ControlNet face reference reduces that randomness.
Use FaceRef to decide four things before you generate:
Once those are stable, the prompt can focus on style, material, and mood instead of rebuilding the face from scratch.
When you want clearer construction, start with a Loomis-style breakdown.
When you need stronger lighting logic and clearer planes, use an Asaro-style structure. This is especially useful when you want the conditioning image to preserve the cheek, brow, nose wedge, and jaw relationships under dramatic light.
Different ControlNet workflows respond better to different kinds of simplification.
The important point is that the exported image should preserve the geometry you do not want the model to reinvent.
Open the FaceRef workspace and build the head angle before you touch the prompt stack.