Nodes/Eric Qwen-Edit & Qwen-Image Nodes/Eric Qwen-Image Component Loader
ComfyUI Node

Eric Qwen-Image Component Loader

Swap a fine-tuned transformer without re-downloading 38 GB

By EricRollei·Created 6 months ago·Updated 4 months ago· 20
Eric Qwen-Image Component Loader
    • pipeline
    base_pipeline_path
    transformer_path
    vae_path
    text_encoder_path
    precisionbf16
    devicecuda
    keep_in_vramtrue
    offload_vaefalse
    attention_slicingfalse
    sequential_offloadfalse
    vae_tile_blendcosine

    Eric Qwen-Image Component Loader is the advanced loader for the generation pipeline: it lets you mix and match the three big sub-models - transformer, VAE, text encoder - from different directories, instead of loading one monolithic model folder. The pitch is testing fine-tuned components without keeping full copies of everything. Got a fine-tuned transformer you want to try on the 2512 base? Point this at your fine-tune folder and reuse the base's tokenizer, scheduler, and text encoder.

    The one rule you can't break

    base_pipeline_path is always required - even if you override all three components. The base path provides the plumbing that has no separate override: model_index.json, the scheduler/ config, and the tokenizer/. If you don't override a component, its weights are loaded from the base path too. The source makes the constraint explicit: the generation pipeline has no processor (unlike the edit pipeline), so the base folder needs model_index.json, scheduler/, and tokenizer/ at minimum.

    The override paths (transformer_path, vae_path, text_encoder_path) each expect a folder with that component's config.json plus its weight files - or, for the transformer, a single .safetensors file (loaded as a state dict into the base architecture). Leave an override empty and you get the base's component.

    Architecture constraints - read before you get clever

    Everything you override must be architecture-compatible with Qwen-Image. The text encoder is Qwen2.5-VL, not CLIP; the VAE is the Qwen VAE; the transformer is the 20B MMDiT. You cannot plug in an SDXL UNet, a standard CLIP, or a random VAE - the pack loads through the diffusers from_pretrained path, which will either reject the mismatch or produce noise. What you can do is swap fine-tuned or quantized versions of the same Qwen-Image components. The README's table of scenarios is the honest shape of it: fine-tuned transformer → override transformer_path; quantized text encoder → override text_encoder_path; everything stock → just use Eric Qwen-Image Loader instead.

    The rest is the standard loader surface

    • precision - bf16 default (recommended for RTX 40/50), fp16, fp32.
    • device - cuda, cuda:0, cuda:1, cpu.
    • keep_in_vram (True) - cache between runs.
    • offload_vae (False) - VAE to CPU during transformer inference, saves ~1 GB.
    • attention_slicing (False) - lower peak VRAM, slower.
    • sequential_offload (False) - aggressive CPU offload, very slow, survives huge images.
    • vae_tile_blend - cosine (default) vs linear tile-seam blending.

    Output is one pipeline (QWEN_IMAGE_PIPELINE), wired into Generate, Multi-Stage, UltraGen, or Apply LoRA.

    Why you'd bother

    The whole point is disk and iteration economy. A full Qwen-Image-2512 folder is ~50 GB; if a community fine-tune only ships the transformer shards (the 38 GB part), you can drop that into transformer_path and inherit the base's ~15 GB text encoder and VAE rather than juggling a second full model directory. This is the node for people A/B-testing fine-tunes - which, for a model the community says "responds insanely well to LoRAs," happens a lot.

    Install: ComfyUI Manager search "Eric Qwen Edit", or git clone https://github.com/EricRollei/Eric_Qwen_Edit_Experiments into custom_nodes/ and restart. And remember the pack-wide gotcha: it pins diffusers<0.38 / transformers<5, so a too-new diffusers from another pack can break the from_pretrained load here.

    CategoryEric Qwen-Image

    Inputs (11)

    NameTypeDefaultDescription
    base_pipeline_pathSTRINGPath to complete Qwen-Image model (provides config, scheduler, tokenizer, and defaults for unset components)
    transformer_pathoptSTRINGPath to custom/fine-tuned transformer. Folder or single .safetensors file. Leave empty to use base.
    vae_pathoptSTRINGPath to custom VAE. Leave empty to use base.
    text_encoder_pathoptSTRINGPath to custom text encoder. Leave empty to use base.
    precisionoptCOMBObf16Model precision (bf16 recommended for RTX 40/50 series)
    deviceoptCOMBOcudaDevice to load model on
    keep_in_vramoptBOOLEANtrueKeep model in VRAM between runs (faster but uses memory)
    offload_vaeoptBOOLEANfalseMove VAE to CPU during transformer inference (saves ~1 GB)
    attention_slicingoptBOOLEANfalseEnable attention slicing (reduces VRAM, slightly slower)
    sequential_offloadoptBOOLEANfalseAggressive CPU offloading — very slow but handles huge images
    vae_tile_blendoptCOMBOcosineTile-seam blending for tiled VAE decode/encode. • cosine — C¹-smooth blend (zero slope at tile edges), eliminates faint grid lines on smooth gradients. • linear — original diffusers behaviour. Slightly sharper at tile edges; may show faint seams at high resolutions.

    Outputs (1)

    NameTypeDescription
    pipelineQWEN_IMAGE_PIPELINE