Nodes/ComfyUI-ArchAi3d-Qwen/ArchAi3D_Qwen_Encoder_Simple
ComfyUI Node

ArchAi3D_Qwen_Encoder_Simple

The encoder for people who just want conditioning and no label-fiddling

By amir84ferdos·Created 11 months ago·Updated 5 months ago· 70
ArchAi3D_Qwen_Encoder_Simple
  • clip
  • vae
  • image1_vl
  • image2_vl
  • image3_vl
  • image1_latent
  • image2_latent
  • image3_latent
  • conditioning
  • latent
  • formatted_prompt
prompt
system_prompt
conditioning_strength1.00
image1_latent_strength1.00
image2_latent_strength1.00
image3_latent_strength1.00
debug_modefalse

The full encoder is a panel of labels and six strength dials, which is a lot of furniture when all you want is "edit this image with this instruction." ArchAi3D_Qwen_Encoder_Simple is the stripped version: same conditioning pipeline, no image labels to name, one main strength slider instead of three separate ones. If you're new to this pack, start here.

What's on the panel

Required:

  • clip - the Qwen-VL CLIP.
  • prompt - your edit instruction (vision tokens added automatically).
  • system_prompt - optional, ChatML-wrapped when provided.
  • conditioning_strength (0–2) - the master dial. The tooltip calls it out specifically: "Acts like CFG weight." That's the mental model - below 1.0 softens the instruction, above 1.0 pushes it harder.
  • image1_latent_strength / image2_latent_strength / image3_latent_strength - flagged [EXPERIMENTAL] in the tooltips. These multiply the per-image reference latent values; at 1.0 they do nothing, so you can ignore them until you're chasing a specific result.
  • debug_mode - prints conditioning shapes and strengths to the console.

Optional:

  • vae - needed only if you're feeding latent reference images.
  • image1_vl / image2_vl / image3_vl - up to three images for the vision encoder, RGB only, no resize.
  • image1_latent / image2_latent / image3_latent - the same (or different) images VAE-encoded as reference latents.

Outputs

conditioning (the samplable result), latent (the image1 latent, VAEDecode-compatible), and formatted_prompt (the final ChatML prompt for debugging). Same three outputs as the full encoder - the simplification is all on the input side.

How it works

Identical pipeline to ArchAi3D_Qwen_Encoder: VL images feed the vision encoder for semantics, latent images feed the VAE for appearance, and everything gets wrapped in ChatML with the vision tokens inserted. What's different is the controls - no image labels (so no "which image is which" clarity for the model), and the latent strength dials are flagged experimental because they multiply latent values directly rather than going through the interpolation logic the newer encoders use.

The honest take

This is the right encoder for a single-image edit where your prompt is self-explanatory ("change the dress to blue") and you don't need to tell the model "image 2 is the style reference." The moment you have two or three images playing different roles, the label system in the full encoder or V2 becomes genuinely useful - unnamed images in a multi-image prompt are how Qwen gets confused about which one to edit. And if you find conditioning_strength behaving wildly with a system prompt attached, that's the V1-style raw-multiply behavior; V2's interpolation handles it more predictably.

Install

Same pack, once:

cd ComfyUI/custom_nodes
git clone https://github.com/amir84ferdos/ComfyUI-ArchAi3d-Qwen.git
cd ComfyUI-ArchAi3d-Qwen && pip install -r requirements.txt

Or ComfyUI Manager → "ArchAi3d Qwen". Restart, find it under ArchAi3d/Qwen. You still need the Qwen-Image-Edit model and a Qwen-VL CLIP - nothing here generates without them. And the pack's encoder pages share the same caveats: pre-size images for the VL encoder, and quantize the 20B model if you're on a consumer GPU.

CategoryArchAi3d/Qwen

Inputs (15)

NameTypeDefaultDescription
clipCLIPQwen-VL CLIP model for tokenization and encoding
promptSTRINGUser prompt text (vision tokens added automatically)
system_promptSTRINGOptional system prompt (uses ChatML format: <|im_start|>system...when provided)
conditioning_strengthFLOAT1.000–2Global conditioning strength multiplier (1.0=normal, >1.0=stronger, <1.0=weaker). Acts like CFG weight.
image1_latent_strengthFLOAT1.000–2[EXPERIMENTAL] Multiplies image1 reference latent values (1.0=normal, >1.0=stronger, <1.0=weaker)
image2_latent_strengthFLOAT1.000–2[EXPERIMENTAL] Multiplies image2 reference latent values (1.0=normal, >1.0=stronger, <1.0=weaker)
image3_latent_strengthFLOAT1.000–2[EXPERIMENTAL] Multiplies image3 reference latent values (1.0=normal, >1.0=stronger, <1.0=weaker)
debug_modeBOOLEANfalsePrint detailed info to console (conditioning shapes, strengths applied, etc.)
vaeoptVAEVAE for encoding reference latents (optional, needed for latent outputs)
image1_vloptIMAGEImage 1 for Qwen-VL vision encoder (RGB channels only, no resize)
image2_vloptIMAGEImage 2 for Qwen-VL vision encoder (RGB channels only, no resize)
image3_vloptIMAGEImage 3 for Qwen-VL vision encoder (RGB channels only, no resize)
image1_latentoptIMAGEImage 1 for VAE encoding as reference latent (RGB only, standard 4D format)
image2_latentoptIMAGEImage 2 for VAE encoding as reference latent (RGB only, standard 4D format)
image3_latentoptIMAGEImage 3 for VAE encoding as reference latent (RGB only, standard 4D format)

Outputs (3)

NameTypeDescription
conditioningCONDITIONINGEncoded conditioning with vision tokens and reference latents
latentLATENTimage1_latent encoded output in standard format (compatible with VAEDecode)
formatted_promptSTRINGFinal formatted prompt sent to the model (includes vision tokens and ChatML)