Text Encode Qwen Image Edit Plus (Batch)
One prompt, a whole batch of texture edits
- clip
- vae
- images
- conditioning
Qwen-Image-Edit is the open instruction editor that, in roughly a year, absorbed most of what masks and ControlNets used to do: you hand it a picture and a sentence, and the change happens. Text Encode Qwen Image Edit Plus (Batch) is the ComfyUI node that lets you do that to a whole batch of textures at once - hand it several reference images and one instruction, and it bakes all of them into a single conditioning. "Add rust to the metal," applied to eight tiles in one pass.
How it works
ComfyUI ships a built-in "Text Encode Qwen Image Edit Plus" node for single-image editing. This is a batch-aware wrapper with the same behavior, and the mechanism is worth understanding because it's where the power comes from:
- Every image in the
imagesbatch gets downscaled to ~384×384 and appended into the prompt asPicture 1: <vision tokens>,Picture 2: ..., and so on, followed by your instruction. The Qwen2.5-VL vision encoder reads those tokens, so the editor "sees" every reference image. - If you also connect a
vae, each image is additionally encoded at ~1024×1024 into reference latents, which get attached to the conditioning. That dual path - semantic (vision) plus appearance (latents) - is exactly how Qwen-Image-Edit is architected, and it's what keeps the edits grounded in the source pixels.
The output is a standard CONDITIONING that goes straight into a KSampler with the Qwen-Image-Edit checkpoint loaded. The clip input takes the model's text encoder.
The context you need
Two things shape how you use this. First, the model family: you need the Qwen-Image-Edit checkpoint and its CLIP loaded in ComfyUI - this node doesn't bring any weights, it just encodes. Second, the honest limit from the community: an edit model re-emits the whole frame, so pixels you didn't ask about move a little, and drift compounds across a chain of edits. For texture work that's often fine (you're editing the whole tile), but if you need untouched pixels, mask the result or fall back to crop-and-stitch - the same pack's inpainting nodes exist for exactly that.
Installing it
Part of amtarr/ComfyUI-TextureAlchemy. ComfyUI Manager → search "Texture Alchemy", or:
cd ComfyUI/custom_nodes
git clone https://github.com/amtarr/ComfyUI-TextureAlchemy
Restart, then find it under Conditioning. The node itself has no dependencies beyond ComfyUI's own Qwen support - but you're on the hook for the Qwen-Image-Edit model files, which are a few GB and downloaded separately.
Where people get burned
The batch input is an IMAGE batch, not a folder or a list - you need to assemble your textures into a batch (stack images) before connecting. And because each reference image costs a full vision-encode plus optional VAE encode, batches chew VRAM and time; a batch of eight 1024² images with the VAE connected will make your GPU feel it. Keep the VAE connected only when appearance grounding matters, and expect the pack's console banner on each run.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — | |
| prompt | STRING | — | |
| vaeopt | VAE | — | |
| imagesopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| conditioning | CONDITIONING | — |