Nodes/ComfyUI-VIBE/VIBE Image Editor
ComfyUI Node

VIBE Image Editor

Point at a picture and say what to change, in plain English

By ato-zen·Created 8 months ago·Updated 7 months ago· 10
VIBE Image Editor
  • image
  • latent_image
  • IMAGE
positivemake it blue
steps20
cfg_text4.5
cfg_image1.2
seed0

"Make it winter." "Turn the dog into a cat." "Put her in a cowboy hat." That's the whole workflow here - the VIBE Image Editor takes a picture and an instruction in natural language, and edits the image to match. No inpainting mask, no ControlNet preprocessor, no careful negative-prompt choreography. One node, one sentence, done.

VIBE stands for Visual Instruction Based Editor, an open-source model from the AI-Forever / iitolstykh crew, and this node is a clean ComfyUI wrapper around it. Under the hood it's a roughly 1.6B-parameter Sana diffusion transformer paired with a 2B Qwen3-VL vision-language model as the text encoder. The smallness is the point: it runs on a single consumer GPU in a few seconds and loads in bf16, unlike the 20B+ editing monsters floating around. It's fast because Sana uses linear attention, and it's local - no API, no key, nothing leaves your machine.

How it actually works

Your positive prompt isn't fed to the model raw. VIBE wraps it as "what will this image be like if {your instruction}" and passes that, together with the image, through Qwen3-VL - that's the part that actually understands "make it winter" as a semantic change rather than a tag list. Then the Sana transformer denoises, and the pipeline uses two separate guidance scales (the instruct-pix2pix trick):

  • cfg_text (default 4.5) - how hard the instruction is applied. Crank it up when edits come out too subtle.
  • cfg_image (default 1.2) - how strongly the original image is preserved. This is the dial people sleep on: raise it to keep composition and detail locked down, lower it to let the edit really rework the picture.

Resolution is handled for you. The node snaps everything to multiples of 32 (a Sana requirement), and if you connect an image it resizes the result back to your original dimensions. That's the one genuinely smart convenience here - most ComfyUI users are used to babysitting latent sizes, and this quietly doesn't make you.

The inputs that matter

  • positive - your instruction. This is the star; "make it blue" is the default but it handles compound edits like "turn the sky to sunset and add snow."
  • steps (default 20) - more steps, more careful edits; 20 is usually plenty.
  • cfg_text and cfg_image - the two sliders above; they do most of the quality tuning.
  • seed - set it to reproduce an edit.
  • Optional image (the thing you're editing) and latent_image - plug in an Empty Latent Image if you want to control the output resolution instead of inheriting it from the input.

Output is a single IMAGE, which wires straight into anything downstream - Save Image, an upscaler, whatever.

Installing it

ComfyUI Manager is the easy path: search for ComfyUI-VIBE and install. Or do it by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/ato-zen/ComfyUI-VIBE
cd ComfyUI-VIBE
pip install -r requirements.txt

Then restart ComfyUI. The node looks for weights in ComfyUI/models/vibe/, and the pack ships a "Check / Download Model" button on the node that pulls iitolstykh/VIBE-Image-Edit from Hugging Face for you - it's a few gigabytes, not a Flux-sized download. Manual route: mkdir -p models/vibe && cd models/vibe && git clone https://huggingface.co/iitolstykh/VIBE-Image-Edit. Dependencies are diffusers>=0.33.1, transformers, accelerate, plus a few utility libs - nothing exotic.

Where people get burned

First generation is slow: the node lazily imports its libraries and loads both models on first run (it hardcodes device="cuda", so CPU-only installs won't work). The wait is one-time - the model stays cached in memory after that. If the download button throws a "Module 'huggingface_hub' missing!" error, re-run pip install -r requirements.txt; that's the exact message the source raises when the env is short a package.

Set expectations honestly. The community reception for VIBE-Image-Edit was lukewarm - testers found surgical edits like "remove their sunglasses" hit-or-miss, and it's not in the same league as heavier editors like QIE or Flux Kontext. Think of it as the lightweight, fast, good-enough option for broad transformations, not the thing that re-lights a scene. And before you build anything commercial on it: it inherits Sana's restrictive non-commercial license, so check the terms before you ship.

CategoryVIBE

Inputs (7)

NameTypeDefaultDescription
positiveSTRINGmake it blue
stepsINT201–100
cfg_textFLOAT4.50–20
cfg_imageFLOAT1.20–10
seedINT00–18446744073709550000
imageoptIMAGE
latent_imageoptLATENT

Outputs (1)

NameTypeDescription
IMAGEIMAGE