EditUtils: Boogu Config Preparer lrzjason
How to Feed Boogu More Than Three Reference Images
- image
- configs
- mask
- configs
- config
The Boogu branch of EditUtils has a one-shot encode node (BooguEditTextEncode) that caps you at three reference images. BooguConfigPreparer_EditUtils is the node you reach for when three isn't enough - or when you want per-image control that the one-shot node doesn't expose. Boogu-Image, the 2026-06 model family this pack wraps, does multi-reference editing well, and this is how you actually point it at a pile of references.
Here's the mechanism, because it's the clever part. Each ConfigPreparer takes one image and all of the processing choices for that image, bundles them into a dict, and appends that dict to a configs list. The configs input lets you chain Preparers together: the first one has no list, so it starts one; the second one takes the first's configs output and appends its own config; and so on, for as many images as you want. The finished list goes into EditTextEncode_EditUtils.configs, which walks it and encodes every entry. The README is explicit that the multi-config path is unlimited - the "3 images max" limit only exists in the simple one-shot node.
For each image you're setting three groups of things. The reference group decides whether the image becomes a reference latent at all (to_ref), whether it's the main image whose latent becomes the sampler's starting point (ref_main_image), and how it's resized (ref_longest_edge, ref_resize_mode, ref_crop, ref_upscale). The vision group does the same for the Boogu vision tower (to_vl, vl_target_size, vl_crop, vl_upscale) - Boogu, unlike Flux 2 Klein, uses a vision tower on top of the reference latents, which is why these knobs exist at all. And then there are rope_x_offset / rope_y_offset, which shift where the reference sits on the canvas by nudging its RoPE position - genuinely useful for regional editing, but only if you've got BooguEditApply_EditUtils patching the model, since that's the node that reads the offsets back out of the conditioning.
Two settings that matter more than the others. ref_main_image is the one that decides which reference becomes the seed latent - set it on exactly one image or Boogu defaults to the first. And ref_crop: "pad" is the default for a reason: it letterboxes the image to a VAE-friendly multiple of 8 instead of cropping content off, and it's the mode that pairs with CropWithPadInfo_EditUtils on the way out.
Watch the mask rule: any mask you attach must be the same height and width as the image, or the node silently drops it with a console warning. That's not a crash, it's a "your inpainting is about to ignore you" signal. Install is the pack standard - Manager, search "EditUtils", or clone lrzjason/ComfyUI-EditUtils into custom_nodes and restart. The Boogu model, Qwen3-VL encoder and VAE are yours to supply.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — | |
| configsopt | LIST | Configs list | |
| to_refopt | BOOLEAN | true | Add image to reference latent |
| ref_main_imageopt | BOOLEAN | true | Set image as main image which would return the latent as output. |
| ref_longest_edgeopt | INT | 102416–4096 | Longest edge of the output latent |
| ref_cropopt | COMBO | pad | Crop method for reference image |
| ref_upscaleopt | COMBO | lanczos | Upscale method for reference image |
| to_vlopt | BOOLEAN | true | Add image to boogu vision tower encode |
| vl_target_sizeopt | INT | 384384–2048 | Target size for vision tower input |
| vl_cropopt | COMBO | center | Crop method for vision tower input |
| vl_upscaleopt | COMBO | lanczos | Upscale method for vision tower input |
| maskopt | MASK | — | |
| ref_resize_modeopt | COMBO | longest_edge | longest_edge: scale so the longest dimension equals ref_longest_edge. area: scale so total pixels equals ref_longest_edge squared. |
| rope_x_offsetopt | INT | 00–4096 | ROPE horizontal position offset in pixels (VAE-aligned). Shifts reference rightward on canvas. Requires model EditApply node. |
| rope_y_offsetopt | INT | 00–4096 | ROPE vertical position offset in pixels (VAE-aligned). Shifts reference downward on canvas. Requires model EditApply node. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| configs | LIST | — |
| config | ANY | — |