VRGDG Multi Reference Conditioning
Stack a pile of reference images and condition on all of them
- positive
- negative
- vae
- image1
- image2
- image3
- image4
- image5
- image6
- image7
- image8
- image9
- image10
- image11
- image12
- image13
- image14
- image15
- image16
- image17
- image18
- image19
- image20
- image21
- image22
- image23
- image24
- image25
- image26
- image27
- image28
- image29
- image30
- image31
- image32
- image33
- image34
- image35
- image36
- image37
- image38
- image39
- image40
- image41
- image42
- image43
- image44
- image45
- image46
- image47
- image48
- image49
- image50
- positive
- negative
- IMAGE
Character consistency across shots is the open wound of local video generation, and the 2026 answer to it is reference conditioning: feed the model a handful of images of the character and let it hold them in context while it generates. Bernini made the idea famous on the Wan side; MSR-LoRA brought it to LTX 2.3. VRGDG Multi Reference Conditioning is the generic, model-agnostic version from the VRGameDevGirl pack: it takes up to 50 reference images, VAE-encodes each one, and appends the resulting reference latents to both your positive and negative conditioning. Wire in the refs, get conditioning out.
How it works
The image_count control (default 4) decides how many image sockets show up - the node dynamically exposes image1 through imageN up to 50. Each connected image gets scaled, VAE-encoded, and appended to the conditioning. The scaling is where the quality decisions live:
upscale_method-nearest-exact,bilinear,area,bicubic, orlanczos.megapixels(default 1) - the target size each reference is normalized to before encoding. This is the VRAM dial: a 4K reference scaled to 1MP encodes fine, but if you crankmegapixelstoward 16 with ten refs, you'll feel it.resolution_steps(default 1) - how aggressively the scaling snaps to model-friendly resolutions.
The output is a rescaled positive, negative, plus the IMAGE (the processed references, handy for checking what actually got encoded). Because the references are appended to both passes, they're baked into the model's sense of the scene, not just its idea of what to aim for - which is also the gotcha: a reference you don't actually want (a cluttered background, an unwanted second subject) bleeds into the negative pass too, and there's no per-image strength to mute it. The node is all-or-nothing per image; prune the inputs, don't fight the outputs.
The inputs that matter
image_count- how many reference sockets to expose; set it to the refs you actually have.megapixels- target size per reference; 1 is the sensible default, lower if VRAM complains.positive/negative- your text conditioning, which comes back enhanced.
Install
Pack-wide: ComfyUI Manager → search vrgamedev (or add https://github.com/vrgamegirl19/comfyui-vrgamedevgirl), restart, hard-refresh. Manual: git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl into custom_nodes, pip install -r requirements.txt; Windows portable needs Cython + scikit-build-core first.
Troubleshooting
If the references seem to have no effect, check megapixels - a ref scaled to a few kilopixels has almost no conditioning signal. If VRAM dies when you add a fifth image, you're encoding at too high a megapixel count, not using too many refs. And if the output keeps dragging in junk from a reference image, that's the both-passes behavior - remove the bad reference rather than trying to tune it away. It pairs naturally with the FromPaths variant when your refs live in a project folder instead of on the canvas.
Inputs (57)
| Name | Type | Default | Description |
|---|---|---|---|
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| vae | VAE | — | |
| image_count | INT | 41–50 | How many image inputs to show and process. |
| upscale_method | COMBO | nearest-exact | 5 options: nearest-exact, bilinear, area, bicubic, lanczos |
| megapixels | FLOAT | 1.000.01–16 | — |
| resolution_steps | INT | 11–256 | — |
| image1opt | IMAGE | Optional reference image 1. | |
| image2opt | IMAGE | Optional reference image 2. | |
| image3opt | IMAGE | Optional reference image 3. | |
| image4opt | IMAGE | Optional reference image 4. | |
| image5opt | IMAGE | Optional reference image 5. | |
| image6opt | IMAGE | Optional reference image 6. | |
| image7opt | IMAGE | Optional reference image 7. | |
| image8opt | IMAGE | Optional reference image 8. | |
| image9opt | IMAGE | Optional reference image 9. | |
| image10opt | IMAGE | Optional reference image 10. | |
| image11opt | IMAGE | Optional reference image 11. | |
| image12opt | IMAGE | Optional reference image 12. | |
| image13opt | IMAGE | Optional reference image 13. | |
| image14opt | IMAGE | Optional reference image 14. | |
| image15opt | IMAGE | Optional reference image 15. | |
| image16opt | IMAGE | Optional reference image 16. | |
| image17opt | IMAGE | Optional reference image 17. | |
| image18opt | IMAGE | Optional reference image 18. | |
| image19opt | IMAGE | Optional reference image 19. | |
| image20opt | IMAGE | Optional reference image 20. | |
| image21opt | IMAGE | Optional reference image 21. | |
| image22opt | IMAGE | Optional reference image 22. | |
| image23opt | IMAGE | Optional reference image 23. | |
| image24opt | IMAGE | Optional reference image 24. | |
| image25opt | IMAGE | Optional reference image 25. | |
| image26opt | IMAGE | Optional reference image 26. | |
| image27opt | IMAGE | Optional reference image 27. | |
| image28opt | IMAGE | Optional reference image 28. | |
| image29opt | IMAGE | Optional reference image 29. | |
| image30opt | IMAGE | Optional reference image 30. | |
| image31opt | IMAGE | Optional reference image 31. | |
| image32opt | IMAGE | Optional reference image 32. | |
| image33opt | IMAGE | Optional reference image 33. | |
| image34opt | IMAGE | Optional reference image 34. | |
| image35opt | IMAGE | Optional reference image 35. | |
| image36opt | IMAGE | Optional reference image 36. | |
| image37opt | IMAGE | Optional reference image 37. | |
| image38opt | IMAGE | Optional reference image 38. | |
| image39opt | IMAGE | Optional reference image 39. | |
| image40opt | IMAGE | Optional reference image 40. | |
| image41opt | IMAGE | Optional reference image 41. | |
| image42opt | IMAGE | Optional reference image 42. | |
| image43opt | IMAGE | Optional reference image 43. | |
| image44opt | IMAGE | Optional reference image 44. | |
| image45opt | IMAGE | Optional reference image 45. | |
| image46opt | IMAGE | Optional reference image 46. | |
| image47opt | IMAGE | Optional reference image 47. | |
| image48opt | IMAGE | Optional reference image 48. | |
| image49opt | IMAGE | Optional reference image 49. | |
| image50opt | IMAGE | Optional reference image 50. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| IMAGE | IMAGE | — |