Batch Prompt Crop Area
A per-tile prompt node for the VACE upscaler that's still finding its feet
- clip
- croparea_list
- croparea_list
RegionalBatchPrompt exists to attach a different text prompt to each tile of a crop plan, so that when the upscaler redraws a region it can be told what that region actually contains - a face tile gets "sharp detailed face," a background tile gets "crisp landscape texture." That's the idea, and it's a good one, because a single global prompt is a blunt instrument for a tiled generative upscale.
Here's the honest part: this node encodes the conditioning into the crop list, but as of the current version the upscaler doesn't consume that per-tile conditioning - it builds its positive/negative from the CONDITIONING inputs you feed it directly. So don't wire this up expecting per-region prompt separation to actually change your sampling yet. Treat it as experimental plumbing, and check the pack's changelog/source before you bet a long render on it.
How it works
Three inputs, one output:
clip- the CLIP model used for encoding the text (the tooltip says it plainly).prompt_list- a STRING containing your prompts, one per crop area, in the same order as the crop list. Newline-separated; each line becomes one tile's prompt.croparea_list- the LIST from Custom Crop Area (or a custom crop plan).
It tokenizes and encodes each prompt with the CLIP model and stores the conditioning onto each item of the crop list, then returns the same croparea_list (now carrying cond_p per region). The one hard rule: the number of prompts must equal the number of crop areas, or it raises "Length of prompt_list is not same as croparea_list, check nodes connection." That's the failure mode you'll actually hit, and it's always a count mismatch.
Install
It's in the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/bbaudio-2025/ComfyUI-SuperUltimateVaceTools
Restart ComfyUI (or search "SuperUltimateVaceTools" in Manager). No extra dependencies.
Gotchas
- Count your prompts against your tiles. Four tiles, four lines. Every mismatch aborts with that error above, so it's self-diagnosing at least.
- Order matters and it's not labeled visually - prompt line 1 pairs with crop area 1, so keep the mapping in your head (or a comment group) or your face tile will get the background prompt.
- The node returns the crop list with conditioning attached but, per the version caveat above, the upscaler's actual sampling doesn't read it yet. You can verify quickly: connect it, run, and check whether changing one region's prompt changes only that region in the output. If it doesn't, you've confirmed what the source says.
- It needs a
clip- if you're upscaling a VACE pipeline that never wired a CLIP through, you'll have to add one just to feed this node.
It's one of those nodes that reads like a feature and plays like a preview. Worth keeping an eye on - if the pack wires per-tile conditioning into the upscaler, this becomes the regional-prompt answer for VACE video upscaling. For now, it's a promise with a working encoder attached.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | The CLIP model used for encoding the text. | |
| prompt_list | STRING | — | |
| croparea_list | LIST | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| croparea_list | LIST | — |