Nodes/comfyui-lrw-nodes/Apply Transported Vector (LRW)
ComfyUI Node

Apply Transported Vector (LRW)

Add the style you just carried

By lajjadred·Created 3 months ago·Updated 3 months ago· 12
Apply Transported Vector (LRW)
  • latent
  • vector
  • latent
strength1.00

The last node in the style-transfer chain and the one with the least to explain. Apply Transported Vector takes a target latent, takes a vector, and adds them together scaled by a strength you choose. result = latent + strength × vector. That's the whole mechanism, and it's exactly right for its job.

Where it sits

The full pipeline goes: LRW_LatentVectorFromDiff builds a direction from two images, LRW_ParallelTransport carries that direction from the source location to your target location, and this node finally applies it. Without the transport step you could do the same arithmetic with any latent-math node, but the transported vector is the whole point - it's the direction that means the same thing at the destination as it did at the source. This node is just the clean way to land it.

Inputs:

  • latent - your target latent, e.g. from VAEEncode of the image you want to modify.
  • vector - the transported vector from LRW_ParallelTransport (a raw diff vector also works, but then you've skipped the geometry part).
  • strength (default 1, range 0–5) - how much of the vector to add. Start at 0.5-ish and work up; the transported vector's scale depends on how you built it, so nobody can give you a universal value. Above 1 you're deliberately overshooting, which is sometimes a useful effect and sometimes mush.

Output is a single latent, ready for KSampler (that's how the pack's style-transfer example wires it).

The honest gotchas

Three things trip people up. First: the vector is a LATENT-typed tensor that isn't a real latent - don't try to VAEDecode it directly, the numbers are full of negative values and it'll just look like noise. Second: shape. latent and vector need matching spatial shapes or you'll get a broadcast error; if you built your vector at a different resolution than your target, VAE-encode at the same resolution or the arithmetic silently does the wrong thing. Third: expectation setting. The author's own framing (from the announcement thread) is that these are soft guides, not magic quality boosters - a transported lighting direction shifts the result subtly, it doesn't relight your image. If you get no visible change, crank strength up, and if you get chaos, crank it down.

Install

Part of comfyui-lrw-nodes by lajjadred, the ComfyUI face of his latent-riemannian-world package. Search the pack in ComfyUI Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/lajjadred/comfyui-lrw-nodes
cd comfyui-lrw-nodes
pip install -r requirements.txt

Restart ComfyUI. Real deps: latent-riemannian-world >= 0.3.0, torch >= 2.4, Python 3.12+. Early builds had a registration bug that showed nodes as broken/UNKNOWN until fixed upstream - git pull + full restart clears it, and keep a single copy of the pack in custom_nodes. License is BSL-1.1.

Categorylrw/core

Inputs (3)

NameTypeDefaultDescription
latentLATENT
vectorLATENT
strengthFLOAT1.000–5

Outputs (1)

NameTypeDescription
latentLATENT