ComfyUI Node
Layer Steer
Apply concept steering at specific transformer layers with per-layer strength control. Hooks into cross-attention outputs for surgical injection. Prints per-layer statistics for interpretability.
Layer Steer
- model
- MODEL
◄lensNone►
◄strength1.00►
◄layer_presetall►
◄layer_mask0-5:0.2, 6-18:1.0, 19-23:0.5►
◄num_layers48►
◄normalizetrue►
◄report_statstrue►
◄report_interval5►
◄custom_lens_path►
CategoryConcept Steer/Advanced
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| lens | COMBO | None | Select a concept lens to apply |
| strength | FLOAT | 1.00-10–10 | Global steering strength (multiplied by per-layer mask) |
| layer_preset | COMBO | all | Which layers to steer: • all — every layer at full strength • early — first third of layers (composition/layout) • middle — middle third (subject/object features) • late — last third (texture/detail/lighting) • custom — use layer_mask input for fine control |
| layer_mask | STRING | 0-5:0.2, 6-18:1.0, 19-23:0.5 | Fine-grained per-layer strength (only used when preset='custom'). Format: 'range:strength, range:strength, ...' Examples: '6-18' → layers 6-18 at 1.0 '0-5:0.2, 6-18:1.0, 19-23:0.5' → graduated '10,11,12:1.5' → individual layers Layers not specified default to 0.0 (no steering). |
| num_layers | INT | 481–200 | Total number of transformer layers in the model. Used for preset calculations. 48 for Lumina2/Z Image Turbo, 24 for SD 1.5, 70 for SDXL. |
| normalize | BOOLEAN | true | Scale direction relative to cross-attention output norms |
| report_stats | BOOLEAN | true | Print per-layer steering statistics to console. Shows which layers are most affected by the concept injection — useful for understanding where concepts 'live' in the model. |
| report_interval | INT | 51–100 | Print layer report every N denoising steps |
| custom_lens_path | STRING | Override: absolute path to a .pt lens file |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |