Abstract
We steer image generation by extracting visual concept directions directly from the image-side activations of a Diffusion Transformer, with only a handful of positive and negative prompt pairs.
Recent steering methods for diffusion models mostly work in the text-conditioning space or rely on costly auxiliary training. We observe that scene-level concepts such as lighting, weather and style are distributed across image tokens, while local concepts such as object colors, textures, materials and facial attributes are concentrated in specific regions. We therefore use a global difference-of-means for distributed concepts and a masked difference-of-means for local ones, which prevents local signals from being diluted by global averaging.
The resulting directions are reusable and are injected at inference for continuous steering, without any training. They give substantially stronger edits than text-encoder steering and training-free activation-editing baselines, approach trained reference-image editing models, and can be applied at patch level to steer several concepts in the same image.
Method
01Prompt pairs
SAM 3 masks for local concepts
02Residual extraction
03Steering injection
Local steering · inside a region
→
→
Global steering · all tokens
→
Composition
A direction is extracted once and is independent of where it is applied. Different concepts can therefore be sent to different regions of the same image, in a single steering pass. Drag across each image to compare.

originalsteeredLeft car blue, right car green.

originalsteeredLeft teapot wooden, right teapot gold.

originalsteeredLeft person beard, right person smile.

originalsteeredTwo global concepts at once: anime + snowy.
Results
We evaluate 23 concepts (global, object and face) on held-out prompts, measuring edit success with ΔVQA and drift from the original image with LPIPS, at the strongest evaluated strength of each method.
| Method | ΔVQA ↑ | LPIPS ↓ |
|---|---|---|
| Editing models · trained, reference-conditioned | ||
| SliderEdit | 0.35 | 0.44 |
| Kontinuous Kontext | 0.36 | 0.32 |
| Training-free steering · FLUX.1-dev | ||
| SAEdit | 0.19 | 0.28 |
| FluxSpace | 0.17 | 0.21 |
| Ours · training-free | ||
| FLUX.1-dev · 5 pairs | 0.29 | 0.34 |
| FLUX.1-schnell · 5 pairs | 0.32 | 0.29 |
| FLUX.1-schnell · 10 pairs | 0.32 | 0.29 |
| FLUX.1-schnell · 20 pairs | 0.31 | 0.29 |
Pairs = positive/negative prompt pairs used for extraction.
- Ours (5 pairs)
- Ours (10 pairs)
- Ours (20 pairs)
- SliderEdit
- K. Kontext
- SAEdit
- FluxSpace
Our directions give much stronger edits than the training-free baselines, and approach the trained editing models conditioned on the reference image. Five pairs are enough: 10 or 20 pairs barely change the results.
| Local concepts | Extraction | LPIPS ↓ | ΔVQA ↑ |
|---|---|---|---|
| Face | Masked DoM | 0.189 | 0.185 |
| Face | Global DoM | 0.267 | 0.171 |
| Objects | Masked DoM | 0.164 | 0.287 |
| Objects | Global DoM | 0.183 | 0.277 |
Masking the extraction improves both edit success and preservation for local concepts, most clearly for faces.
FLUX.2
The same recipe transfers to FLUX.2-Klein 4B and to steering an existing reference image. Directions are extracted only from synthetic prompt pairs. The conditioning prompt is empty and only the steering strength changes. Unlike a single prompt-based edit, the strength of the concept is controlled continuously.
Reference
α low
α mid
α high
FLUX.2 editGallery
Limitations
Semantic mismatch
When the image does not naturally support the concept, the edit stays weak or ambiguous, e.g. stripes that only appear in the reflections of the car.



Spatial drift
Strong local edits can also change the geometry of the object, here the shape of the chair.



Concept entanglement
A direction can bring correlated attributes with it: injecting lipstick also adds a smile.



BibTeX
@inproceedings{quignon2026fewshot,
title = {Few-Shot Visual Concept Extraction for Steering Diffusion Transformers},
author = {Quignon, Nabyl and Dantcheva, Antitza},
booktitle = {Advances in Neural Information Processing Systems},
year = {2026}
}