AQ_Image_DetailTransfer
Pump the fine detail from one image into another
- target
- source
- mask
- image
"Detail transfer" is a classic photo trick: take the high-frequency detail from one image - texture, grain, skin pores, fabric weave - and lay it over another image that's missing it, without changing the target's overall look. This node does exactly that in one step, with 11 blend modes and an optional mask. It's the thing to reach for when an AI output comes out airbrushed-smooth and you want the texture back.
How it works
The key move is the blur. The node blurs both images (a Gaussian blur sized from blur_sigma), because a blur isolates low frequency: high-pass detail = image − blurred image. In the default add mode it computes (source − blurred_source) + blurred_target - the source's fine detail added on top of the target's blurred base. Result: a picture that looks like the target but has the source's texture.
Every other mode swaps in a different formula on the same blurred ingredients - screen, overlay, soft_light, hard_light, color_dodge, color_burn, difference, exclusion, divide, multiply. Then blend_factor lerps the whole result against the original target (negative values reverse the effect), an optional mask restricts where it applies, and the result is clamped to 0–1. There's also an image_output switch (Hide / Preview / Save / Hide-Save) with a save_prefix, so you can have it write files while still returning the image.
Inputs
target- what you want the result to look like.source- where the detail comes from.mode- 11 blend modes, defaultadd.blur_sigma- 0.1 to 100, default 1. This controls the frequency band of the transferred detail.blend_factor- -10 to 10, default 1.image_output,save_prefix- preview/save behavior.mask(optional) - limit the transfer to a region.
Output
image.
Install
Ships in AQnodes:
cd ComfyUI/custom_nodes
git clone https://github.com/2frames/ComfyUI-AQnodes
cd ComfyUI-AQnodes
pip install -r requirements.txt
or search "AQnodes" in ComfyUI Manager and restart.
Gotchas
Source and target don't need matching dimensions - the node upscales the source to the target's size, but it's a plain resize, so wildly different content just smears. blur_sigma is the main dial: too small leaves the source's noise behind, too big thins the detail into nothing. And if you don't want files piling up on disk, keep image_output on Preview - the Save options write via ComfyUI's standard save path using save_prefix.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| target | IMAGE | — | |
| source | IMAGE | — | |
| mode | COMBO | add | 11 options: add, multiply, screen, overlay, soft_light, hard_light, +5 |
| blur_sigma | FLOAT | 1.000.1–100 | — |
| blend_factor | FLOAT | 1.000-10–10 | — |
| image_output | COMBO | Preview | 4 options: Hide, Preview, Save, Hide/Save |
| save_prefix | STRING | ComfyUI | — |
| maskopt | MASK | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |