Repeat Conditioning
Same Prompt, N Copies — the Boring Node That Unblocks Batch Sampling
- conditioning
- CONDITIONING
"Repeat Conditioning" is a one-trick node: it takes a single conditioning and duplicates it until it matches a batch size you choose. On the surface that sounds pointless - but it's the kind of plumbing that unblocks batch sampling in ComfyUI, and it's why you see conditioning-repeat nodes in so many utility packs.
The problem it solves
In ComfyUI, conditioning and latents both carry a batch dimension, and they need to agree before the sampler runs. You'll often build a batch of latents (say 8, for a batch of 8 images or a batch of video frames) but encode conditioning from a single prompt, which comes out as batch 1. Depending on your setup that mismatch either errors out or silently broadcasts in a way you don't control. This node makes the agreement explicit: conditioning in, batch_size set to 8, and the sampler gets conditioning that's visibly, deliberately 8-wide.
It's the conditioning-side mirror of nodes like RepeatLatentBatch - if you've ever hit the "conditioning batch size doesn't match latents" wall, this is the hammer.
What the node does mechanically
conditioning(CONDITIONING) - whatever you encodedbatch_size(INT, 1 to 1024, default 1)
If batch_size is 1, it returns your conditioning untouched - no copy, no overhead. Otherwise it takes the first row of the conditioning tensor, repeats it batch_size times, and does the same for the pooled output. That means every image in the batch genuinely shares the same prompt, which is exactly what you want when you're applying one prompt to a batch.
Two caveats from reading the source, both worth knowing before you lean on this node:
- It only keeps
pooled_output. The duplicated conditioning chunks are rebuilt as just[tensor, {"pooled_output": ...}]. Any extra keys a node attached to the conditioning - some conditioning stacks carry additional metadata beyond the pooled output - get dropped in the copies. If you're doing advanced conditioning stacking, apply that after this node, not before. - It collapses to the first row. A multi-row conditioning (like a series of prompt chunks) is reduced to its first latent row and repeated. If you meant to repeat a whole multi-row conditioning, this isn't the node for that.
Install
Standard Pixel-Forge install. ComfyUI Manager: search "ComfyUI-Pixel-Forge", install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/ThunderBolt4931/comfyui_pixel_forge
restart, and it lives under the Pixel_Forge/Utils menu. No model files, no downloads.
A note on trust: this pack is brand new - single December 2025 commit, zero community footprint, a README that's pure scaffolding and documents none of the nodes. For a node this small, that's fine; the behavior above is read directly from the code. But don't assume the pack's other, model-loading nodes are equally friction-free - those download real weights on first run and are the ones to budget time for.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | — | |
| batch_size | INT | 11–1024 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |