Nodes/JPS Custom Nodes for ComfyUI/Revision Settings (JPS)
ComfyUI Node

Revision Settings (JPS)

Stability's forgotten unCLIP image-prompting menu

By JPS-GER·Created 3 years ago·Updated 2 years ago· 100
Revision Settings (JPS)
    • revision_settings
    rev1_strength1.0
    rev2_strength1.0
    rev1_noiseaug0.0
    rev2_noiseaug0.0
    rev1_crop
    rev1_offset0
    rev2_crop
    rev2_offset0
    crop_intpol
    crop_res224

    If you landed here because you opened an old JPS SDXL workflow template and a "Revision Settings" node is just sitting there, here's the honest answer: this is legacy Stability tech. "Revision" was Stability AI's own image-prompting feature, shipped in August 2023 alongside Control-LoRAs, built on unCLIP - hand it a reference image, no training and no text prompt required, and it conditions generation on that image's CLIP vision embedding. It still works. Almost nobody uses it fresh in 2026, because IP-Adapter (released the very same month, as it happens) ended up eating this exact niche and never let go - it's the more actively maintained path today for "condition on a reference image without training."

    This node is the settings menu for that technique - turn it on, dial in two reference-image slots, and pass the whole bundle downstream in one wire.

    How it works

    Revision supports blending two reference images at once (mix style from one, content from another), which is why every parameter here comes in a rev1/rev2 pair. rev1_strength/rev2_strength (0–10, default 1) weight how much each reference's embedding contributes. rev1_noiseaug/rev2_noiseaug (0–1, default 0) is noise augmentation - the same mechanism unCLIP variation models use generally: injecting controlled noise into the embedding before conditioning loosens how literally the model reproduces the reference. At 0, it follows tightly; push it up and the model gets more room to interpret rather than copy.

    CLIP vision encoders take a fixed square input, so if your reference isn't already square, something has to pick which region to keep - that's rev1_crop/rev2_crop (center/top/bottom/left/right), fine-tuned by rev1_offset/rev2_offset in pixels. crop_intpol sets the resize algorithm for that crop, and crop_res (224–1792, steps of 224, default 224) sets the target resolution - 224 isn't an arbitrary number, it's the real native input size of the OpenCLIP ViT encoders this whole pipeline runs on, which is why the range only steps in multiples of it.

    The inputs and outputs that matter

    • rev1_strength/rev2_strength (FLOAT, 0–10, default 1) - how much each reference conditions the result.
    • rev1_noiseaug/rev2_noiseaug (FLOAT, 0–1, default 0) - how loosely the model can deviate from the reference.
    • rev1_crop/rev2_crop + rev1_offset/rev2_offset - which part of a non-square reference to keep.
    • crop_res (224–1792, step 224, default 224) - target resolution for the CLIP vision crop.
    • Output: revision_settings (BASIC_PIPE) - feeds into Revision Settings Pipe (JPS) downstream.

    How to install it

    ComfyUI Manager, searching "JPS Custom Nodes for ComfyUI," or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/JPS-GER/ComfyUI_JPS-Nodes.git
    

    Restart. This node itself needs nothing extra, but the actual Revision technique depends on ComfyUI's built-in unCLIP conditioning nodes and a matching CLIP vision checkpoint - those come from core ComfyUI, not this pack.

    Common issues & troubleshooting

    You're not sure why you'd use this over IP-Adapter. Reasonable question - for most reference-conditioning jobs today, you shouldn't. IP-Adapter has a much bigger base of current tutorials, active troubleshooting help, and (via its Plus variants) noticeably tighter fidelity to the reference. Revision is worth keeping only if you're specifically running an older JPS workflow built around it, or deliberately experimenting with unCLIP.

    crop_res mismatched against your loaded CLIP vision model. This value needs to line up with whatever CLIP vision encoder you've got wired upstream. A mismatch here typically doesn't throw a hard error - it just produces weaker, mushier conditioning, which is a much harder bug to spot than a crash.

    Nothing seems to change when you turn rev1_noiseaug up. Small moves matter less than they sound like they should; the practical range most people actually use is well below 0.5. If you're chasing more creative freedom from the reference, also check rev1_strength isn't pinned too high - strength and noise augmentation interact.

    CategoryJPS Nodes/Settings

    Inputs (10)

    NameTypeDefaultDescription
    rev1_strengthFLOAT1.00–10
    rev2_strengthFLOAT1.00–10
    rev1_noiseaugFLOAT0.00–1
    rev2_noiseaugFLOAT0.00–1
    rev1_cropCOMBO5 options: center, top, bottom, left, right
    rev1_offsetINT0-2048–2048
    rev2_cropCOMBO5 options: center, top, bottom, left, right
    rev2_offsetINT0-2048–2048
    crop_intpolCOMBO6 options: lanczos, nearest, bilinear, bicubic, area, nearest-exact
    crop_resINT224224–1792

    Outputs (1)

    NameTypeDescription
    revision_settingsBASIC_PIPE